You are here: Home Homebrew NDS
Log in

Forgot your password?


HOWTO - Development toolkits for Nintendo DS devices


We claim freedom to re-use devices found around as a human right of self determination in building spontaneous communication architectures - see also the mission statement.

The NintendoDS is a game console device, as such marketed on large scale at relatively low prices (150EU a new one in 2007). It is predictable that a 2nd hand market will develop in the upcoming years and such devices be used to develop autonomous local communication networks.

The NDS device sports 2 lcd screens of which one is a touchscreen, a microphone and wifi connectivity. The ARM architecture and toolchains currently available offer a degree of compatibility and portability for homebrew applications developed on this platform.

Running homebrew

Running programs on the NDS is restricted: only executables signed by Nintendo can be launched. Various hacks are available to mod the device and be able to run homebrew software as DSLinux. A good documentation on these hacks is available on the DSLinux wiki.

Depending from the model of your NDS, there are various adaptors that can fit the purpose of running your applications stored on a (micro/mini)SD card or similar mass storages. The cost of such an adaptor on the southern european market is currently at 30~40EU, various models are available for online order or in the closer tecno-bukaneer shop of your town :) a Revolution4 micro-sd adaptor fitting aderently into a NDS-lite was found for the purpose of these experimentations, in a little shop nearby the harbour of Pescara, sold for 34EU.

Two development approaches

To create homebrew software on the NDS were followed two possible approaches:
  1. create single applications, linking to C libraries for device functionalities.
  2. run the DSLinux (busybox+uClinux) system and write shell scripts
The first approach of creating single applications is recommended for multimedia applications, it requires knowledge of C language and can be an interesting testbed for making the first steps in developing medium size applications.

The second approach permits rapid development of applications interfacing with the typical gnu/linux/bsd command line tools and shell scripting.

Standalone multimedia application development in C

The DevKitPro website offers a ready toolchain to compile software that runs on the NDS portable device, see and their downloads section on sourceforge.

To quickly employ the toolkit on any PC and start coding, a dyne:bolic GNU/Linux liveCD module is available with the arm-eabi GNU C Compiler and libraries and headers of libnds, libfat, dswifi, SDL  and various SDL-libs.

Download the nds-crosscompile module from

Several compilable code examples are provided.

Scripting on DSLinux

By running DSLinux on your NDS device you'll be prompted with a shell and a virtual keyboard on the touchscreen. The internal shell interpreter can be expanded by with use of Awk and Sed. Basic wireless control is provided by the iwconfig and other iw* commands.


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: