RevarLCD Assembly

Revar's LCD Panel Assembly Instructions


These are instructions on how to build an LCD and keypad control panel for controlling a Reprap Motherboard based fabber like the MakerBot CupcakeCNC. With this you will be able to use your fabber without needing to attach it to a computer. You can set heater temperatures, move and zero the axes and print .s3g and .gcode files directly from the SD card. The LCD will show you continuous temperature readings, position, and build progress.

What you'll need


IMPORTANT! Remove the jumper on the LCD2S. This will enable support for the 4x4 keypad. Also, make sure the DIP switches are set to 00 (both off).

The keypad will connect to the LCD using the CAB8RIB150 cable. Simply plug the cable into the Keypad, and into the single-row 10-pin header block on the left side of the LCD serial daughterboard. Make sure to line up pin1 of the cable with pin1 of both the LCD and keypad sides.

The LCD2S's pinout for I2C connection is on the lower right of the serial daughterboard, when looked at from the back of the LCD: (Pins we will use are surrounded by parens.)

| 2  4 (6)(8)(10)|
| 1  3 (5) 7  9  |

Where I2C uses:
  • Pin 5: +5V/VCC
  • Pin 6: GND
  • Pin 8: SDA
  • Pin 10: SCL

Take the 2x5 rectangular header plug and connect the 4 conductor ribbon cable to it creatively, so that you connect to pins 5, 6, 8, and 10. For ease of wiring your plug, you can alternatively use Pin1 or Pin3 instead of Pin5 for +5V/VCC.


Take the other end of this cable, and solder it to one of the Mini-DIN4 jacks in the following pattern:


The red wire is +5V, the black wire is Ground. Green is SDA and white is SCL. If you wire them up in this pattern, crosstalk should be minimized in the S-Video cable.

Not all motherboards have I2C headers installed - Batch V did not. If yours does not, you will need to solder at least one 0.1" four-pin male header into the I2C holes.

On the motherboard, the I2C connectors have the pinout:

| 1 2 3 4 |

Where the pins are the following:
  • Pin 1: +5V/VCC
  • Pin 2: GND
  • Pin 3: SDA
  • Pin 4: SCL

Make a cable with a 4-pin 0.1" pin spacing header plug on it like thus:


The red wire is +5V, the black wire is Ground. Green is SDA and white is SCL. Wire the other side to the other Mini-Din4 jack as above.

Plug this new cable into the motherboard like thus:


Connect an S-Video cable between the two Mini-DIN4 jacks. Verify the correct pins are connecting through to the correct signals on the other side before plugging it all in


Mount the LCD and keypad in a large project box. (I laser-cut my own.)
Panel-mount the LCD-side Mini-DIN4 jack on the project box, and make sure everything is wired together as specified above.


(NOTE: The keypad and keypad cables in the above picture show a different keypad from the Modtronix KPAD16. The wiring is slightly different. The above picture is for illustrative purposes only.)

Panel-mount the motherboard-side Mini-DIN4 jack and plug it in to one of the I2C headers on the motherboard.

Print up a set of key caps on your printer using this template. You may need to resize it a bit to get the key caps to be the right size for your keys. Carefully glue them onto the keys in the following pattern:


Connect the control-panel project box to the motherboard with the S-Video cable.

Connect the USB-TTL cable to the motherboard and a computer, and re-flash the firmware of the motherboard with this Firmware HEXfile (Git Sources)

If you want to compile from sources, and you want to use them with a CupcakeCNC, then make sure to edit the file Configuration.h, and near the end use these settings:

  #define STEPS_PER_MM_XY 11.767463 
  #define STEPS_PER_MM_Z  320.0 
  #define MAX_MM_PER_MIN_XY 5000 
  #define MAX_MM_PER_MIN_Z  150 
  #define JOG_STEP_DELAY_XY 1700  /* microseconds */ 
  #define JOG_STEP_DELAY_Z  1800  /* microseconds */

The HEXfile above is already configured for a CupcakeCNC.


Once you have the firmware flashed with the LCD supporting firmware, power up your machine. If the LCD panel doesn't light up, check your wiring. Something is awry.

If the LCD lights up, but never leaves the initial startup screen, check your wiring. Something is awry, and it can't hear one of the SDA or SCL signals.

If you get a screen that looks similar to the following, you're in good shape. This is the default screen that shows X/Y/Z position, and T and P (platform) temperatures.


Now, press the 0 (Zero) button. If a menu appears that offers axis zeroing and homing options, that's good. If the screen says that it's warming up the extruder, or if the screen says Resetting, or if nothing happens, then you need to check your keypad wiring, and check if your keypad is turned about wrong.

The first time you get the LCD hooked up with the keypad working, you need to initialize the LCD's EEPROM settings. From the Zeroing menu you entered by pressing 0 above, press '9' to initialize the LCD. (It's a hidden menu item.) If you don't do this initialization when you install a new LCD, then your fourth column of keys won't work.

When you are back in the default screen, Enter should do nothing. Zero should give the Zero menu. Stop should Reset the machine, and the Pause button will pause any running build. Pressing X+, X-, Y+, Y-, Z+, or Z- buttons should move the appropriate axis. ExtRev warms up the extruder and ejects the filament ExtFwd should warm up the extruder and extrude some filament. ExtStop should stop a running extruder motor but leave the extruder hot. The Temp button will give you the Temperatures control menu, where you can turn the extruder or platform heaters on/off, or set the temperature each one should heat to when on. The Menu button will give you a main menu.

You can use Menu-2 to adjust the Contrast of the LCD, using the up/down (Z+/Z- or 2/7) keys. When you get the contrast you want, press Enter. To exit out of a menu without saving a change, press the Menu button a few times until you are at the default screen.

To print an object from an .s3g file on the SD card, press Menu, then 1, then use the up/down arrow keys (Z+/Z-) to select the file to print, then press Enter to start printing that file.

NOTE: Make sure your extruder has been warmed up before you start printing. (Temp, 1 will toggle the extruder heater on.)

Additional build pictures are here.

Unless otherwise stated, the content of this page is licensed under GNU Free Documentation License.