PlayStation & Dreamcast USB Gamepads

I have been playing around with these video game controllers and just couldn't stop at turning them into radio transmitters. I wanted to make something slightly more practical (also I bought a pair of PlayStation and Dreamcast connectors and would prefer to give them something socially responsible to do).

I landed on the idea of making each controller an interface so they can be recognized as USB HID (Human Interface Device) gamepads so they could be used on modern systems. This recycles old hardware that is perfectly fine and has a cool retro feel. To complete this task, I knew I would want the USB hardware inside of the ATmega32U4. I had experience using this microcontroller when I made the Flutter device and was familiar with the LUFA USB device development framework, so I knew that the code would roll over with relative ease.

I made a prototype with an Arduino Pro Micro and reused the controller code from the radio transmitter I had made, and things went with no major hitches. Wonderful! It felt good to reuse old code and it worked (ironically to reuse old video game controllers).

With the code and prototype working, I made a PCB in Autodesk EAGLE CAD as per usual. I gave a board a shape that mostly accommodates the awkward width of the PlayStation connector then tapers off to a width just enough for two 3M screws and a USB-C connector. I went with USB-C because devices and increasingly switching to only use this connector, plus I really like it. Mechanically the connectors are only slightly worse than the blocky USB B connector and is lightyears ahead of the Micro and Mini USB B connectors. Plus being able to plug it in via any direction is convenient.

I also built some enclosures for the PCBs in Fusion 360. I am a big fan of the direct export feature from EAGLE to Fusion 360. With that viola! A clean, practical, recycled electronics effort. I am keeping the PlayStation HID for myself (haha) but the Dreamcast controller I used for testing belongs to my housemate Ethan. Plus, his birthday was coming up so I gifted him the Dreamcast HID and made it so the VMU (virtual memory unit) LCD would display the logo of his electronics music persona; Mannequin! (also not before flashing the Swallowtail Electronics Logo on boot hehe).

As per usual the GitHub with the code and Thingiverse link with the enclosure are available now!

Project Links

Article last edited: August 2021