#LetsDriveLCD [22] – DO0170

2017-06-21

DO0170

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

Driving Information

Module Pinout

  1. GND
  2. VDD
  3. VDD
  4. GND
  5. nBL-AW
  6. nBL-AA
  7. MOSI
  8. RS
  9. GND
  10. SCK
  11. GND
  12. nCS
  13. KEY-COM
  14. KEY1
  15. KEY2
  16. KEY3
  17. KEY4
  18. nRST
  19. VCC
  20. GND

Panel Pinout

  1. Unknown
  2. Unknown
  3. Unknown
  4. Unknown
  5. Unknown
  6. Unknown
  7. Unknown
  8. GND
  9. VDD
  10. VDD
  11. D7/MOSI
  12. D6/SCK
  13. D5
  14. D4
  15. D3
  16. D2
  17. D1
  18. D0
  19. nRD
  20. nWR
  21. A0
  22. nRST
  23. nCS
  24. PS1
  25. PS0
  26. 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);