I got this screen along with the other 1601 panel. I thought it was just some normal 12864 with non-square pixel, but it was cheap, so...
When I got it, I noticed the IC is not ST7565 at all. Then by looking at the glass, the display area is square, and all pixels are square, so that's definitely not 12864. Probably something like 128128.
So I determined the resolution by simply counting (120x120), then... just typical method, as I have covered before. The controller is ST7571. It supports 4 level greyscale, which is nice. For some reason I couldn't got it work in 3-line SPI mode, it could be initialized but no data could be written. So I ended using 4-line SPI mode.
The result is as following. The screen has dual color backlight (orange + white). I modded one of the screen to green backlight, and that's quite interesting as well.
Basic Information
- Model: DO0170
- Type: Monochrome graphics dot-matrix
- Mode: STN Negative
- Resolution: 120x120
- Greyscale: 4-level (2bpp)
- Controller: ST7571
- Size: 37.9x37.9(mm)
Driving Information
Module Pinout
- GND
- VDD
- VDD
- GND
- nBL-AW
- nBL-AA
- MOSI
- RS
- GND
- SCK
- GND
- nCS
- KEY-COM
- KEY1
- KEY2
- KEY3
- KEY4
- nRST
- VCC
- GND
Panel Pinout
- Unknown
- Unknown
- Unknown
- Unknown
- Unknown
- Unknown
- Unknown
- GND
- VDD
- VDD
- D7/MOSI
- D6/SCK
- D5
- D4
- D3
- D2
- D1
- D0
- nRD
- nWR
- A0
- nRST
- nCS
- PS1
- PS0
- GND
Initialization Sequence
LCD_WriteCmd(0x2c); Delayms(200); LCD_WriteCmd(0x2e); Delayms(200); LCD_WriteCmd(0x2f); Delayms(10); LCD_WriteCmd(0xae); LCD_WriteCmd(0x38); LCD_WriteCmd(0xb8); LCD_WriteCmd(0xc0); LCD_WriteCmd(0xa0); LCD_WriteCmd(0x44); LCD_WriteCmd(0x00); LCD_WriteCmd(0x40); LCD_WriteCmd(0x00); LCD_WriteCmd(0xab); LCD_WriteCmd(0x67); LCD_WriteCmd(0x24); LCD_WriteCmd(0x81); LCD_WriteCmd(0x36); LCD_WriteCmd(0x54); LCD_WriteCmd(0xf3); LCD_WriteCmd(0x04); LCD_WriteCmd(0x93); LCD_WriteCmd(0xa7); LCD_WriteCmd(0xaf);