1

I have an Arduino Due and a 2.4" TFT screen shield this one. I'm trying to turn off the backlight to save power but not having any luck. I'm using the super nice MCUFriend library:

#include <Adafruit_GFX.h>
#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;

It has worked great to make buttons and graphics, it's just the backlight I can't figure out. There's a datasheet for the driver chip and it has the following section to Write CTRL Display, which is what I imagine I need: enter image description here

So I have been trying to send 0x00 to register 0x53, but the display stays lit. I've tried using MCUFriend_kbv to set it, then thought maybe I'm doing something wrong so I tried their sample LCD_ID_readreg.ino and added some lines:

readReg(0x54, 3, "Read CTRL Display");
lcdWriteRegister(0x53, 0x00);
readReg(0x54, 3, "Read CTRL Display after update");

I am not sure if I'm just misunderstanding something but the results show:

reg(0x0054) 00 00 00    Read CTRL Display 
reg(0x0054) 00 00 00    Read CTRL Display after update

I guess I was expecting the register to say the backlight was on before I update it, but it says 00 even before I make the update- yet the backlight is clearly on. Any idea what I'm missing? Maybe it's the comment there about "control lines must be low"? I have no idea what that means. If you search the document for "control lines" nothing comes up.

The read above to 0x54 is because that's apparently where you read that register (unlike some where you call the same address to read/write): enter image description here

4
  • 1
    the datasheet shows multiple backlight controls
    – jsotola
    Commented Apr 27, 2022 at 4:54
  • 3
    I was recently also experimenting with this kind of display (ILI9341) and found this particular command not to do anything. I ended up controlling the backlight with a PWM signal, but it seems that your breakout board does not expose the backlight wire.
    – PMF
    Commented Apr 27, 2022 at 6:33
  • @jsotola yeah I saw those, but wondered if they did nothing too. Like the driver chip supports it, but isn't physically wired up to the display or something. Commented Apr 27, 2022 at 14:10
  • @PMF there's certainly no pin with a label like that for sure. Commented Apr 27, 2022 at 14:12

1 Answer 1

3

That screen has no backlight control. The same chip is used on many LCDs and whether the inbuilt backlight control registers are used very much depends on the screen the chip is attached to.

If you want to control the backlight you will have to modify the shield to allow access to the right signal. I can't get a schematic for that specific screen, but from the images it looks like R2 on the underside may be a current limiting resistor for the backlight. Removing that resistor may turn off the back light, in which case you could replace it with a suitable transistor and similar resistor (you will have to check if it's high-side or low-side switched - does it provide power to the LEDs or sink it to ground) which you can control from a free GPIO pin.

1
  • Thank you very much for the clear answer with options :-) It makes a lot of sense. I guess I'll just end up not using it as a shield so I can use a GPIO pin to just turn the whole display off when it's idle. Commented Apr 27, 2022 at 14:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.