This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADS1118 BoosterPack bad LCD contrast

Other Parts Discussed in Thread: ADS1118

Hi,

I have acquired a couple of ADS1118 BoosterPacks http://www.ti.com/tool/430boost-ads1118?keyMatch=ADS1118&tisearch=Search-EN with an intention to use them in a lab without any extra job on fixing them.

Unfortunately the contrast on LCDs is very bad (the background dots, which should not be on are too dark)

Now I need to study the LCD specification and the controller specification to fix it (if possible).

My feedback is: That nice would be much better with a LCD contrast set properly.

And the question is: Can someone save me time and give a hint what settings to change?

I see within the LCD_init() function the following lines:

LCD_writecom(0x56); //power control

LCD_writecom(0x6D); //follower control

LCD_writecom(0x70); //contrast

Thanks

Jan

  • Hi Jan,

    I looked in the User's Guide for this 430boost-ads1118 boosterpack, and found the part number for the LCD used: NHD-C0216CZ-FSW-FBW-3V3.

    So I looked online and found the datasheet for this display: http://www.newhavendisplay.com/redirect.html?goto=www.newhavendisplay.com%2Fspecs%2FNHD-C0216CZ-FSW-FBW-3V3.pdf&action=url&zenid=ook9pl2jgi6noqfbnr1bkn7i96

    If you go down to p. 7 it looks like the Contrast Set command is what is getting used when you do LCD_writecom(0x70). It looks like the last 4 bits control the contrast, so you could try different combinations of these to see if you can find a setting that looks better.

    I hope this helps.

    jan2809 said:
    My feedback is: That nice would be much better with a LCD contrast set properly.

    My experience with other SPI LCD displays like this is that one setting may look fine on one board, but on the next board appear much lighter or darker, so usually it is good to provide a way to adjust the contrast in software since it may vary board-to-board. It makes it difficult to choose one setting that will look good across all units unfortunately.

    Regards,

    Katie

  • Hi Jan,

    I agree with you that a contrast control is a good idea.  Some of the original design was altered to lower the bill of materials cost to keep the overall price of the ADS1118 BoosterPack as low as possible.  There are some tradeoffs with respect to doing this and at the time the decision was made not to add any additional components.  As a result the contrast is a fixed value based on the typical performance we were seeing with the original prototypes.  Also with this display, viewing angle has a lot to do with the contrast as it appears.

    Katie gave you a good start (thanks Katie) in attempting to adjust the contrast.  You can take a look at this document as well as it describes the controls a bit better and in more detail:

    http://www.newhavendisplay.com/app_notes/ST7032.pdf

    Also note that there are 2 more higher order bits for constrast (C5, C4) in the control byte starting with '5'.  This information is on page 26 and 27 of the document referenced above.

    Best regards,

    Bob B

  • Katie, Bob

    Thank you for your reply.

    In a meantime I did have a look at both, the LCD specification (Newhaven) and the controller specification (Sitronix).

    The ADS1118 BoosterPack is an excellent product and of very good use to me and I appreciate it. Now I realize that the LCD problem initially annoying to me can be either relatively easily fixed or accepted. 

    When you mentioned it, I see the contrast is very dependent on viewing angle, good when viewing from the top.

    Thanks again and keep up a good job. And I hope you don't mind me sending a feedback, even if it's a positive criticism.

    Regards

    Jan

  • Hi Bob,

    Finally I had a chance to adjust the LCD contrast by changing 2 lines (see below). Hope this will help other people, too.

    Jan

    void LCD_init(void)

    {

    LCD_delay_Nms(4); // waiting LCD to power on.

    LCD_CS_HIGH; //set CS high

    LCD_RS_HIGH; //set RS high

    LCD_RST_LOW; //RESET

    LCD_delay_Nms(2);

    LCD_RST_HIGH; //end reset

    LCD_delay_Nms(1);

    LCD_writecom(0x30); //wake up

    LCD_writecom(0x39); //function set

    LCD_writecom(0x14); //internal osc frequency

    //was LCD_writecom(0x56); //power control

    LCD_writecom(0x55); //power control

    LCD_writecom(0x6D); //follower control

    //was LCD_writecom(0x70); //contrast

    LCD_writecom(0x79); //contrast

    LCD_writecom(0x0C); //display on

    LCD_writecom(0x06); //entry mode

    LCD_writecom(0x01); //clear

    LCD_delay_Nms(2);

  • Hi Jan,

    Thanks for sharing and participating in the forums!

    Best regards,

    Bob B