This Custom Raspberry Pi Pico Controller Was Built for Playing Pop’n Music Games on Dreamcast
Charcole used a Raspberry Pi Pico to build a custom Dreamcast controller specifically for Pop’n Music.
The Guitar Hero franchise was largely responsible for launching music and rhythm games into stratospheric popularity, but there were certainly music video games before it came along. One of the earlier music games in the genre was Pop’n Music, which was developed by Konami. Pop’n Music games were very popular in Japan, but weren’t very well known in the United States. The Sega Dreamcast did get a Pop’n Music release, which means you can play it if you still have that classic console. But gameplay isn’t very satisfying on a standard controller, which is why Charcole used a Raspberry Pi Pico to build a custom Dreamcast controller specifically for Pop’n Music.
The Dreamcast had a 32-bit processor with a clock speed of 200 MHz, which wasn’t even particularly competitive for video game consoles at the time — the PlayStation 2, GameCube, and Xbox all had faster processors. But the controller bus is still quite speedy, which makes it difficult to build a custom controller using most microcontrollers. Fortunately, the Raspberry Pi Pico’s RP2040 microcontroller has fantastic performance. Even more importantly, it has programmable I/O (PIO) pins that can be controlled independently of the main processor threads. The Maple bus, which the Dreamcast uses for the controllers, has a pretty strange communication protocol, and the Pico’s PIO pins proved to be invaluable to interfacing with that protocol.
Charcole designed the enclosure for their controller in Autodesk Fusion 360 and constructed it using sheets of laser-cut MDF and acrylic. The graphics were printed on paper and overlaid on the top side. The buttons that are so important to Pop’n Music gameplay are generic 100mm arcade buttons. PWM is used to control the LED effects. The Raspberry Pi Pico is programmed to constantly monitor for button presses and releases. At regular intervals, it sends a data packet to the Dreamcast that contains the state of every button. The Maple bus is a two-wire protocol, but the clock signal switches back and forth between the wires. That required some clever PIO programming on Charcole’s part, but eventually they were able to get it working. PIO is one of the Raspberry Pi Pico’s most unique features, and it is doubtful that Charcole would have been able to achieve the same results using other microcontroller development boards. Now Charcole has a fantastic looking controller that is perfect for playing Pop’N Music.
Writer for Hackster News. Proud husband and dog dad. Maker and serial hobbyist. Check out my YouTube channel: Serial Hobbyism