Lighting controller software and hardware in 3 days
(aka DMX for under $50)
Download: light8-1.0.tgz
Terms: No warranty, GPL, etc.
I started on a README, but it's incomplete. Email us if you have questions.
(dmcc and drewp at bigasterisk.com)
Photo album from 6/17 performance
(images captured from DV with dvgrab (and dv2jpg and lavtrans);
some brightnened with gimp; thumbnail page was created with a single line of zsh:
for x (*) { convert -geometry 150x150 $x thumb$x; echo "<a href=$x><img src=thumb$x></a>" >> index.html }
)
Timeline
2002-06-10 night build the "No-Parts" Pic Programmer (NOPPP)
2002-06-14 night build the circuit at http://users.skynet.be/kristofnys/.
The circuit includes the PIC that was programmed by the NOPPP.
2002-06-14 20:07 circuit's still not right - write to Robin for help
2002-06-14 22:46 fixed the circuit
2002-06-15 22:55 fixed the device driver timing
2002-06-15 01:20-07:14 sleep
2002-06-15 08:30-23:00 develop software at the theater during 2 consecutive show rehearsals
2002-06-16 00:47 successfully patched the PIC code to gain 4 more DMX channels
2002-06-16 00:48-07:15 sleep
2002-06-16 08:30-19:29 develop software at the theater during 2 more rehearsals
2002-06-16-11:45 first revision using zsh revision control software:
#!/bin/zsh
cd ~dmcc/light9
DIR=backups/`date +%Y%m%d%H%M%S`
mkdir -p $DIR
cp *.py $DIR
This program was run every 5 minutes as a cronjob, providing us with 197 snapshots of light9.
2002-06-16 19:30-22:00 run show. this was drew's first experience with the crossfader, but it turned out to work bug-free.
2002-06-17 15:30-19:29 more software features and effect code
2002-06-17 19:30 (approx) performance starts
2002-06-17 19:35 edit a new feature (map currently lit lights to an axis of the crossfader), restart code mid-show
Some features of the code
- reload patching (mapping of sliders to dimmers), submaster, and effect data and code on the fly
- named submasters can be static cues or dynamic effects (via Python generators)
- assign any submasters to X/Y axes and then use the mouse to adjust two groups of subs at once
- mouse shortcuts to raise levels to 0/full (3rd mouse button toggles)
- color-codable subs
- DMX channels can be named with multiple aliases
- if the code quits (even with SIGINT), it writes the current state so no lights will change upon restart
- dummy (no output) mode for debugging; dummy mode has its own config and restore files
- built in less than 2 days
Screenshots and Offscreenshots
Screenshot of show control software:

(window titles say 'Bogus' because this I ran the program in a debug/no-DMX-output mode to take the screenshot)