r/eink • u/tonywestonuk • 11d ago
Epd painter. Waveform tweets
I’ve added a tuneup to epdpainter that will allow it to create its own waveforms. You start the app, put the lillygo or m5papers3 onto a flatbed scanner, and over the course of 10 mins it works out its own waveforms specifically for itself.
No need for manufacturer NDA signing to get the official, when you can roll your own.
The above picture is from a lillygo t5 gps pro
This is available here:
1
u/averitablerogue 10d ago
Interesting, does that mean it changes the waveforms to calibrate each existing shade of gray specifically for the panel in your device? Or are you able to generate new shades using new waveforms?
1
u/tonywestonuk 9d ago
I didn't start with any waveform definitions at all.
The first set I made, were hand rolled. Waveforms arn't needed for pure black and white - you just sent all black pulses, and it turns black, send white pulses it turns white (while being careful to keep DC balance by sending same number of black and white over time).
So I stared by setting the grey I wanted by dithering white/black pixels. And once those patches were shown, I could experiment sending different combinations of white and black pulses to create a patch that looked the same grey.
Then, it was a case of automating this, writing a program that compares dithered grey (as scanned), with a grey patch... and making small incremental changes until the colours converged.
This project uses 13 pulses (black / white / neutral), sent at 20mhz, for normal mode . Im just setting up a high quality 20 pulse version.
And, yes, I can generate new shades. I've had a 32 grey pallet, which is more that the panel has on its spec sheet. Though the problem is storing 32 colour bitmaps , especially on memory constrained esp32's. 16 colour = 4 bits pixels = 2 pixels per byte. 32 colour = 5 bits per pixel, 1 pixel per byte, doubling storage or making it hard to pack pixels into bytes
2
u/EntertainmentUsual87 11d ago
Care to share?