Inkplate 10 compatible ePaper displays and VCOM programming

Customer:

I broke the flat ribbon cable and glass on my Inkplate 10 screen while setting it up in a picture frame. I need to replace it with a new display from AliExpress. I noticed the screen model numbers changed between my older blue board Inkplate and the newer purple one. Can you confirm which version I should get?

Originally submitted via email support on 24 September 2023. Migrated to the forum for community visibility.

Soldered Support:

The compatible ePaper displays for Inkplate 10 are:

  • ED097OC1
  • ED097OC4
  • ED097TC2

These are available on AliExpress.

After receiving and connecting the ePaper, run the Diagnostics > Factory Programming VCOM sketch to set the VCOM and choose the waveform for optimal picture quality. The VCOM voltage should be written on a sticker on the flat cable; if not found, try -1.5 and adjust from there.

In the sketch, find the call to testPeripheral(); and comment it out or delete it (Inkplate comes pre-tested and the tests require additional hardware). Change the EEPROMoffset to a different number so you will be prompted to enter VCOM via Serial. All other instructions are in the sketch itself.

Customer:

I’m getting an error when uploading the VCOM programming sketch using the Arduino IDE: https://pastebin.com/Au8pHTHs

I then tried loading the same Arduino project in VS Code with PlatformIO installed and it gives many compilation errors: https://pastebin.com/pLqWxJmi

I installed the Inkplate libraries in both IDEs but can’t get the VCOM sketch to run successfully on this blue board.

Customer:

Using ESPHome, the screen goes black → clear → black before displaying the information from my config. What causes this?

Soldered Support:

Does the blinking happen fairly quickly (under 1 second)? That would be the normal ePaper refresh procedure. Check the photo of Inkplate 10 refresh behavior here: https://soldered.com/productdata/2022/12/Soldered-Inkplate-10-9.7-e-paper-board.webp

If it looks like this, it’s normal behavior. In your ESPHome config you can replace calls to full update (display.display()) with calls to partialUpdate (display.partialUpdate()) which will make the update much faster and prevent the screen from blinking, but every 10 or so partial updates it’s recommended to do a full one to keep image quality. For more info, check the partialUpdate example in the Arduino Library: Inkplate-Arduino-library/examples/Inkplate10/Basic/Inkplate10_Partial_Update/Inkplate10_Partial_Update.ino at master · SolderedElectronics/Inkplate-Arduino-library · GitHub