PrintrBoard SD Card & Boot-up fix

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.

Tagged , , , , , , , ,

7 thoughts on “PrintrBoard SD Card & Boot-up fix

  1. don says:

    Is this still the case as of June 2013? Or is this something that can be “fixed” in a new revision or in firmware updates? I’m using repetier firmware and haven’t gotten around to trying SD support yet.

    • Bradders says:

      I believe this IS still the case, unfortunately I believe it’s a hardware issue rather than firmware. They should not have used the chip select pin on the processor for the Y stop.

  2. George says:

    Thanks for your information, I have not tested it yet, but I believe it will work.

  3. Mario says:

    Thank you very much. You’ve solved my f…… Y-Endstop problem.

  4. robwhi says:

    I would like to point out that the line number (918) specified here might not apply to your specific card. I’m running a Makerfarm printrboard and my motherboard setting is 81, so I changed the line relevant to that board.
    Although I’m currently printing fine I did not manage to access the SD printing function on Pronterface. Any ideas?

    • Bradders says:

      Have you also enabled the “#define SDSUPPORT” in Configuration.h (approx. line 543) ?

      • robwhi says:

        Err.. My Configuration.h only goes up to 253 lines 😦 However, I have two occasions for #define SDSUPPORT:
        At the beginning (Approx line 36):
        #if (Motherboard 00 81) //printrboard
        // #define SDSUPPORT
        #endif

        Later (around line 218) I have:
        // LCD and SD support
        //#define ULTRA_LCD //general lcd support, also 16×2
        //”define SDSUPPORT // Enable SD Card Support in hardware console

        A few lines below that There’s a section defining ULTIPANEL that contains #define SDSUPPORT (though that one is activated.

        Sorry if this seems to be a very basic question but programming is not my forté but which one of these should I use (delete the //’s)?

Leave a reply to George Cancel reply