Clever Use of an RJ45 Connector Gives This Arduino-Based MiSTer Controller Adapter Quick-Swap Powers
Initially built around an Arduino Yún before jumping to a smaller Arduino Pro Micro compatible, TerminusBandit's "Dumbbyte" is anything but.
Pseudonymous vintage gaming enthusiast "TerminusBandit" has turned a couple of spares-drawer Arduino-compatible microcontroller boards into interfaces for connecting original controller hardware to a MiSTer FPGA emulation machine — standardizing on an RJ45 connector to make swapping hardware as easy as possible.
"Several years ago, my sister gave me some Arduinos she had no need for. They sat, as I had no need for them either; I haven't programmed an Arduino in ages, and had no project in mind," TerminusBandit admits. "In the meantime, I heard more and more about FPGA emulators as an alternative to my [software-based] emulators. I ended up buying a MisterFPGA, and in looking up controller compatibility I learned about Daemonbite adaptors. I had an Arduino, and sure enough the Yún was compatible."
The Daemonbite adapters are designed to turn an Arduino into a converter that accepts vintage gaming controllers and translates their signals for use with a MiSTer FPGA-based emulation system or other USB-compatible device. That's not all you can do, of course: "But while looking into that," TerminusBandit explains, "I learned that you could also use the Arduino to emulate other things; specifically lightguns and Nintendo 64 [and] GameCube controllers."
Having the ability to chop and change between multiple input devices would be handy, but there's one problem: they all use different connectors. TerminusBandit's solution is simple: picking up some low-cost extension cables for each controller type and terminating the far end with an RJ45 plug. A matching socket wired to the Arduino Yún means provides a quick-swap system for any wired controller. A later revision tidied things up by placing the hardware on a small prototyping board, with an Arduino Pro Micro compatible as the driving force.
"The weak spot is that currently I need a computer to flash it," TerminusBandit admits of the project, dubbed the Dumbbyte. "While typing this, it occurred to me that MiSTer is running a Linux CLI [Command-Line Interface], so I should be able to install a compiler and write a script to program the Arduino without a computer. That is next step, I guess. Also, since CAT5 [RJ45] is only eight wires, I am unable to make adapters for controllers using more wires; so no Sega, which is one that I would want at some point."
More information is available in TerminusBandit's Reddit post.