Inkplate 6PLUS display and backlight non-functional after arrival

Customer:

I received an Inkplate6Plus with peripheral mode pre-loaded on the ESP32. When I plugged it into USB to program it, the backlight would illuminate then de-illuminate in cycles. After a few cycles, “Touch Error” appeared on the display. I connected the serial monitor and observed the device was in a reboot loop. After more cycles, the device returned to the default peripheral mode graphic but now appears non-functional.

By non-functional, I mean the ESP32 loads and runs sketches (serial output works fine) but all display and backlight related functions do not work. I have tried various example and diagnostic sketches to clear the screen or turn the backlight on, and they are non-functional. Also, any call to display.tsInit(true) always returns false.

I have validated that the 3.3v power pads and rails are powered with the correct voltage.

Is there something I can test or debug to fix this, or is the unit defective?

Originally submitted via email support on 7 September 2024. Migrated to the forum for community visibility.

Soldered Support:

Could you first check which board definition you are using? There are ‘Soldered…’ Inkplate board definitions and ‘e-Radionica…’ Inkplate board definitions. Please swap to the other kind and then check if the basic>basic black and white example is working.

Customer:

I tried your suggestion of using the alternate e-radionica board with the black and white basic example sketch, and unfortunately the behavior persists - no change on the e-ink display.

I noticed that after uploading any sketch, “resetting via RST pin” doesn’t seem to work. I have to click the button off and on to reset the ESP32/device (as shown in the serial monitor).

I’m a software developer, not an electrical engineer, so I’m working through this carefully. After spending hours tracing the issue, I found that the backlight DAC and LED driver MOSFETs are not powered. They share a common enable pin: GPB3 on the MCP23017 IO EXPANDER 1. So GPB3 is not being set by the ESP32 for some reason.

Looking at the Frontlight.cpp code in the Inkplate library, I see:

void Frontlight::setFrontlight(uint8_t _v) {
  Wire.beginTransmission(0x5C >> 1);
  Wire.write(0);
  Wire.write(63 - (_v & ));
  Wire.endTransmission();
}

I know 63 is the maximum backlight brightness value, so this is the right track, but the I2C address of 0x5c >> 1 is unfamiliar to me.

I suspect there may be some issue with the ESP32 talking via I2C to the MCP23017 Expander 1. The MCP23017 has the correct required voltage, but I don’t have a way to analyze the I2C bus to verify if communications are correct. I may be going down the wrong path - any guidance would help.

Attachment omitted in migration: IMG_20240909_133716_765_SMALL.jpg

Attachment omitted in migration: RdLeJzAaYbcT0tNK.png

Attachment omitted in migration: IMG_20240909_133655_717_SMALL.jpg

Customer:

I have progress to report. After diving deeper with the board selection, I positively identified my board as an e-radionica.com board by the PCB color (blue) and the population of two MCP23017 IO expansion ICs.

The good news: once switching to the correct board, my isolated hardware test with the backlight now works. I’d love to know the difference between the boards - did the ESP32 pin-outs for I2C change? I can confirm all the hardware is powering up and communicating properly. I’ve also validated the touchscreen works as expected using the touch-serial example sketch. The odd RST issue is now resolved too - the board resets after sketch uploads automatically.

The bad news: I cannot get the display to change, update, clear, etc. It appears stuck on the Peripheral mode ready screen. I have tried the black & white example sketch, the burn-in clear diagnostic sketch, and a simple custom sketch to clear the whole screen. The TPS65186 seems to be functioning okay and is reporting PWR_GOOD. I have even tried re-seating all the cables.

Attachment omitted in migration: RdLeJzAaYbcT0tNK.png

Attachment omitted in migration: IMG_20240909_133716_765_SMALL.jpg

Attachment omitted in migration: IMG_20240909_133655_717_SMALL.jpg

Soldered Support:

Good that you’ve confirmed your board is the e-Radionica type with the MCP23017 GPIO expander - use the e-Radionica board definition going forward as this is crucial for the driver to work correctly.

I believe we should focus on why the display isn’t updating at all, as fixing this will likely fix the other issues.

Please try to re-connect the flat cables carefully - avoid creasing them as they are delicate. Undo the latches, remove the flat cable, place it back in, make sure it’s inserted all the way, and close the connector.

Then upload the basic black and white example for Inkplate 6PLUS. Does the picture update?

Attachment omitted in migration: image.png

Customer:

I have carefully disconnected and securely re-connected the display cable, but the display still does not change with any of the sketches. I have also validated all the voltages from the test points provided next to the TPS65186, and they are within the correct ranges. What other suggestions do you have?

Attachment omitted in migration: image.png

Soldered Support:

Let’s try one more thing. With the e-Radionica Basic Black and White sketch uploaded, power off the Inkplate. Try connecting the main display connector not by inserting the flat cable all the way, but just enough so that the white line is barely visible. Give it a few tries.

Attachment omitted in migration: image.png

Customer:

Success! The connector was not seated quite right. It took me considerable trial and error to find the correct position of the cable that allows the display to work fully. The line looks slightly crooked, but this was the only position that worked 100%. I’m not sure if this happened during shipping or if the connector was slightly off from the factory, but everything is working now.

Attachment omitted in migration: IMG_20240911_124436_329.jpg

Attachment omitted in migration: IMG_20240911_122022_681.jpg

Attachment omitted in migration: image.png

Soldered Support:

Glad to hear it! Sometimes the issue turns out to be as simple as a not-quite-right connector, even after checking all the technical details like TPS voltages.

This connector was upgraded to a different one in newer iterations of Inkplate 6PLUS (now called 6FLICK). In the factory we program and flash these devices so the connector worked fine, but older models that were in storage may have had the connector slide out slightly over time.