Printrboard LCD

Recently I purchased a Printrbot Simple Metal and have been learning the art of 3D printing.  One thing I realized up front was the benefit of having an LCD display on the printer to show status and allow for menu driven printer control w/o using a computer host.

At the time I purchased my printer, the Printrbot store was out of stock of the official LCD.  So I set off on my own to determine the pinout’s of the Printrboard (The official printer control board for a Printrbot) to find out where the LCD connected and what signals were available.

My 1st thought was to use one of the many inexpensive “Smart LCD Controllers” that are all over eBay for reprap machines.  At about $16 for the complete setup, this seemed like a good place to start.

After looking at the Printrbot installation instructions for the official LCD, I could see that their LCD assembly connected to the EXP2 connector on the Printrboard.  A few web searches later and I found the pinout for that connector to be as such:

Printrboard EXP2 Labeled

Pinout of EXP2 on Printrboard


In the photo, you can see that Pin 1 is at the lower left of the connector as shown.





The pinout is as follows:


PrintrBoard 14 Pin EXP2

PIN1 – GND PIN2 – 5V
PIN3 – N/C PIN4 – N/C
PIN5 – D7 PIN6 – D6
PIN7 – D5 PIN8 – D4
PIN9 – N/C PIN10 – E

The pinout on the RepRap Smart LCD Controller is broken out in two 10 pin connectors.

Smart LCD Controller

Pin 1 of each connector is lower left in the photo


The pinout for connection to the Printrboard is as follows:


Smart LCD Controller 10 Pin EXP1

PIN-5 D4 PIN-6 D5
PIN-7 D6 PIN-8 D7

Smart LCD Controller 10 Pin EXP2

PIN-1 Not Used PIN-2 Not Used
PIN-3 ROT_ENC-B PIN-4 Not Used
PIN-5 ROT_ENC-A PIN-6 Not Used
PIN-7 Not Used PIN-8 Not Used
PIN-9 Not Used PIN-10 Not Used

After making the appropriate connections with a custom cable I made…

Voila — Success.


Smart LCD Controller for RepRap

Smart LCD Controller for RepRap


The next step is creating my own board…

This entry was posted in News. Bookmark the permalink.

