This repository holds a firmware for CircuitSetup's Flux Capacitor which allows to control each element of the Flux capacitor through DMX. It is designed to work using the Sparkfun LED-to-DMX shield. (DMX control is also available for Time Circuits Display and SID)
DMX channel | Function |
47 | Master brightness (0-255) (scales down channels 2+3; chase lights off when master brightness is 0) |
48 | Center LED (0-255) (0=off, 255=brightest) |
49 | Box LEDs (0-255) (0=off, 255=brightest) |
50 | Auto Chase (1=slowest, 255=fastest; 0=disabled, use ch51-ch56) |
51 | Chase LED 1 (outer) (0-127=off, 128-255=on) |
52 | Chase LED 2 |
53 | Chase LED 3 |
54 | Chase LED 4 |
55 | Chase LED 5 |
56 | Chase LED 6 (inner) |
The DMX protocol uses no checksums. Therefore, transmission errors cannot be detected. Typically, such errors manifest themselves in flicker or flashing center or box lights. Since the Flux Capacitor 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 fc_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 "fcfw.bin") to a FAT32 formatted SD card, insert this card into the FC, and power up. The FC's IR feedback LED (little red light near the bright Center LED) will light up while the FC updates its firmware. Afterwards it will reboot.
Requires esp_dmx library v4.0.1 or later.
FC | LED-to-DMX shield |
TT IN (IO13) | J1 P14 |
IO14 | J1 P15 |
Chase Speed D (IO32) | J1 P16 |
3V3 | J1 P2 |
5V/GND from Chase Speed terminal | J12 |