Theatrical lighting usually runs with the help of DMX, a protocol that’s basically MIDI for lights; small, lightweight, ancient, and able to run on the lowest spec computers imaginable. For his Hackaday Prize entry, [Alex] figured a regular ‘ol graphing calculator was sufficient to run a complete DMX controller, and with the help of an Arduino, figured out a way to do it.
The hardware for the system consists of a TI-84 graphing calculator, a few bits and bobs in the way of components, and an Arduino Pro Mini powered from the USB port on the calculator. The Arduino handles the transmitting of DMX packets at 250 kbaud using the DMXSimple library over a 5-pin XLR jack.
The software running on the calculator is where the novel part of the project begins. The software is designed to be extremely lightweight, sending packets to the Arduino using the 2-wire link cable. DMX Commands are wrapped up and transferred using the TI-83/84 link protocol, decoded on the Arduino, and sent out to the lighting rig.
While this probably won’t replace the multi-thousand dollar lighting consoles found in theatres, it’s still a very handy and portable tool for debugging lights. It’s also [Alex]’s My First Electronics Project™, and a pretty good one at that.
The project featured in this post is an entry in The Hackaday Prize. Build something awesome and win a trip to space or hundreds of other prizes.
5 thoughts on “THP Entry: A Theatrical Lighting Controller Powered By A Calculator”
>a regular ‘ol graphing calculator was sufficient to run a complete DMX controller
why didn’t he build it, then?
AFAIK a “complete controller” means it doesn’t need another microcontroller.
Technically speaking, the calculator could handle it alone. The very first code I wrote for the project was a DMX driver in Z80 assembly. The issue was twofold: first, that it used nearly 50% of the processing power just transmitting DMX, even at a reduced frame rate and number of channels; second, the calculators have such variable processor speeds that the careful timing required would be wrong on many calculators.
That’s why I offloaded it to an Arduino.
There is a DMX library for arduino, no figuring out required.
This is a polished build and I appreciate the reuse of the calculator (which has no purpose after high school). I am sure he put a lot of thought into this project. In this case the person is more inspiring than the project.
I nor any other reasonable person would not purchase a $100 graphing calculator to have a mediocre front end to DMX.
Since I have seen this system first hand at the University of Illinois Engineering Open House, I can say that it is a viable method of controlling a DMX theater light system. According to the developer, he was inspired to design and build it while still in high school. He did all the theater light programming in the evenings and disliked being tied to the control booth to do it. A graphing calculator was the one tool that he had with him during class time and teachers were none the wiser to what he was programming. They can’t take your calculator away from you in school but they can restrict access to everything else. After figuring out how to write the code for his calculator all he needed was to design and build the arduino interface. He had a complete theater quality lightshow going for the open house and had one of the few individual projects displayed. A very nice job for a 17 or 18 year old using what he had available to make his life easier.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)