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:
Click to watch the video |
DMX channel | Function |
34 | Brightness (0=off; 1-255=darkest-brightest) |
35 | Auto-animate (1-255=lowest-highest=tt; 0=off, use ch36-45) |
36 | Column 1 height |
37 | Column 2 height |
38 | Column 3 height |
39 | Column 4 height |
40 | Column 5 height |
41 | Column 6 height |
42 | Column 7 height |
43 | Column 8 height |
44 | Column 9 height |
45 | Column 10 height |
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.
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.
Requires esp_dmx library v4.0.1 or later.
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:
SID | LED-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.