Instructables

Connect NDSL with ARDUINO

Picture of Connect NDSL with ARDUINO
Nintendo DS has GBA bus, so I made it transmittable with ARDUINO.

What you can do with it :
transmit data between arduino and ndsl.
so, you can use your ndsl to arduino's wireless lan or arduino to your ndsl's digital IO port!


What you need:
Hardware :
NDSL GBA cart cover
nintendo Y driver (eventhough you don`t have, no problem!)
some wires (3 wires, enough! 4 wires GREAT)
cutter knife,
soldering iron,
solder,
ARDUINO
:) Nintendo DS Lite

Software:
devkitpro
libnds (for nintendo development)
arduino

How it works:
NDSL has GBA bus. It has /WR pin and External interrupt pin.
If you access gba bus, /WR will toggled, so I can use /WR to send data.
However, it lasts just 350us. It mean you cannot use this pin to digital I/O pin directly.
So I mimic NEC REMOTE CONTROLLER protocol(TV, VIDEO etc...)
External interrupt pin is used to receive data, /WR pin is used to send data.
ARDUINO works exactly same way.


these are my youtube video.

http://www.youtube.com/watch?v=CnBe5NonHLA
http://www.youtube.com/watch?v=B3aEGCiGEaA
http://www.youtube.com/watch?v=BddcjIB_sPQ

What's new? What's GOOD:
You can use your slot1 device already you have.
In addition to, If you have arduino already, making your own gba connector is cheaper than buy another transmittable slot1 or slot2 device.

DISCLAIMER
DO NOT ACROSS GND VCC WIRES!
>>If you did it already, your ndsl's fuse was blown.
>>Google it "ndsl fuse blown"


Let's start!

 
Remove these adsRemove these ads by Signing Up
please, can you explain me how I use the ndsl library? I didn't understand this: "For NDSL
-test homebrew
complie it. If you press UP key, it will send Data.
Receive data will automatically triggered by ARDUINO.

- make your own program
copy include directory and source directory to your project's main directory.
(in other words, make include directory, copy header file. then copy cpp file to your source directory.)

include ds2arduino.h file
initialize with ndslArduino.initialize();
send data with ndslArduino.sendData(DATA WHAT YOU WANT TO SEND);
get data with ndslArduino.getData();

sendData can transmit 32bit once.
getData will return uint32 value."

mlucas7194 years ago
32th?
you mean 32nd right?

Very nice hack :)
Hounjini (author)  mlucas7194 years ago
yes, That's right.
What a shame...
I'm going to study English...
:-(
does this work on the original DS too?
vIIiRuS3 years ago
This may be a stupid question.. but do you need some kind of homebrew card to get this work? Or am I just missing something?
noobduino3 years ago
could u do this with a regular ndsl cartredge to maby duble controle a ndsl with 2 arduinos or to use a ndsi ndsi xl or a n3ds
will this work as a homebrew card like a r4 or similar and will it work with a regular gba?
Hounjini (author)  survivorwolf3 years ago
Notice
you can not use nds source code directly to gba
Hounjini (author)  survivorwolf3 years ago
1. This is communication interface. Doesn't have memory or data store function, so you cannot use this as a 4r.

2. I didn't try this with regular gba, but NDLS's gba port is exactly same with gba's one. Probably, Yes you can.
sburlappp4 years ago
So, who'll be the first to build an Arduino Pro Mini 3.3v into an old GBA cartridge?  :)

Hmmm... good idea lol
OMG that is a GREAT idea!!!!!!!!!!!
 Nice, very nice, but what exactly can this accomplish?
Hounjini (author)  Soopah Steve4 years ago
I just show how to connect DS and Arduino.
The application is up to you : )