Is it possible to use the 128x64 glcd for 3d printers, but in a different sketch

I first realised the power of Arduino only a few months back when I became involved with 3d printing…

I’m now working on a program or sketch that will control fans (240v relays) and measure ambient temperature.

But I want to create a menu system, and navigate it using the encoder.
I already have an LCD perfect for the job, but I’ve no idea how to wire it up, nor do I then know what to send to it… I’m a little scared of trial and error since I’ve read wrong wrings can lead to damaged parts… I’ve tried looking through the “Marlin” firmware (3d printers) for the pins, but I’m not seeing them… Nor can I see how they are used… I see the welcome screen drawn with text that is easy to edit, but I think my menu is going to take a lot more effort than that…

Please see the pictures attached, and I’ll also try and link to a YouTube video showing my hardware in detail.

My question is, how do I wire up my hardware so that I can display to the lcd?
And what is the best place to start making a menu system that I can navigate with the clickable encoder to control the fans, change the on/off temperature.
To be clear, I’m not asking how to program, I know C pretty well, I know how I’m going to interact with my relays and temps, I’m just stuck on lcd wiring, and what library to us (if there is one) for menu design…



I had been in contact with the marlin people some time back. For some reason they decided to use u8glib for their software. A lot of optimization went back to the u8glib repo at that time from the 3d printer community.
However, u8glib is (still) an independent graphics library for monochrome displays on the Arduino. The u8glib project has some advices for the wiring, but in general you have to read the datasheed. I can also give some hits. It looks like a ST7920 type of display. Maybe a picture of the other side of the PCB of the display could answer this question. If there is a pin, labeled as PSB, then it is a ST7920 display.

U8glib instructions on wiring are here: Google Code Archive - Long-term storage for Google Code Project Hosting..

A GUI lib is also available for u8glib: m2tklib.


Yes, you can use that ST7920-based 12864 display in Arduino sketches. I wrote a driver for it over a year ago, including support for proportionally-spaced text and auto-kerning. You can find it at arduino/Libraries at master · dc42/arduino · GitHub. But u8glib has become the standard solution for driving that display from an Arduino.