I2C Question about Hot Swap

I have a I2C 20X4 LCD Screen In my application I need the particle device to stay on, running on battery and the LCD to turn off. But when I want to turn on the screen restart the I2C connection. Could I use a TCA4311ADR? Has anyone done this?

@DanielF7 I turn off the power to peripheral devices that communicate over I2C to enable lower power sleep using a Photon. Because you haven’t specified which device you are using I will base my answer on the Photon with control over the power to your display and not using a TCA4311A - a Hot Swappable 2-Wire Bus Buffer. How are you powering the LCD display? Directly from the Photon? Is the backlight powered from a PWM pin?

Essentially, I don’t believe you need a hot swappable I2C bus buffer. You need to be able to control the power to the LCD controller and to the backlight using a MOSFET. I would look into the commands for your LCD display I2C interface and whether there is an LCD controller off/sleep command. You might want to call this before you power off the display. When you re-power the display you might need to call lcd.begin() or whatever the driver method is to re-initialise the display controller but since you have not powered down the Photon which is the master there is no need to call Wire.begin(); but neither does this seem to matter.

2 Likes

@armor I and using LiquidCrystal_I2C_Spark.h and I can turn off the back light with “noBacklight()” and I will be using it on a Boron LTE. I will have to give it a try. Thanks