If you are getting SD Init fail errors or just erratic behavior with your printer’s SD slot the main reason for erratic or non-functional SD slots is due to debris and oxidation on contacts. We recommend cleaning the card pins and the slot. The slot is tricky to clean but we have our method outlined below. If cleaning fails you can also add one line to our firmware code to slow down the SD speed to make it more tolerant of issues.
Cleaning the SD card and Slot #
You will need IPA to clean the cards. You can also use rubbing alcohol for this.
Use a tissue or cloth to clean the contacts on the SD card after applying the alcohol to the tissue/cloth. Once you have that done, turn off the power to the printer (and unplug the USB). Then get the SD card very wet with the alcohol and then immediately insert it into the SD slot on the board.
Once the wet SD card is in the slot eject it and re-insert it 10-15 times. This will use the SD card with the alcohol to clean the contacts in the slot. After putting the card in and out of the slot 10-15 times remove the card from the slot and let the board sit for about 10 minutes to let the alcohol evaporate. Look around the slot to make sure all the alcohol is evaporated before powering up the machine. You can blow compressed air gently into the slot to make it evaporate quicker.
After that, power on the printer and try to use the SD slot.
Checking the SD Card #
If cleaning fails, make sure the SD card is formatted with the FAT or FAT32 file system and you are using an SD card that is 32GB or smaller. Smaller cards tend to work better on the 3D printer boards. If you do not have a small card we do carry a 4GB card in our store here that is preformatted with the FAT filesystem: https://www.th3dstudio.com/product/4gb-fat-formatted-gcode-firmware-microsd-card/
You also may want to run a test on the SD card itself to make sure it is working correctly. We have an article here to do that: Testing your SD Card for errors
Firmware Changes #
If you want to slow the SD speed down to make it more tolerant of poor connections you can add the below line to your Configuration.h file on any of our firmware or Marlin 2.X or higher.
#define SD_SPI_SPEED SPI_HALF_SPEED