The good people of Tessel came to Hack Reactor last weekend for an alumni hackathon to the excitement of probably 50-60 newly converted hardware enthusiasts. Tessels are modular boards that run tiny node.js servers that are ridiculously easy to install and configure. Team Tesselcopter was inspired by a hobby purchase from Amazon Prime and ultimately ended up being controlled by separate accelerometer and climate modules where the signals are relayed via infrared.
The idea was originally conceived to be a control system based on muscular impulses through an EMG (electromyograph) and a transmission system where we reverse-engineered the entire manufacturer protocol for IR communication and wrote a full discrete API for the flight. After some good natured but complete failures, the final project ended up being a control system based on gesture and breath and relayed by recorded buffer streams. Who knew that EMGs don’t produce reliable signals or that decoding an IR protocol would take more than a single afternoon?
Our first success was mimicking the control signal for the speaker amplifier in the lounge, in the process both learning how to send “volume up” and “volume down” commands via Tessel-IR and annoying everyone in the room. Unfortunately the helicopter remote control protocol turned out to be more complicated, and even with several trips to the Radio Shack downstairs and the kind loan of a logic analyzer from one of the Tessel guys, we couldn’t decompose the raw signal quickly enough and had to resort to recording packets of known information and playing them back in a callback through the IR LED.
The copter only escaped once, hurtling towards the ceiling sprinkler system on maxForward and bouncing to crash land on the laptop of an innocent hacker from another team. With that demonstration the relay group was ready to merge the API in to the control team’s repo. It was only a matter of time before they were breathing hot breath on the humidity sensor to fly forward, and sucking cold air backwards over the humidity sensor to fly backwards. Please believe me when I say that repeated console logs of “RETREAT MY PRECIOUS” only get funnier.
In conclusion, our demo didn't technically work but everyone loved it regardless. The helicopter flew, that's all I'm saying. LATE EDIT: We won two Tessels! One for best node module and one for best writeup. Thanks @technicalmachines! Today was fantastic.
Team members: Kate Jenkins, Rohan Pethiyagoda, Mark Rossetti, Nick Vandewalle
PS. For a serious writeup with actual code, see the readme, including explanation of debouncing the gesture recognition on the accelerometer modules. For even more information and other examples see the projects website.