

The RepRapDiscount Smart Controller is a user-friendly LCD controller designed for 3D printers. Manufactured by RepRap, this component features a 20x4 character LCD display and a rotary encoder for intuitive navigation and control of printer settings. It also includes an SD card slot for standalone printing, eliminating the need for a constant connection to a computer.








The RepRapDiscount Smart Controller connects to the 3D printer's mainboard via two 10-pin ribbon cables (EXP1 and EXP2). Below is the pinout for each header:
| Pin | Function | Description |
|---|---|---|
| 1 | VCC | 5V power supply |
| 2 | GND | Ground |
| 3 | LCD_RS | LCD Register Select |
| 4 | LCD_ENABLE | LCD Enable |
| 5 | LCD_D4 | LCD Data Line 4 |
| 6 | LCD_D5 | LCD Data Line 5 |
| 7 | LCD_D6 | LCD Data Line 6 |
| 8 | LCD_D7 | LCD Data Line 7 |
| 9 | BEEPER | Buzzer control |
| 10 | Rotary Encoder A | Rotary encoder signal A |
| Pin | Function | Description |
|---|---|---|
| 1 | SD_DETECT | SD card detect signal |
| 2 | SD_SCK | SD card clock |
| 3 | SD_MISO | SD card data out |
| 4 | SD_MOSI | SD card data in |
| 5 | SD_CS | SD card chip select |
| 6 | Rotary Encoder B | Rotary encoder signal B |
| 7 | Rotary Encoder SW | Rotary encoder push-button signal |
| 8 | LCD_BACKLIGHT | LCD backlight control |
| 9 | GND | Ground |
| 10 | VCC | 5V power supply |
#define REPRAP_DISCOUNT_SMART_CONTROLLER
While the RepRapDiscount Smart Controller is typically used with 3D printer mainboards, it can also be connected to an Arduino UNO for testing or custom applications. Below is an example code snippet to display a message on the LCD:
#include <LiquidCrystal.h>
// Initialize the LCD with the pin configuration for the Smart Controller
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
// Pins: RS=8, Enable=9, D4=4, D5=5, D6=6, D7=7
void setup() {
lcd.begin(20, 4); // Set up the LCD's number of columns and rows
lcd.print("RepRapDiscount"); // Print a message to the LCD
lcd.setCursor(0, 1); // Move to the second row
lcd.print("Smart Controller");
}
void loop() {
// No additional functionality in this example
}
Blank Screen on Power-Up
Rotary Encoder Not Working
#define REPRAP_DISCOUNT_SMART_CONTROLLER line is uncommented in the firmware configuration file.SD Card Not Detected
LCD Backlight Not Turning On
Can I use this controller with any 3D printer?
What is the maximum SD card size supported?
Can I use this controller for non-3D printing applications?
How do I adjust the contrast of the LCD?
By following this documentation, you can effectively integrate and troubleshoot the RepRapDiscount Smart Controller in your 3D printing or custom electronics projects.