P3Steel Build Log (#20) – LCD Controller Panel

By ChunkySteveo,

  Filed under: 3D Printing
  Tagged with: , , , , , , , , ,
  Comments: None

Controlling and monitoring your 3D printer can be done with your PC via the USB connection, using a dedicated Linux box and web connection over LAN/WiFi such as Octoprint or Astrobox, or with a dedicated LCD controller panel (and SD card slot). The benefit of using an LCD panel is that you don’t need any other connection to the printer, it can be left alone without fear of PC crashes while it prints, and you can get immediate feedback and physical control of your print and hotend movement. LCD panels give you just enough information at a glance, and you can use menu controls to manage and adjust a host of settings, all without having to recompile or upload any Arduino firmware.

The most common LCD available for the RAMPS board is the 2004 LCD Smart Controller. And that’s what I am using. (pic from Banggood…πŸ‘)


It consists of a 20×4 character LCD display, a rotary encoder (with click button), reset/kill switch, buzzer for audio feedback and an SD card slot. Β If you buy the controller, you will usually get two sets of 10 pin cables, and an L-shaped adaptor. There are other displays out there, and RAMPS can accommodate a lot, it is just a case of defining which one you have in the Marlin firmware.

Connecting the LCD Controller Panel to RAMPS

The LCD panel is connected to RAMPS using the LCD extension bracket, called the “smart adapter”. It is attached to the “right end” of the RAMPS board on the expansion headers and allows the LCD and rotary encoder to speak with the Arduino Mega, and for the Mega to read an SD card.


Slot the adaptor onto the pins and then wire up the LCD controller. If you are going with the 2004 Smart controller, on the back there should be two connectors to push the two 10 pin cables onto. First wire up the LCD controller by pushing the cables into slots EXP1 and EXP2. These then connect to the adaptor on the RAMPS board. (Pic from reprap.me… 🀘)


Which is which I hear you say?! Hmm, yeah, oddly never marked as SD and LCD for some reason?! Your smart adaptor that plugs into the RAMPS board may have EXP1 and EXP2 written on the PCB, if not, EXP1 is the “top” connection, and EXP2 is the “bottom” connection (closest to the L shape). If and when you power up your Arduino and RAMPS with Marin configured and installed and the LCD display does not show anything legible – the cables are probably the wrong way round! You won’t blow anything if they are the wrong way round, so don’t worry!

I need a printer to print…. my printer…

So here is my issue at this point. I have been printing all my parts for my P3Steel with my own printer, which is a modified Printrbot simple 1405 kit. It has a small print volume, slightly increased by me. But not big enough for me to print the LCD controller housing. So until the P3Steel printer is up and running, the LCD controller is just hanging out, all naked and exposed! Check out the pic I managed to salvage from a time lapse of a print with the LCD panel just sat lying there. Very industrial!


It works, but it just looks pants and isn’t the most portable solution. One of the first jobs once I have a working printer is to utilise the expanse of printing volume and print myself a nice case for it. I can’t wait! 😍

Be the first to write a comment.

Your feedback