Newhaven 128x64 ST7565 LCD NHD-C12864WC-FSW-FBW-3V3-M does not power on reliably



  • Paul_B

    Morning adilmalik,

    Thank you for contacting us with this inquiry, I am happy to help 

    I found a couple discrepancies in your Eagle schematic, the ST7565R controller datasheet indicates "/RD", "/WR", and "C86" should be fixed High.

    Please see page 23 in the controllers datasheet (Table 1):

    Another recommendation is to try and add some delays in your initialization sequence. It is important to make sure that the LCD controller has finished executing an instruction before sending it another one, otherwise the second instruction will be ignored.

    Hope this helps, keep us posted on your progress!

  • adilmalik
    thanks for the help! This time i built it on a breadboard, with the pins to high. Still nothing. Any other ideas :/
  • adilmalik
    I have some good news. I have pin pointed the problem: The problem is the fact that the internal DC DC convertor is not producing the correct voltage across C50 (from pin 23 to VCC). When i remove C50 and supply pin 23 with +2V or thereabouts everything works. What is going on?
  • samuelproulx

    I had exactly this problem with this exact GLCD ! On the VREG pin, you should be getting 10.5 volts resulting from the step-up circuit which supplies the LCD's contrast. When mine was not working properly, it was also around 2 volts.

    Like said before, make sure you put a delay, it is quite important I believe. I also noticed your initialization sequence differs slightly from mine.

    Assuming you followed the model initialization sequence as written in the datasheet, your first byte, 0XA3, seems incorrect... this GLCD requires a 1/9 bias , where as you seem to be putting it at 1/7 (not sure if this would issue that problem though) .

    Again assuming you followed the datasheet model, your last byte in the initialization is 0xB0 . Mine is set at 0xAF in order to turn on the GLCD, perhaps it is not on?

    The datasheet also puts a delay between the moment you set A0 for command or data and the first byte you send to the GLCD, try putting a delay between 2 and 20 ms , like this:

    A0 Pin = 0 ;
    delay_ms(2 - 20 ms)

    Hope I could be of help! I've also been struggling with this glcd. I have a different issue to resort now though.


Please sign in to leave a comment.