This summer, I had the pleasure of working again with the great team at Square Design here in Brooklyn. For our last project, we built an LED Mirror for their annual holiday party. Our goal this time: build a giant robotic version of a Gogo Squeez snack pack – the Goodness Machine – for use at marketing events.
The designers envisioned that a kid could walk up to the Goodness Machine and press a button. This would prompt some LED lights to flash and a propeller on top of the snack pack to spin; simultaneously, a visible and audible countdown would commence. During the countdown sequence, the LEDs would flash and and the propeller would spin with increasing frequency. Finally, at T-minus zero, a snack pack would be launched into the air, accompanied by a carbon dioxide puff, and descend gently via a parachute.
Oh, and this entire process would be recorded to video and uploaded to Gogo’s promotional website.
The only way to make this happen involved breaking down the design into different components that could be assembled and tested separately, then brought together for final integration into the Goodness Machine.
These were assembled and programmed by the wonderful Hugues Bruyère of Smallfly and Dpt. in Montreal. Hughes used a Mac Pro to control the video screen, the speakers, and the several cameras used to record and upload video to Gogo’s marketing website.
The launcher was fabricated at a separate facility by Stuart Heys, formerly a mechanical engineer for NASA and a great roboticist. Stuart used an Arduino to control a carousel holding the “payloads” – Gogo Squeez packs attached to parachutes – and the launcher itself.
The LEDs and associated control electronics were assembled and programmed at Square Design. The design called for a USB-to-DMX interface and a DMX controller to drive the LEDs, which in turn would be controlled by a Raspberry Pi. For those who aren’t familiar, DMX is a standard for digital communication that is commonly used in theater and music. Conveniently enough, DMX runs over XLR cables, which are often installed in venues equipped for live entertainment.
The CO2 system was assembled by a subcontractor and integrated at Square Design. This consisted of a Club Cannon and a DMX interface, permitting integration with the same DMX controller used for the LEDs.
The main body of the snack pack and the propeller were designed and fabricated at Square Design by a team led by Eugene Cunningham and Ian Carmany. The propeller’s motor, controls, and power supplies were assembled and programmed on a parallel track at Square Design. An Arduino served as the propeller’s controller; this also was connected to the same Raspberry Pi as the DMX system for the LEDs and CO2.
A single Raspberry Pi coordinated many of the systems described above. The RPi interfaced with the DMX controller for the LEDs and CO2 over USB via the Open Lighting Architecture (OLA). OLA requires a sufficient number of additional packages that it compiles quite slowly on the RPi; therefore, a specialized distribution exists to provide a less painful path to DMX integration. (Note that if you want to play with OLA on a Mac, just use
brew install ola.)
The same RPi also signaled the propeller controller Arduino, which in turn also communicated with the launcher Arduino. One might ask why the Raspberry Pi was not connected directly to the launcher over USB. Given the short time frame and the fact that the launcher Arduino was programmed at another facility, it turned out to be simpler to pick an I/O line on the launcher Arduino and signal launch by setting it high for a few milliseconds. Because the Rpi uses 3.3V for digital I/O and the Arduino uses 5V I/O, it was also easier to signal the launcher via the propeller Arduino.
Finally, the RPi had to integrate with the the audio and video system’s Mac Pro. We initally attempted this over USB, which required using the USB serial interface on the RPi. (The main USB lines on the RPi are part of a USB host, and therefore do not cause the RPi appear as as a USB device when connected to another USB host like the Mac Pro.) However, it turned out that there’s a known bug with the RPi USB serial interface that often inserts spurious characters into the line during initial communications. Therefore, we switched to a more manual system – the same manual switch that starts the RPi sequence also started the Mac Book countdown. This worked well enough within the appropriate tolerances – i.e., that kids enjoy the show!
Official videos of the machine in action are available here here.
LED controller development and test
Snack pack frame and front body initial assembly
LED, CO2, and propeller controller electronics testing
Ian, Eugene and Stuart prepare the machine for testing
Test run outside Square Design
The Goodness Machine in action in Madison Square Park!