Earlier this year I did a couple projects for my friends at Virsix and Two Bit Circus. I really enjoy working with the creative minds of Eric Gradman and Dan Busby who I met when we were working on projects like Glow at Syyn Labs. For the first project, I constructed various hardware sensors for physical games (including a laser maze) that were installed in Great Wolf Lodge.
The second project was a set of geared button walls. We had a collection of big palm-sized push buttons and Dan decided to arrange them on giant meshed gears. Eric designed a board for the Raspberry Pi to do all of the control. It used transistor arrays to switch the button LEDs on and off and an I/O expander with keypad monitoring to pick up the button presses. My major job was figuring out how to turn three concentric rings of 9, 9, and 3 buttons into a 3×7 matrix of buttons. While it took a bit of work I was able to turn in completed units that weren’t a complete rat’s nest of wires… and by the fourth gear they actually started to look pretty good too. At least they always worked on the first try.
What really saved the wiring on this project was Eric’s calibration routine. Instead of me having to keep track of what lights were plugged into which terminals, everything was configured after it was wired. The program would light up one button at a time, you press the button, and the program then has a map of which light goes with which button.
Other features of the button wall I enjoy are that they’re powered through a slip ring and the two Raspberry Pis communicate wirelessly. The game is also headless, it’s activated by a user hitting a webpage with their smartphone and then scoring is done live on the phone.
The game is a head to head competition. Two random buttons on each gear are lit and the player has to press them simultaneously to advance to the next set of buttons. Eventually, more active buttons are added to increase the difficulty. The gears spin so players can rotate the play field to their advantage while interrupting the other player. You can see a video of it being played below and Dan has a more detailed post about the construction.