05/07 - libdsbrut-0.93 released
10/11 - libdsbrut-0.92 released
08/20 - libdsbrut-0.91 released, cartridges in stock again

a project by

Gordan Savicic Gottfried Haider

contact us

DS brut goes into Slot-1 of the Nintendo DS, like games normally would. That said, you'll preferably have a Slot-2 homebrew solution like a SuperCard with FlashMe firmware if you don't want to switch cartridges like mad.

pin description

The DS brut cartridge features one Atmega168 microcontroller running at 8MHz, same as your Arduino board. Its datasheet can be found here. This microcontroller is providing the communication with the Nindendo DS over the SPI protocol (CPOL=1, CPHA=1).

Using this cartridge you can do serial communication with the outer world over the RX/TX pins on TTL levels. A number of different baud rates are supported - see the library documentation for more details.

The six additional pins can be used as GPIO pins from the Nindendo DS, which means you can read and set their states high or low. Reading analog values on a 10-bit ADC works on pins PC5 and PC4. These two pins can also be used for controlling other devices on an I²C bus. Outputing PWM values works on pins PC3, PD6 and PD5. The API for these functions closely resembles those of the Arduino platform, so if you have some experience there you'll find it extremely easy to get started doing prototyping on the Nintendo DS.

The VCC pin provides a 3.3v supply voltage, which is also what the Atmega168 chip is running on. We haven't measured how much you can draw from Slot-1, but the maximum current per I/O pin is rated at 40mA.

Note: We also provide a cheaper version on the cartridge which makes only the RX/TX pins available - hence UART only.


Schematic DS brut (rev. a)

Schematic UART only (rev. a)

Note: The labels of the RX and TX pins are mixed up on the rev. a schematics.

Thanks to Stock for his invaluable help getting this project going!