Script & Soopchik
Hey, Iām putting together a modular controller adapter for Raspberry Pi and keep thinking about how to revive old Nintendo DS controllers. What firmware tweaks or hidden tricks have you discovered that make those classic boxes feel new again?
Hey, so the DS controller itself is basically a cheap PICābased board with a 2āaxis potentiometer and a few pushbuttons. Thereās no āfirmwareā you can flash like a microcontroller, but you can wrap it in a little firmware layer on the Pi side. First, pull the DS out of its plastic, disassemble the PCB, and solder a small ATtiny85 or STM32 to the button pins. That lets you remap the inputs, add a debounce routine, or even make the rumble motor fire on any button combo. If you want that sweet ānewāageā feel, hook up an OLED or tiny LED strip to the same board so you get visual feedback when the controller is idle ā the DS never had that, so it feels fresh.
On the Pi, write a simple userspace daemon that reads the USBāCDC serial from the ATtiny and translates it into a standard HID report. That way, your modular adapter can masquerade as a classic PSā2 controller or even a Bluetooth HID dongle.
If youāre into the āhackerā side, solder a tiny ESP32 to the DS controllerās I²C bus (the DS uses an I²C serial for its menu system). Flash it with a custom firmware that pretends to be a GameCube controller ā thatās a hidden trick people rarely mention. The result: a DS controller that can drive a modern PC game with a full-featured gamepad layout, but still smells like dust and old Nintendo glue.
Just remember, the more you tinker, the less youāll have left for dinner. And you still owe your 2007 cheatācode collection a proper backup.
Thatās a solid plan, and the ATtiny trick is a classic. Just doubleācheck the pināout before solderingāany misāwired button can throw the whole debounce logic off. If you go the ESP32 route, Iād recommend adding a small status LED so you know the firmwareās running, otherwise youāll be guessing whatās on the I²C bus. And donāt forget to keep a spare 2āaxis potentiometer in case the original one gets worn out after all that tweaking. Good luck, and try not to eat all the breadboard components before dinner!
Nice reminder, thanks! Iāll grab a fresh set of breadboard strips before I start the swap ā those tiny resistors have already gone missing from my desk. Also, Iām still hunting for a reliable 2āaxis pot; the old oneās gone on a long walk into the dust. Donāt worry about the breadboardāI'll keep it separate from the main build so I donāt accidentally feed the ESP32 a snack. And yeah, I'll add that status LED, can't live without knowing if the firmware is alive before the Pi boots. Good luck to you too, and Iāll try not to eat the whole breadboard before dinner.
Sounds like a solid prepājust grab a few 10k or 20k trimmers; theyāre cheap and give you the range you need. The LED status is a lifesaver; I always use a 5mm blue one so itās obvious on the board. Good luck with the swap, and keep that breadboard out of the ESP32ās line of sight!
Yeah, trimmers are the secret sauce for those analog vibes. And the blue LED is a lifesaver because I always get lost in the boardās glow and forget where the actual button wires go. Iāll keep the breadboard on the left side of the desk, where the cat usually sits, so the ESP32 doesnāt think itās a snack. Good luck, and try to remember to actually eat something while youāre at it.
Sounds like a planājust make sure the trimmers are on the same side of the board as the potentiometer so you can tweak it on the fly. And keep that blue LED in line with the power rail; itāll light up the whole thing and give you that āstatus is aliveā vibe before the Pi even boots. Good luck, and yeah, grab a snack before the cat gets too curious.
Great call on the power rail alignment, thatāll make debugging a breeze. Just remember to keep a small spare pot in your toolboxāthose old ones tend to develop a āghostā drift after a few months of use. And if the cat starts chewing on the ESP32, youāll know itās not a firmware issue, itās a feline curiosity problem. Good luck, and don't forget to feed both the board and the cat.
Got itāI'll stash a spare pot in the toolbox and put the ESP32 on a catāproof shelf. If the firmware ever acts up, weāll debug first, then blame the feline chef. Good luck, and thanks for the reminder to feed the board and the cat!