Brady Williams PC Final
This entire project has been very rewarding, I started to learn about coding in Python, learned all about the Rasberry Pi, and learned about fabricating with acrylic and a laser cutter, all very valuable skills for what I am interested in. The hardest part of the entire process was certainly the fabrication, getting all of these somewhat consumer grade parts that were never meant to fit into a single enclosure to fit together was a task involving multiple enclosure iterations. I'm very excited to continue working on this product, and plan to rebuild it basically from the ground up, hopefully on the beaglebone black(like I had originally hoped) with a better screen, a custom coded dmx interface, and tighter, better designed code. Not to mention web interactivity!
Luckily the Beaglebone's IO connections are built on Node.JS which allows for very easy and strong web based interactions, and will allow me to learn a new, very valuable programming language.
So I've moved from the Beaglebone Black to a Raspberry Pi, an Adafruit LCD Shield and an ENTTEC USB DMX PRO.
I used Inventables Black Matte Acrylic for the enclosure.
The entirety of the code is written in python and can be found on my github.
For the first week or two I focused on understanding both the Raspbery Pi, the LCD and the basics of python. After I got that under my belt I started coding the basics of the DMX control as well as learning about OLA's API. I then worked on the code, implementing each of the functions, all the while refactoring and redesigning the way the code worked. Simultaneously I started meeting with Chris to help design the enclosure. I found a great box making website which helped me design the interlock, and then proceeded to cut out a test box out of cheapo acrylic. After adjusting things multiple times I finally cut the final enclosure out of the Black Matte Acrylic, wired up the buttons, and plugged everything in!
Can you further describe what it is you propose making?
A handheld device( ~6x4x2) that acts as a DMX “tester” as well as a small, portable, lighting control board.
What its application would be?
This device is used to troubleshoot complicated DMX setups. A typical light plot might incorporate a number of “smart” fixtures, each of which needs to receive a separate DMX signal, and a separate line. While DMX512 is standardized, it is a loose standard, and there is a lot of play in the standard, thus there is often a need to troubleshoot a specific unit independent of the rest of the ‘loop’. Solutions already exist for this problem, but they are relatively expensive, and not extendable. Lighting design is an inherently expensive business to be in, and the biggest opportunity to decrease these costs is on the control side, as the controllers are basically just a software package that sends out a specific bitstream of packets. There don’t currently exist any robust lighting control packages that don’t require a lighting console that costs thousands of dollars. Why not use a cheap microcomputer that can be networked to act as the DMX controller, it can be placed close to the lighting setup, and then controlled from anywhere that can be accessed by the same network. For this project I want to have the Beaglebone acting as a sufficient DMX tester, with a simple enclosure, screen, buttons etc so one could use it to test DMX setups, and then outside of class engineer the more complicated show control webapp.
Who would use it?
Theatrical Master Electricians and young lighting designers who don’t have access to large, expensive, boards. I see the principal market being the educational market.
What exists in the market already?
http://www.swisson.com/us-dmx-measurement-tool I will be effectively replicating the functionality of this product, and then adding a record,store,playback function and a web layer, but those plans are outside of the scope of this project.
What systems are you piggy-backing on and how do you propose doing that?
- Port Beaglebone-DMX to Beaglebone black
- add Receive DMX ability
- Design/Build UI elements
- Bring all pieces together, construct enclosure, test/debug
- If Time Allows Begin working on remote playback engine.