I am basically writing this tutorial as a note for myself to avoid another reverse engineering session when I happen to use this display again. But I’ll be happy if it would be helpful for you.
So here we have a Noname graphical LCD display without documentation.
It has 12pin 0.5mm connector, and two pins are marked A and K which apparently means anode and cathode of LED backlight. I also noted that A and K tracks were on a separate ribbon that was attached upside down to another 3-12pin ribbon, that is to say, the pinout I was looking for might be partially reversed. If we look closely, it is possible to notice that two traces of the ribbon connector, namely 6 and 7, are definitely wider than others. They are nearly as wide as A and K tracks, therefore I assumed that they were power inputs of the display logic. I guessed that pins 8-9 were SPI interface which takes exactly five pins like on the LCD I reviewed before. So, at this point we have the following hypothesized pinout:
After googling 12pin LCD pinouts with given pattern I was nearly sure it was some sort of ST7565 or ST7567 displays. In fact there were not much options to test, so after few experiments I was able to detect the pinout.
It turns out we need a couple of capacitors, one between pins 3 and 4 and another between 5 and GND.
I am not sure about exact capacitors values. I used values from similar displays as an estimation.
You could check out this tutorial regarding connecting SPI display to an Arduino board.
Note that you'll probably need 3.3V Arduino board!Coding
Finally, to use u8g2 library, we need to guess the initialization line. Just open one of examples and try uncommenting them one by one to see what happens. I was lucky enough, so one of them worked for me.
Note! I was able to see something only after setting minimal contrast with u8g2. So if you see nothing, maybe you should play with contrast level.
u8g2.setContrast(contrast);
Interesting enough, my display had some icons at the top area, like Bluetooth and battery indicator. At the moment I was not able to figure out how to control them. Your ideas are welcome.
Comments