From RepRap
Jump to: navigation, search
Crystal Clear action run.png

Release status: working

Run your Sanguinololu from a SD Card!
CAD Models
External Link


SDSL is an SPI-based micro sd card reader for Sanguinololu. It includes level shifters and a voltage regulator. You load the gcode file onto the SD card, start the print and then you can disconnect your PC. You will require firmware and software that can handle printing from SD for example Sprinter and Pronterface.

The SDSL is similar to SDRamps, however the pin out for the ramps is different. It would be possible to connect the pins from one to the other using wires but it would be better to get a SDRamps directly!

SDSL addon, both sides.


  • Some larger SD cards, including Kingston brand SD cards over 8GB do not work as they do not support SPI. SPI is a requirement for SDSC cards, but is an optional feature for larger SDHC cards.

Ensure your micro SD card is formatted with fat16 or fat32.

Where to get it?

List of suppliers: or


The SDSL must be mounted in the location shown in the picture below.

SDSL mount.jpg

The reset jumper ringed in the picture below must be removed in order for you to disconnect your laptop/PC and continue printing. If the jumper is not removed then the Sanguinololu will reset when the USB is disconnected. (note the ATMEGA has been removed in this picture to more easily show the location of the reset jumper)

alt SDSL card mounted on a Sanguinololu board. Highlighted is the jumper that needs to be open in order for the Sanguinololu not to reset when the USB is disconnected. The ATMEGA chip is removed in this picture inorder to clearly show the reset jumper.

Using the SDSL

This guide is based around using the SDSL with Sprinter firmware and Pronterface software. It will work with other firmware and software that support SD cards.

Firmware Setup

Ensure you have the latest Sprinter firmware. Open it in your Arduino IDE, go to configuration.h and check the following lines:

  1. define MOTHERBOARD 62
  2. define SDSUPPORT

Then compile and upload the firmware.


You can then test the setup from the Arduino IDE serial monitor or Pronterface.

With the power off, plug the SDSL into the Sanguinololu. Put a file on the SDSL card using your card reader/card slot on your PC then plug it into the SDSL. Plug in USB to your Sanguinololu and connect using the Arduino IDE serial Monitor or Pronterface.

Enter the GCode M21 (init SD Card). It should return ok. Enter the GCode M20 (list files). It should return the contents of the SD card. Something like:

Begin file list


End file list


Where TEST.G was the test file copied to the card.

You can get a full list of the GCODEs relating to SD card GCodes#M20:_List_SD_card:


Use the “SD Upload” button in pronterface to upload a file from your PC to the SDcard. I find it quicker to load the prints using the card slot on my Laptop. The files should be in the 8.3 format (eg PRINT123.G)

Use the “SD Print” button to select a gcode file on the SD card to print. Once the print in under way you can then disconnect your laptop from the USB and it will continue printing.


The SDSL design files are available on Kliment's: web pages.

A screen shot of the schematic

SDSL schematic.jpg