Breathe new life into your Duo Pop, an iOS peripheral device by the now defected Discovery Bay Games Inc., with the help of Adafruit's QT Py RP2040 dev board. Once upon a time, Duo Pop offered users a fun game show style experience. It consisted of four IR buzzers, one IR / Bluetooth control module, and a companion app on the iOS App Store. But, shortly after the company went defunct the App was removed from the store. This turned the Duo Pop into five paperweights until now!
Duo Pop Game System
The company, Discovery Bay Games, is closed. You can pick these up on Amazon and Walmart.com for about $14.
QT Py RP2040
This is an in expensive Adafruit dev board. You could use any Circuitpython compatible dev board. Pins would need to be changed in the code though.
430 or 470 ohm resistor
430 to 470 ohm resistor works fine with the LED.
Various lengths of wire
I used 22 AWG, solid core wire. Use what works best for you.
Sliding Switch - Single Pole Double Throw
Optional: If you want to use 3 AAA batteries. I pulled mine out of an old toy.
I wired up the Adafruit QT Py RP2040 and soldered all the connections. I decided to use the built-in battery compartment. I added a Single Pole Double Throw (SPDT) switch to help extend the battery life. The improved Duo Pop uses on average 30.01 mA.
I pulled my switch out of an old RC toy car. It is 5.5mm wide which is the exact same size as the space between the battery compartment shell and the outer wall. I used a hobby knife to cut a hole in the bottom of the base and the battery lid for the switch to stick out through. Both the base and battery lid have holes that lined up so I just cut away a little material to join two holes and enlarged as needed.
The improved Duo Pop can also be powered by the USB-C connection on the QT py. I cut a notch out of the lid and a hole in the transparent red collar to have access to it. I made the hole by melting a rough hole using my 3D pen's nozzle and then cutting away extra material as needed using a hobby knife.
I used my hobby knife to scrape off the word "POWER" on the side of the bottom cap and acetone to take off the logo on the lid. WARNING: The acetone will melt the plastic so move quickly.
I coded up a quick CircuitPython program and it works well. I used an Adafruit CLUE dev board with a pin breakout board attached. I like using this dev board because I don't have to use a REPL to see what is going on thanks to its built-in display. I recorded the process and may make a youtube video about it. So that everyone could see what the CLUE displayed, I did use the Mu REPL in the recordings. I encountered a few challenges and techniques for working with IR receivers, LEDs, and audio. They informed my design process and ultimately the current design of the new and improved Duo Pop. I updating the test code to the GitHub repository for this project.
I came across an old tutorial about the Duo Pop on the Adafruit website about a year ago. It used Duo Pop's original control board and a Pro Trinket 5V logic development board. Adafruit doesn't recommend makers purchase it for new projects and only have them available for maintaining old projects.
The project removed the functionality of the original speaker, LED, and switch. It did utilize the Pro Trinket's LED and acted as a USB keyboard.
I hope to use all the original hardware and to make it a stand-alone device. I will use the QT Py's NeoPixel to identify the order of the buzzer presses. The original piezo speaker and LED will be used to identify when an action has been completed, e.g. on buzzer press recorded, end of the round, and on reset. The button will be used to reset the round and on long-press toggle the speaker on and off.
I disassembled the Duo Pop. Following the traces on the controller board, I noticed that the pins between the IR receivers are connected. I replicated the traces with wires.
I looked up which resistor Adafruit recommends using with LEDs. They have an example with the QT Py RP2040 using 470 ohms. The closest I have is 430 ohms. It took me a bit to figure out the markings, K43 J∆, on the resistor. I got them in Russia and forgot to mark their bag. I had to look up what the tolerance, J, was. They are 430 ohms with a tolerance of ±5. My multi-meter says they are about 426 ohms. I replaced the LED- wire with the 430 ohms resistor.
Start by removing the screw that holds the battery cover on.
Remove the two screws under the battery cover.
Separate the lid, collar, and base plate from each other.
Unscrew the control board.
Desolder all the wires and the two IR receivers.
Desolder the wires from the control board or cut them close to the board and strip the ends.
Desolder the two black IR receivers on each end of the control board. The easiest way to desolder these is to use helping-hands/third-hand soldering station (see picture below). Put a blob of fresh solder on top of the pins and give it a second to heat all three soldered pins. Then gently pull on the bottom of the IR receiver. It will be hot so gently use a pair of pliers.
Prepare the LED- connection
Desolder the LED- wire off the extension board.
Solder your 430 or 470 ohm resistor in the wire's place.