19 Responses to Printrboard LCD

  1. Chris says:

    Hi there,

    Where do I get the firmware for this mod? Can you provide me with a copy of the correct firmware?


    • Chris says:

      If you cannot provide the firmware, could you give me some steps to follow to hack the firmware?

      • Rick_S says:

        I didn’t change the default firmware in the printrbot simple metal for the addition of the LCD. The standard firmware has built in support. If for some reason, your bot isn’t working with your display, double check your wiring making sure the orientation of PIN-1 for each of the 3 connectors is correct and that PIN 1 is oriented properly when plugged into EXP2 on the Printrboard and EXP1 and EXP2 on your display. Remember with header connectors the pin orientation is as shown in the photo of the Printrboard pinout with all the odd numbered pins on one side and all the even numbered pins on the other.


        • Chris says:

          I am using the firmware for the old printrbot simple, the wood 2013 version. Do you know if it has lcd support?

          • Rick_S says:

            I can’t speak for the 2013 simple firmware, but I know the early 2014 metal and simple firmware had support. If they were selling the LCD add on at the time you purchased your simple, more than likely the firmware had the LCD support turned on. If you are concerned, you can go to the Printrbot site, download and install the current firmware and you will ensure you have LCD support.

          • Francis says:

            Heh… I’ve been looking into this and it seems that the vast majority of the Printrboards out there have a CDC bootloader… which severely limits the upload size of your firmware. According to the RepRap wiki, that limits whether you can upload SD card and LCD capabilities to your PrintrBoard:

            LUFA’s CDC Bootloader: Allows direct uploading of firmware through Arduino/avrude via avr109 protocol. Requires no driver on Linux/Mac and free INF installer to use the built-in Windows driver, and Arduino 022 with modified Teensylu boards configuration. Avrdude within Arduino directory must also be upgraded to newest version. Limited to 64k flash space by the protocol. Note that this is a severe limitation rendering most modern firmwares (with e.g. SD card and/or graphical display support) unusable. ”

            However, this wiki is out of date, so we can only hope that this is possible… 🙂

          • Rick_S says:

            I have both the Printrboard Rev D and F boards (Rev E was not manufactured by Printrbot). Both of the revisions I have had the Atmel Flip bootloader Not the LUFA bootloader. They also had built in support in their default firmware for both the SD card and LCD display. I can’t speak for Printrboads prior to revision D or the non OEM rev E, but D & F definitely had support and the FLIP bootloader.

          • Francis says:

            Yup… The non-OEM stuff (Makerfarm’s rev.D and’s rev.E) is what I have, which both have the LUFA CDC bootloader built into it… It works for me. Kind of. (Unfortunately it’s a bear to get burned under Linux, so I needed to find dig around for a Windows machine to burn via the 0022 Arduino IDE… ugh)

            I’ve been meaning to grab another printrboard to try FLIP on. Another promising piece of info is that Marlin might have slimmed down since the wiki was published… I’m just having problems getting it compiled because the EXP pins aren’t linked/defined/enumerated in the pin definitions… and more importantly with internal Arduino pin definitions. It’s been a pain reading about five different rosetta stones from the reprap wiki,’s pictures, printrbot’s forums, and Atmel docs to figure out which pin #s to assign to the at90usb… 🙂
            I think Brook may have released the firmware code, so I better start digging into that…

          • Francis says:

            Yup! And just to document this for myself and anyone else wondering:

            I’m personally trying to adapt a 128×64 OLED screen for this board… wish me luck… 🙂

          • Rick_S says:

            You’ll need a lot of luck if you want to turn on a graphic LCD for the Rev-F or earlier printrboard. They were pushing the limits with the original character LCD implementation. Let me know if you are successful, I’d love to see that implemented.

    • CantThinkOfAGoodPyseudonym says:

      if you still are needing this (i know– its been almost years)

      “Oddly, the binary of the firmware you compile this way is just a hair too large to fit on the memory of your Printrboard. Luckily there are pieces you probably don’t need. Lower in the Configuration.h file you’ll find a collection of definitions that enable cool new pieces of hardware that work for Marlin boards. If you are like me you don’t have any of them and you probably never will. I chose to disable support for the Ultipanel, so I recommend you do that as well. Add ‘//’ to the front of the Ultipanel definition line so edit the line ‘#define ULTIPANEL //the ultipanel as on thingiverse’ to ‘//#define ULTIPANEL //the ultipanel as on thingiverse’ and save the file.”

      try reading this– its for changing the hotend, but read it anyway, lots of useful stuff

  2. elefort says:

    Does this work with Printrboard Rev F? I ordered a printrbot metal simple and would like to build this if compatible with the Printrboard rev F.


    • Rick_S says:

      Yes, I see no reason why it wouldn’t work with Rev. F. The connector that it plugs into on the Printrboard (EXP2) looks to have the same connections to the microcontroller on all revisions of the Printrboard.

      If you build one, let me know how it worked out!

      I also have full plans for my design on thingiverse at This includes a 3d printed case as well.


  3. Nathan says:

    Hi Rick, thank you for posting your project. I’ve got a Printrbot Simple Metal as well, and I’m trying to figure out how to address the pins on the board. From g code I need to change the state of one of the pins – any pin really (voltage high, voltage low), but can’t figure out how to do it. Can you point me in the right direction?


    • Rick_S says:

      That’s something I haven’t really thought of trying to do. I’m guessing you are trying to turn something on/off programmatically. Other than the obvious fan, and heated bed outputs, I’m not too sure of any of the pins that can be directly controlled through a G/M code without modifying the firmware to add the capability. I’m not saying there aren’t any, I just can’t think of any off the top of my head. The connections for my LCD project were all based on the built in support for an LCD in the Printrboard firmware. Sorry I couldn’t be of more help.


  4. TiM says:

    I am a total newbie when it comes to anything like this so I have no idea what I am doing. I followed our wiring step and connected it to my printrboard (Geeetech version) and I cant get it to work. The sceen lights up and there are two lines filled with blocks. I went into UPMarlin (I have a two up) and I deleted the // before the define of the reprap discount smart controller and I tried to flash the board but it gave me a error that said the LCD was out of scope

    • Rick_S says:

      TiM, Looking at the Configuration.h files between the UP-Marlin fork and the printrbot Marlin fork, it seems there are several differences for the LCD configuration. 1st, on an OEM Printrboard with the official Printrboard Marlin firmware, the 24×4 LCD is enabled by default. Secondly, I’m not sure the Geeetech generic knock off that QU-BD is using in their printers even makes the same connections from the microcontroller to the pin connectors that the official Printrboard uses. If it does, then you may want to look at the Printrboard marlin and compare to your up-marlin to see what code needs adjusted to enable the EXP2 connector for your LCD connection.

      Having said that, it is beyond the scope of this blog to get into firmware modifications. I honestly haven’t dug deep into the Marlin firmware enough to be able to provide you with the information you need.

      If I were in your position, I would do a few things.

      1. I’d go to the Printrbot site and see how to upload new firmware. Make sure you have all the tools setup properly on your computer to be able to compile the firmware properly and to transfer it to the board
      2. I’d download the latest version of both the up-marlin, and the Printrboard marlin and compare them with a focus on the LCD. The official Printrboard marlin firmware does not use the reprap discount smart controller define, instead it uses the ultipanel define and others.

      3. I’d look for overlaps or conflicts, compare the two firmwares and see if one may be better than the other. You may find it is easier to modify the official Printrboard firmware to change end stops, build volume, etc… than to add features to the up-marlin. (That is just speculation on my part though)

      4. Lastly, if you can get compiled hex files for both the up and Printrboard, and you know you have a working up hex you can fall back on, you could flash with the Printrboard firmware just to see if it will work, the go back if it doesn’t.

      I’m sorry if I wasn’t of much help on this one,

  5. Paul says:

    Hi Rick,

    Glad to see you’re having some 3D printing fun! 🙂

    I came across your custom LCD while researching/shopping for a 3D printer. Gave a lot of consideration to Simple Metal like you have but I think I’m going to build a RipRap Tantillus to get started. It’s smaller and PLA only but I think it will be fine for getting 3D figured out and I don’t think as expensive if I buy off eBay although I’m not done pricing all the parts. After I gain enough expertise I’m thinking I may design and build a larger format 3D printer and would use the Tantillus (or whatever I start with) to print various parts for it.

    I’ve been heavy into the arduino world for months now and I guess I have to admit I am no longer a nerdkits guy. It was lots of fun and great education but so much more is possible in a short time with arduino. Another thing that pulls me to the Tantillus (or any RipRap) is it uses the regular arduino 2560 with ramps instead of a custom board like the printrbot. I’ve seen a complete set including stepper drivers go for as little as $30 on eBay which is a darn good price.

    Please send me your contact info so I can keep you in my address book.


    • Rick_S says:

      If I hadn’t liked the price for the simple metal and the structural design which while not perfect is better than most any in it’s price class, I would have most likely gone with a reprap electronics setup as well. But in reality, if arduino is what you want to program in, the Printrboard is programmed with the arduino software as well. The nice thing about it is that it uses the same micro as the teensy2++ so it is native USB instead of needing to go through an FTDI chip. The down side is that it doesn’t have quite as many I/O as the mega used on the Ramps board. I’ve thought of getting a ramps setup though just to tinker with.

      It’s been great to hear from you, I hope all is well with you and your’s.


Leave a Reply

Your email address will not be published. Required fields are marked *