12864 ST7920 LCD + Universal Serial Digole: UART/IIC/I2C/SPI Adapter

Hello, I'm Italian sorry for my English.
I am new in arduino world. I have already done some testing with a RTC and it's all good.

Now I purchased this adapter (http://www.digole.com/index.php?productID=535) for interfacing a LCD 128x64 (ST7920 controller) to an arduino mega 2560.

I've tried loading the sketch of their example.

I've tried both with UART I2C serial protocol, but does not work:

  • LCD turns on but the screen is blank!

I'm going crazy, I hope in your help.


Did you solder the appropriate jumper for the protocol you used?
Using the right library?
The PDF manual is quite good, read it if you haven't. http://www.digole.com/images/file/Tech_Data/Digole_Serial_Display_Adapter-Manual.pdf
Otherwise, to help you, members would need:
Closeup pictures (sharp) of the solder joints on BOTH the LCD and the adapter
Picture of your hookup to the Arduino, hopefully with easily to follow wires, also sharp.
Your computer type, Operating system, & Arduino version, link to the LCD module datasheet or manual or retailer
A copy of the your code (use the # sign above)
A copy of the error messages you get.

Hope this helps.

Same with me I bought same interface and 128X64 and cannot make it work my rtc on Ic2 is working great but the lcd remains blank , in the manual it is written that you have to make a configuration to activate the controller you have in our case ST7920 but cannot figure out how to do it also I noticed that sometimes when connecting the +5v to the arduino is somehow overloading the arduino .

Also yesterday I have tried to interface it with UART but still it will not work dammmmmmm

hope we can manage to make it run if I will have a positive result I will let you know .


I had the same issue with their 260x64 LCD. I found that the contrast was turned down out of the box. On mine there is a very small contrast knob on the back and there is a very small area where it allows you to see anything.

The contrast adjustment knob is circled in the picture of the shield on this web page, look toward the bottom of the page:

EDIT: Sorry, I misread the initial post. You are talking about an adapter not the assembled LCD that they sell.

Hi friends.

I have buy the same serial adapter but i cannot put it to work.

I've mailed to seller (digole) and after some mail exchanges, i undertand a probable issue:

the serial adapter don't manage the contrast, the seller has responded:

"We didn't design contrast control circuit on the module due to it's for
more than one kind of GLCD."

I tried a simply hack for adding the contrast control to LCD module by soldering two male header on back of the serial adapter PCB, and after i have connected the pin 3 (Vo, operating voltage for LCD) and the pin 18 (Vout, negative voltage output), this put to the maximum possible the contrast in LCD module (circa -10 V to pin 3).


Please note, i have used 2 + 2 header just for adding more robustness to the solderings.

In my case with display based on Winstar WG12864A-TMI-V (KS0108 based) none displayed, but you can try with your ST7920 based display...

The backlight ON / OFF functions are working but something with data communication between the PIC 18K20 and the logic onboard to the display won't work.

I've tested the communication via default UART using an Arduino Duemilanove but also with a USB to serial adapter and sending the command via a terminal at 9600 baud, the BL0 and BL1 commands working correctly turning on and off the backlight, but no more.

Please test it with the your ST7920 based LCD module

I found another thing to be done with the 12864ZW display to function properly with the Digole Adapter:
on the Display, shorten J1 - this will connect Pin 18 (Vout) to the external potentiometer (as described above) - 2nd thing I found is to add a pullup resistor to pin 15 (PSB) - after these modifications, the display worked properly (using the test program).

I also received a 12864 LCD but mine has an I²C interface.
I have identified it on channel 68 (0x68) of the I²C bus.
After reading the forum and information about it at the Arduino.cc website, I am even more confused on how to make it do anything.
If anyone has a basic example sketch to post, I would be very appreciative as I have found I learn best by picking apart other peoples examples then modifying them to my needs.

Thank you!

I bought one of those Digole GLCD modules from ebay and thought I could use it with a YM12864C display module (128x64 KS0108). The display was bought for use with MikroElectronic's EasyPICv7 dev board and it worked there.

Made the mistake of soldering the Digole directly to the display. Powered it up and got a red hot display blob but no picture at all. After a long break I finally got round to dismantling the concoction (had to heat each pin up and push it out).

Then compared notes between Digole and MikroElektronika - the Digole is wired up with power and control pins first, then the data pins, then the two CS pins and finally reset and backlight.

My GLCD had the two CS pins first, then the power pins and data pins and finally the reset and backlight.

Wired it up correctly using the default serial UART mode and ran it off an FTDI USB to Arduino programmer module connected to my PC and got a fully lit display all pixels lit but no Digole startup screen. Tried reducing the input to 3.3v instead and did see the screen - dim but just about usable. Back to 5v and white-out.

Figured out a contrast pot needed but not too much data how. Put a 10k preset pot with one end to ground and the wiper to the Vo pin (3 in my case) left the other pot pin open circuit. Turned the pot and the Digole startup screen appeared.

Used a terminal program on the PC for initial tests then tried a basic program on the PC to drive the Digole - so far text, boxes and circles (well ovals anyway) work as per Digoles user manual. Can't change the font though - seems fixed at a pretty readable but big 16 chars by 5 rows.

Should be easy to drive from Arduino pin now at 9600 baud - will chase up the library though the sequences look simple enough not to need one