chatting to graphical LCD's - Page 1
Forum section: electronics / general

author: Simon
author_rank: Unknown
timestamp: April 21, 2019, 09:36:04 am
content: So I visited my customer yesterday and I think the product I am designing for him may benefit from a graphical LCD rather than text one.Looking around I have found some LCD's that go up to 128*65 pixels and the ST7565 seems to be the standard for this sort of LCD. But this seems to be poorly documented. The datasheet is written in brocken english and does make clear how to use it in practice. LCD module datasheets natuarally get as far as saying that it uses a 7565 chipset.I have found a library from adafruit and naturally can't use it with the newer AVR's as none of the SPI registers are going to match.Is there any practical information out there on how this controller works?

author: TopLoser
author_rank: Unknown
timestamp: April 21, 2019, 09:44:35 am
content: Perfectly readable datasheet attached

author: mikerj
author_rank: Super Contributor
timestamp: April 21, 2019, 10:20:38 am
content: If this isthe libraryyou were looking at then all the SPI comms is through a single spiwrite() function, which either uses the Arduino shiftOut() function or bit bashes the SPI on a couple of GPIO pins. It would be trivial to port this to any microcontroller within reason.

author: Simon
author_rank: Unknown
timestamp: April 21, 2019, 10:24:54 am
content: Yes that one. I need to look at it in more depth.

author: MarkF
author_rank: Super Contributor
timestamp: April 21, 2019, 06:10:17 pm
content: What size are you looking for? Adafruit has two OLED displays that are larger.1.27" Color OLED (128x96 RGB pixels)- I have this one.1.5" Color OLED (128x128 RGB Pixels)They have SPI interface and do not need MCU memory for a frame buffer.Easier to talk to since you do not need to pack multiple pixels into frame buffer memory. (i.e. read from LCD memory, pack pixel and write back or keep a copy of video memory in your MCU).

author: Simon
author_rank: Unknown
timestamp: April 21, 2019, 09:10:23 pm
content: I need something that is 60mm wide minimum. i don't need high resolution images the size of a postage stamp and colour is nice but not a requirement.

author: Buriedcode
author_rank: Super Contributor
timestamp: April 21, 2019, 09:54:09 pm
content: Quote from: Simon on April 21, 2019, 09:36:04 amYou can modify it either with your own SPI routine or one built-in to AVRstudio. Also, I'm assuming the Adafruit library is for the Arduino, so will probably be C++, but doesn't look like it will take many changes. That is a popular LCD controller, so there are many examples for both PIC and AVR, but it really doesn't matter what device you're using because you'll probably have to write the SPI routines yourself anyway, and thats only a few lines of code.

author: jpanhalt
author_rank: Super Contributor
timestamp: April 21, 2019, 11:07:54 pm
content: I am using the 7565 with a serial interface (SPI). One thing to be aware of is that the serial interfaces to not support a read.My work around is a 64 byte circular (FIFO) buffer to enable scrolling in X and Y. The display is very fast and even with SPI at 32 MHz (PIC), no delays are needed.