Inkplate 6 display fading and VCOM calibration guide

Customer:

I recently bought an Inkplate 6. Initially it worked great, but now the e-ink display appears faded—the black is about 60% of its initial darkness. Is it possible to run some kind of screen calibration? Also, the LED power switch snapped off, leaving the pins floating.

Originally submitted via email support on 12 August 2023. Migrated to the forum for community visibility.

Soldered Support:

The darkness of the e-ink is adjusted by a voltage called VCOM. Go to examples/Inkplate6/Diagnostics/Inkplate6_Factory_Programming_VCOM. In this example, go to line 50 and change the EEPROMaddress from 0 to, for example 5 or 10 or any number. Then, go to line 91 and comment out the call to testPeripheral(), as your device has been tested fully already and to finish some of the tests you would need additional hardware—so it’s totally fine to comment it out. After uploading the sketch and running it, open the serial monitor at 115200 baud. Now, you will be prompted to enter a value for the VCOM voltage. This is where you can experiment a bit. Usually, the VCOM voltage is written on a sticker somewhere on the flat ribbon cable of the display. Start from that VCOM value. If there is no sticker there, try a value like -1.2 and see how images will look. Then go 0.1 higher or lower. Usually the values we expect for VCOM are between -1.0 and -2.5, but it all depends on the ePaper display. As a side note, every time you run the sketch you will have to change the eepromaddress variable to a different number.

Attachment omitted in migration: image.png

Customer:

Perfect—now it looks much better. The screen is glued to the PCB so I couldn’t see the sticker, but -2.0 works fine. Is there a probability of damaging the unit if the negative voltage is too low? I see potential here for being able to calibrate a unit over-the-air if a user has a similar experience. Also, the Inkplate features a number of GPIOs for the ESP32. However, according to the diagram, they’re basically all in use by the display. Are the GPIOs available for use anyway when the display is not updating? Like changing the GPIOs to input when the display is not in use and set them to output when the display is updated?

Attachment omitted in migration: A6ED059CCCD34757ABBB09083B49512B.png

Soldered Support:

There isn’t really a way that this could damage the unit as the range of VCOM can vary between ePaper displays—this should not damage the ePaper itself, just change the appearance, as long as it’s in the normal range (from ~-1 to -5 even, on some displays). For GPIO, there are GPIO expanders on your version of Inkplate 6. To see how they are used, check examples/Inkplate6/Advanced/IO where you can find examples on how to use the Internal and External GPIO expander. Some pins of the Internal GPIO expander are already in use so I recommend the external GPIO expander in most use cases.