FlightGear, a piece of open source software built by dozens of contributors from across the world, strives for sophistication and accuracy like any simulator. It's aimed at academics and engineers who want to study airplane design or the physics of flight. And it's built for pilot training and hobbyist work, so it's configurable with hundreds of aircraft and scenery packs. As flexible as FlightGear is, its creators probably never imagined a group of high school kids would turn it into the beating heart of a cut-down Piper PA28 fuselage, or that said kids would captivate thousands of Maker Faire attendees by twisting, turning, and flipping that fuselage upside-down while piloting a Boeing 777 in FlightGear.
That's the beauty of open source: release something online for free, and there's a good chance someone will come along and do something completely unexpected and amazing with it. The Viper is just such a project: it's the culmination of over half a year's work by Team Viper, a group of teenagers in the Young Makers program who cut their teeth programming with fire in 2010 and 2011. Last year they built a project called Fire Jam that synced pyrotechnics with Rock Band. The year before they built a fire-breathing animatronic dragon.
The Viper makes those projects look like warm-up exercises. There's no fire this time around, but there is an airplane fuselage that can rotate 360 degrees on two axes inside a welded steel frame. Inside that fuselage sit three 22-inch Cinema Displays and a massive array of custom-built control panels including decorative iPhones, an iPad, and physical buttons that pipe commands into the FlightGear software.
Out of all the work poured into The Viper, the fusion of computer hardware and software that turns virtual flight into physical motion is the most impressive. Here's how the team did it.
Alex Jacobson, one of the members of Team Viper, walked me through the electrical and software design that links data from FlightGear to the motors powering the fuselage rotations. Ethernet cables make the magic happen--three separate Ethernet lines are responsible for making all the systems talk to one another. The team already had experience with Ethernet systems thanks to their previous projects, and Cat 5 cable is dirt cheap.
The flight system (which has its own computer and Arduino setup inside the fuselage) has to feed data to another computer, the operating console, which sits at the control station. That computer talks to another Arduino control panel, which relays positioning data to the two motors that move the Viper. Through that long sequence of data transfers, a pitch or roll in FlightGear becomes a real-life movement.
Alex mentioned that getting the computer and control panel to talk was a major challenge, since they had to relay data to the Arduino in Python. If the code wasn't relayed properly, the Arduino wouldn't be able to give the Viper body proper coordinates for movement. Just making the physical connection was another hurdle: since the fuselage can rotate 360 degrees, the team needed to install two slip rings that can rotate while maintaining a connection.
The Arduino control panel that doles out instructions to the motors is the coolest node in the elaborate electronics chain (and not just because it has a giant red abort button on it). Like the controls inside the fuselage, the control panel was handmade, its top laser-cut and its Arduino brain wired up to the buttons and switches that can remotely control the Viper. Worst case scenario: the big red killswitch is a necessary safety precaution for a flight gone bad. Best case scenario: using the manual dials to rob the Viper pilot of control, turn them upside-down, and let them hang for awhile.
Garage mischief was left behind once the Viper team made it to Maker Faire. The Viper flew (or, at least, spun) all weekend and wound up with seven editor's choice ribbons at the event. That was the culmination of 30 weeks of work, but it's not necessarily the end of the The Viper. After all, flying a Boeing 777 is a poor substitute for blasting Cylons in a real Viper. The team used CAD modeling to plan out their project before building. By this time next year, they may have taken the next step and modeled Vipers, Cylon Raiders and a Caprica cityscape to complete the Battlestar vision.