Customer:
I ordered an Inkplate 6 with enclosure. The product features list mentions “three capacitive touch pads”, but I can’t find them on the board. Am I missing something?
Originally submitted via email support on 26 July 2023. Migrated to the forum for community visibility.
Soldered Support:
There is an older version of Inkplate 6 which does have the touchpads. The current version in stock is newer and does not have them. The website information has been corrected.
Customer:
I needed the touchpad for my project, so I worked around it by connecting ttp223 boards to a GPIO pin. They fit tightly in the 3D printed case on the bottom part of the front side without needing glue.
I also got ESPHome working with the Inkplate 6 newer version, though it required some adjustments from the older version documentation:
- Instead of the mcp23017 hub, I had to use pca6416a
- The waveform is different
- The protocol was slightly different; I had to remove the last clock from the display functions
Are there any other differences from the older board revision I might have missed? Some documentation highlighting these differences would be helpful, as it wasn’t trivial to find this information.
Attachment omitted in migration: image0.jpeg
Soldered Support:
The GPIO expander difference between versions is documented here: Inkplate Arduino — Inkplate docs documentation
ESPHome support for older models is publicly available. We have also worked on ESPHome support for the newer versions, though it isn’t fully published yet as we need to make a PR to the ESPHome repository. We wrote the code for the PCAL expander ourselves to make it work with Inkplate.
The GPIO expander is the main difference. For Arduino, this means using a different board definition and different code, since communication with the ePaper display is done over the GPIO expander. What is being written over the GPIO expander should be the same as the ePaper panels share the same controller. Regarding removing the last clock: this is something we didn’t have to do when porting the microPython drivers to the new Inkplate models. But it’s good you found a solution that works for you.
Attachment omitted in migration: PCAL6416A-ESPHome-Component-main.zip
Customer:
Thanks for the documentation link.
I made a pull request to ESPHome which was approved, with the modifications I made. The last clock cycle issue I mentioned comes from the SolderedElectronics Arduino library:
https://github.com/SolderedElectronics/Inkplate-Arduino-library/blob/master/src/boards/Inkplate6.cpp#L286
The old library worked with the older waveform and extra clock cycle, but had artifacts: a few pixels wide line would not switch pixels and showed grey/white alternating stripes instead. Every second row was not displaying properly and things got misaligned. Removing the clock cycles and changing the waveform solved all that, and I pushed that fix into ESPHome.
Soldered Support:
I spoke to a colleague and we are currently working on I2S support for those panels, which should fix the timing issues and will be pushed to the main Arduino library branch after further testing. You were correct—there are differences between the old and new Inkplate models with timing, as they use a slightly different ePaper.
We appreciate your PR for ESPHome. Other users love using Inkplate with ESPHome, so this was on our radar. Our main support for Inkplate products is the Arduino driver, but we know the ESPHome support is valuable to the community. Great work finding all that on your own.