I had some trouble using the PrintrBoard’s built in SD card reader using Marlin firmware. I also had an issue with the Y-endstop, which I thought was unrelated, as the board would not boot if the Y-endstop was pressed (ie. if the bed was homed). The only help I found was from Lincomatic’s blog again but this time in a comment from “RustyPaint”, found here.
The issue is that the pin used by the Y-endstop is connected to the SS pin of the processor. So if the Y-endstop is closed it interrupts the SPI bus which the processor uses to talk to the SD card. The conflict also causes the board not to boot if the Y-endstop if pressed.
So the work around is that you disconnect the Y-endstop from the PrintrBoard and plug it in to the free Emergency endstop pins. You must then also configure the firmware to look at the E-stop pins instead of the Y-stop.
In pins.h, within the Marlin firmware, change line 918 from:
#define Y_MIN_PIN 20
to
#define Y_MIN_PIN 37
This solved the booting problem and now I can print from an SD card.
(Update: Just make sure your file name is a maximum of 8 characters long and the extension is a maximum of 3 characters. For example “Myprint1.g”)
Thanks to Nicolas Vicuña for pushing me to find a fix and help testing it.
NB: This post gets a fair bit of traffic. If this information helped you at all then please leave a comment.