RepRapDiscount Full Graphic Smart Controller
English • العربية • български • català • čeština • Deutsch • Ελληνικά • español • فارسی • français • hrvatski • magyar • italiano • română • 日本語 • 한국어 • lietuvių • Nederlands • norsk • polski • português • русский • Türkçe • українська • 中文（中国大陆） • 中文（台灣） • עברית • azərbaycanca •
Full Graphic Smart Controller
This full graphic Smart Controller contains a SD-Card reader, an rotary encoder and a 128 x 64 dot matrix LCD display. You can easy connect it to your Ramps board using the "smart adapter" included.
After connecting this panel to your Ramps you don't need your pc any more, the Smart Controller supplies power for your SD card. Further more all actions like calibration, axes movements can be done by just using the rotary encoder on the Smart Controller. Print your 3D designs without PC, just with a g-code design stored on the SD card.
As firmware we used Marlins' sources, to update the firmware in the future you just need an Arduino board, so you are good to go ;)
Pictures of a Full Graphic Smart Controller made by RepRapDiscount.com
Marlin V1 (new)
Installation: In "Configuration.h”
- Change “#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER” (just remove the // at the beginning)
==> REMEMBER TO INSTALL U8glib to your ARDUINO library folder: http://code.google.com/p/u8glib/wiki/u8glib
Upload the firmware, power off the Arduino, connect the panel, reapply power, and everything should work.
Open Source Files
You can find the open source files here: http://forum.reprapdiscount.com/forums/oss/
Where to get it?
If you don't have the mood to build it yourself you can just buy from
All parts are licensed under Attribution - ShareAlike.
- Some versions of this board have the notched connectors the wrong way around. If your controller only flickers and beeps, cut off the notches on the cables and insert them upside down.
- Some clones of this board use really slow LCD displays so their signal timings adjusted.
- The symptoms are that the display gets slightly corrupted. (which can also be cables to long)
- In current versions of marlin (1.1.9) add the following to configuration.h to override the default settings.
- add "#define ST7920_DELAY_1 DELAY_NS(0)"
- add "#define ST7920_DELAY_2 DELAY_NS(0)"
- add "#define ST7920_DELAY_3 DELAY_NS(63)" // this is the defaults for a 16mhz processor (ie a mega2560)
- This is used as follows.
- For each bit that is sent over SPI
- Set the clock pin low and wait ST7920_DELAY_1
- Set the data pin and wait ST7920_DELAY_2
- Set the clock pin high and wait ST7920_DELAY_3
- Slower LCD's seem to need ST7920_DELAY_3 increased.
There are some possible hacks to modify the display.