Half a decade ago, my brother-in-law Luc create a music-related quiz game for the family Christmas parties. He used an electronic drum kit for people to bang on when they wanted to answer, which definitely made the game frantic, but sometimes gave rise to disputes over who had been the first to punish their drum pad - we had to rely on the game master's ears to judge when team's audio sample had been heard first.
This was great fun, and the year after, my girlfriend and I were inspired to make our own version of the game. I had a small python script running on my laptop driving the music samples, and we still used the drumpad scheme. Much mirth ensued, and a few late-night conversations occurred about how we could cheaply make our own buzzers. It sort of never went anywhere, though, and the project remained on my idea list for a few more years.
Last Christmas, however, I had a few free moments and I decided to overhaul our setup. First off, I rewrote the python script as a quick-and-dirty but somewhat more robust C# app with a little GUI and an embedded WMP control to control media playback. Then, I went to the dollar store, grabbed a few colorful glasses, a few wooden paint agitators, sacrified a dish sponge to the altar of upcycling (I hated that sponge anyway, it now has a much better purpose) and went to town making the buzzers. Using a bit of aluminum tape, a few spare LEDs and an RBBB Arduino on a breadboard, I connected everything up to the PC. The C# app talks to a tiny runtime on the Arduino to control LEDs and receive button press events. Here is a short video of the final product:
And here are a few construction snapshots:
Starting to tinker. I knew I wouldn't use the yellow cups in the end so I used them as first-pass prototypes.
Adding the bottom contact to the inner cup. Much too small in retrospect.
Adding the top contact inside a hollowed-out sponge segment. Also much too small.
Carving out a larger cavity in the next sponge.
Adding tape to the cavity.
Running the contact lead through the side of the sponge and taping it to the main contact tape.
Adding a pair of cut-to-size paint agitators to increase the amount of space between the two cups. Without this, when the top cup is slammed down hard enough, the cups stay stuck together.
Adding tape to create the contact on the bottom cup.
Adding the contact lead and running the lead through a hole in the cup. The lead is taped to one side because the layer of glue on the underside of the little piece of aluminum tape which holds the lead down actually isolates the top layer of the little piece of tape from the large contact area. When the lead is taped in the middle, the little piece of tape acts as insulation, and it makes contact flaky. This way, there is a large surface with which the tape in the sponge can make contact.
The insides of the final buzzer contact assembly.
Adding a few components on the inside - an LED to light up the cup, current-limiting resistors, a break out of the 4-lead telephone wire. As you can tell this is a highly professional-looking job, with everything just twisted together and then taped in two minutes. Time ran short!
Assembling the final buzzer. You can see the RBBB Arduino in the background.
Adding the second cup.
The red twin.
Inside the red buzzer, with the LED lit up.
C# app frontend. The score form can be sent to a secondary display and maximized without borders, to give teams feedback on their current situation.
The final party setting, with score display on a secondary monitor.