Inkplate 6 coil whine and partial update behavior

Customer:

I’m experiencing coil whine when running Arduino code on my Inkplate 6. Can this be reduced with settings, or would a different panel help?

Attachment omitted in migration: Video.mov

Originally submitted via the contact form on soldered.com on 30 December 2023. Migrated to the forum for community visibility.

Soldered Support:

The coil whine could potentially be reduced from the VCOM. You can try adjusting it using the Inkplate6_Factory_Programming_VCOM.ino in the ‘Diagnostics’ examples. Remove or comment testPeripheral(); on line 91 and you will be prompted to enter the VCOM via Serial. Try values around the one you currently have (the optimal value could potentially be on the sticker on the flat cable connector of the ePaper) and see if it reduces coil whine.

Regarding partial updates: the idea of partially updating a part of the screen is something which remained from the older library. Partial update always updates the whole screen, so make sure to change only the pixels which need to be changed. If you need a work-around for this let me know, but we found this was a good enough system for all our applications. There is also the canvas object in adafruitGFX which may be good to use (it’s like a smaller frame buffer which you can draw independently to and place it anywhere on the screen).

Attachment omitted in migration: image.png

Customer:

I adjusted the VCOM once and it didn’t seem to make any difference to the sound. Would another panel or model potentially operate differently, like a 5" or 10" or the 6plus? Also, to confirm: partial updates are doing full refresh each call, but they only update pixels that have changed?

Soldered Support:

The coil whine is unfortunately unavoidable. More capacitors for power filtering could help if you want to tackle this yourself using the open source hardware repo.

Inkplate 5 has the fastest partial updates thus far out of all models, Inkplate 6 is the second fastest.

You are right about the partial updates: they update all the pixels that have changed, but only them. We recommend about 20 partial updates before doing a full refresh to retain picture quality.

The canvas object is already included in the adafruitGFX library which we use for Inkplate (TouchGFX is a different thing completely).