#LetsDriveLCD [26] - GameBoy Pocket LCD



Because of the recent new project (RP), I finally have an opportunity to drive this screen. First about the difference of this screen and other screens I previously covered on this blog.

First of all, the screen is FSTN but uses negative high voltage. These themselves do not conflict, but generally speaking FSTN screen appeared later than STN, tend to use positive high voltage rather than negative high voltage.

Secondly, this screen has two signals to control the scan and line latch respectively, one called S and the other called CPL, but the difference is not clear.

Third, this screen has a signal called CPG, each line will pulse four times, the second pulse immediately after the first, while the third and fourth are far apart. After testing the signal is related to PWM grayscale, such that adjusting the position of the third pulse would affect the depth of the lighter level of gray. It will become lighter in the forward direction, and darker in the backward direction. The fourth pulse is to control the depth of the deeper gray scale. If the position of the two pulses remains the same while the line length increases, the two gray levels will also fade.

For the refresh method, the MCU software refresh is used here. Current code can achieve a refresh rate of about 153Hz, so to save power there are about three options as follows.

The test results under the current hardware are as follows.

Basic Information



  1. GND
  2. CPG
  3. CPL
  4. ST
  5. D0
  6. D1
  7. CP
  8. FR
  9. V5
  10. V3
  11. V2
  12. CPL
  13. S
  14. VDD
  15. FR
  16. V1
  17. V4
  18. V5

Typicall VDD is 5V, but 3.3V could also work. Optimal V5 is between -12V and -17V. Maximum CP frequency is around 8 MHz.