Sprache ändern

Recently visited

Featured Projects

Web Applications


Other Projects


A mod to make a Nintendo DS play on its own

Apr 2015

Update 16. April 2020: I am looking to sell the Nintendo DS featured in this project, along with all the games I have. If you are interested, please reach me at contact@andrewdelay.com

After my early teenage years playing lots of Pokémon and Age Of Empires, my Nintendo DS has mostly been laying around in the closet serving no use. But with the advent of my modding/hacking passion, I've decided to tinker around with this relatively old console.
So I soldered wires to all the buttons (while making sure you could still play the DS normally) and ran the connections to a female header row.

I used enamel wire in sizes AWG 24 (for the signal wires) and AWG 20 (for the power wires).
The finished Nintendo DS; the mod is hardly noticeable.

An external shift register circuit connects to the header row. In the shift register circuit, two daisy-chained 74HC595 ICs provide 16 controllable output pins. These connect to the bases of NPN transistors, which pull the line to ground.
In the Nintendo DS, a voltage of 1.8V is applied to each button, and when you physically press it, the 1.8 volts are pulled to ground.
Thus, the shift register circuit imitates a physical button-press and allows you to play the console using a microcontroller.

The external circuit connected to the DS.
I used the Arduino UNO because its programming is simple and quick.

The mod enabled me to write a program that lets you breed Pokémon and level them up in the daycare.
I also wrote a program which presses random buttons. I compared its results to the advances made in "Twitch plays Pokémon" (where Twitch users collectively play Pokémon, at one point 50.000 players at once). My random-play program did much worse, the character not leaving its home town until after 72 hours of continuous play.
This shows that 50.000 users giving button commands at once still achieve more than randomly pressing buttons!