Bluetooth Keyboard Module, Part 1
Adam and Matthew (Wayne and Layne) went to the same college and shared a dorm room for the first two years before moving off campus. During the first year, we had a Gauntlet arcade cabinet in our dorm room that we modded pretty heavily. We completely redid the control panel, adding cup holders and a bunch more buttons. We put a linux PC and modern display inside and played classic video games on emulators. Combined with a custom game launcher Matthew wrote, it was a great hit, especially with the RAs. There’s nothing like keeping your door open after quiet hours because your RA is too wrapped up trying to beat the original Legend of Zelda.
The original control panel had leaf-style switch contacts, meaning that two flexible pieces of metal would be pressed together when a button was pushed or joystick moved. This was sloppy and starting to wear out, so we designed a new control panel that would use microswitch buttons and joysticks. The new control panel worked like a charm, and gave us many hours of Tetris, Zelda, and Super Mario Brothers.
Unfortunately, like all good things, the Gauntlet arcade machine had to come to an end. We had to get rid of the cabinet and sold it to a collector for restoration. We saved the custom built control panel for a future project, with a vague idea of building it into a coffee table to play games on the television.
The first step of this vague plan is to connect the buttons and joysticks to a computer. Ideally, it would be a wireless connection between the coffee table, maybe Bluetooth?
We discovered that a guy named Russ Nelson has been working on building a portable chorded keyboard using a bluetooth connection. He’s selling a bluetooth keyboard controller, the Blue Packet BP20422, based on the Broadcom BCM2042 chip. This would be perfect for connecting a bunch of arcade buttons and joysticks to a home theater PC.
I purchased one of these modules and started building a breakout board for the funny 0.5mm pitch surface mount connections. The original breakout board is shown in the image at right. It just connected all the pins to a larger double row of standard 0.1″ pins. I was able to get the module powered and connected to my computer, but it wasn’t convenient to add other buttons or mount it to the control panel.
I created a custom PCB as an upgrade to the breakout board, that would include the handful of passive components required. I just got the PCBs back last week and finished soldering in the components and screw-down terminals. It’s powered by a pair of AA batteries, and handles its own power regulation.
Using the keyboard matrix, I added wires and buttons to allow me to type in numbers. The bluetooth module does an excellent job of button debounce, and basically handles everything for you.
I was even able to get it to pair up with my computer. Using the built-in Ubuntu bluetooth preferences window, I was able to identify the unit and check the “MAC Address” against the sticker on top of the chip. It then asks you to type in a numeric code and press enter, which I was able to do by pressing together the proper wires.
What do you think? Would anyone be interested in purchasing a kit to connect any buttons or switches into a wireless bluetooth keyboard? Leave a comment below or Contact us.
Design files: Here are the design files (both gerbers and Kicad files) for this breakout board. The only parts that might be trickier to source are the 6 mm pushbutton switch, the 22 uF capacitor, and the 68 uF electrolytic capacitors.