DFR0555 - Backlight Firmware Control

The associated datasheet for the DFR0555 I just purchased (Feb 2024) has the wrong I2C address for the backlight, it should be 0xD6, not 0xC0. Once I found this was the backlight address, I still could not find the correct register configuration to turn on the backlight. Some C firmware example code would be appreciated. (How to Write an LCD Driver | Level Up Coding) comes close but does not get the backlight on. However, all I2C writes get ACK’d when writing to address 0xD6.

The library for this found on GitHub, DFRobot_RGBLCD1602.h uses

void setRGB(uint8_t r, uint8_t g, uint8_t b)

to set the color and function

void setPWM(uint8_t color, uint8_t pwm){setReg(color, pwm); if(_RGBAddr==0x6B){setReg(0x07, pwm);

To set the backlight brightness.

Example code for Arduino can be found here:
DFRobot_RGBLCD1602/examples/SetColor/SetColor.ino at master · DFRobot/DFRobot_RGBLCD1602 · GitHub

There is also similar example code Located Here

If there is a problem with their libraries you would want to create an issues ticket on their Github repository and bring it to DFRobot’s attention on their Technical Support Forum

Thanks but I spent all day yesterday and found this also. But they do not work for this display. Do you have the means to test it with this display and see if I have a defective display?

Thank you for your follow up.

If you believe you have a defective display please follow up on this inquiry with our Customer Service department at customer.service@digikey.com or call in and ask to talk to Customer Service.

I also use DFR0555, but I would like to point out some errors in this content. Please refer to this for your reference. (Purchased in May 2025)

  1. About addresses
    ・Controls for character display, etc. are 0x3E
    ・Backlight is 0x6B
    (However, for DFR0555 version 1.0, it is 0x60)
  2. The library provided by DFRobot is for Arduino, so it will not work if you simply port it to Raspberry Pi Pico or similar devices.
    The reason is as follows.
  3. Address scanning does not work when executed on devices other than Arduino.
    The reason is that, due to the response characteristics of the DFR0555’s driver IC,
    there are register addresses that do not respond to a 1-byte read operation.
    However, they respond correctly when executed via write.
  4. Some registers do not respond to backlight control.
    Simply stop writing to those registers.
    There is code in the library that writes 0x00 to register address 0x2F during initialization, but commenting out that section will allow it to function properly.
    That’s all.
    テスビット