Skip to content

DMX Firmware for CircuitSetup's SID kit, known from the Delorean Time Machine

Notifications You must be signed in to change notification settings

realA10001986/SID-DMX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Firmware for SID - DMX controlled

This repository holds a firmware for CircuitSetup's Status Indicator Display (SID) kit which allows control through DMX. It is designed to work using the Sparkfun LED-to-DMX shield. (DMX control is also available for Time Circuits Display and Flux Capacitor)

CircuitSetup's SID with this firmware was used in this musical:

Watch the video
Click to watch the video

DMX channels

DMX channelFunction
34Brightness (0=off; 1-255=darkest-brightest)
35Auto-animate (1-255=lowest-highest=tt; 0=off, use ch36-45)
36Column 1 height
37Column 2 height
38Column 3 height
39Column 4 height
40Column 5 height
41Column 6 height
42Column 7 height
43Column 8 height
44Column 9 height
45Column 10 height

Packet verification

The DMX protocol uses no checksums. Therefore, transmission errors cannot be detected. Typically, such errors manifest themselves in flicker or a corrupted display for short moments. Since the SID is no ordinary light fixture, this can be an issue.

In order to at least filter out grossly malformed/corrupt DMX data packets, the firmware supports a simple DMX packet verifier: For a DMX data packet to be considered valid, channel 46 must be at value 100. If a packet contains any other value for this channel, the packet is ignored.

To enable this filter, DMX_USE_VERIFY must be #defined in sid_global.h. This feature is disabled by default, because it hinders a global "black out". If your DMX controller can exclude channels from "black out" (or this function is not to be used), and you experience flicker, you can try to activate this packet verifier.

Firmware update

To update the firmware without Arduino IDE/PlatformIO, copy a pre-compiled binary (filename must be "sidfw.bin") to a FAT32 formatted SD card, insert this card into the SID, and power up. The SID will show an egg timer while it updates its firmware. Afterwards it will reboot.

Build information

Requires esp_dmx library v4.0.1 or later.

Hardware: Pin mapping

The SID control board has a row of solder pads next to the ESP32 dev board. All below pins are accessible on this row of solder pads:

The pin numbers listed below in SID column refer to above picture:

SIDLED-to-DMX shield
GPIO35 (pin 14) J1 P14
GPIO14 (pin 8) J1 P15
GPIO32 (pin 13) J1 P16
3V3 (pin 19) J1 P2
5V (pin 1) J12 +
GND (pin 6) J12 -

For some mysterious reason, the SID sometimes experiences transmission errors which go away when an SD card is in the SID's card slot.

About

DMX Firmware for CircuitSetup's SID kit, known from the Delorean Time Machine

Topics

Resources

Stars

Watchers

Forks