Hacker News new | ask | show | jobs
by birdsongs 28 days ago
That's exactly it. I was a firmware engineer at reMarkable making the latest tablets.

We had some secret eink sauce (propriety waveforms) to get the high refresh rates and colour contrast without a full flashing screen reset, but even then you need to run longer maintenance refreshes occasionally.

Pixels are just vertical columns of viscous fluid with charged ink particles. A waveform is just voltage changes over time to these columns to shift the particles up and down. More black to the top = darker shade of grey. Colour (in the gallery display, at least) is the same, just with each CMY particle group having different charges and responses to different waveforms.

Every once in awhile this vertical column gets messy with loose particles distributed through it (ghosting, muddy contrast) so performing a hard rail-to-rail voltage reset forces all the particles up and then down, and gives you a clean slate.

2 comments

Interesting. Thanks for sharing.

I have a question, hope it's not too sensitive, how do you guy protect your secret waveform ? One with enough tool and determination can just measure voltage at pixel and reverse the whole thing, the chinese can do that in less than a week i bet.

Few years ago I did an educational project to extract waveforms from logic capture - it was doable [1]. But this approach may have limits on newer faster FPGA based controllers.

[1]: https://github.com/prashnts/betty-epd/blob/master/notebooks/...

I always wondered about this as well. Linux regularly gains reverse engineered drivers and it seems like the same would apply. I guess this is probably how the hobbyist projects that drive the panels faster came about? I assume it's the same as the NDAs surrounding SoCs where the entire exercise seemingly only exists to spite the general public while serving no practical purpose. (Well I suppose pandering to nontechnical management's insecurities is a sort of practical purpose but anyway.)

But I was too lazy and/or uninterested to attempt low level tinkering with e-paper myself and these days you can finally purchase some reasonably(ish) fast panels off the shelf.

1 approach i can think of is having the waveform flashed in factory. On supported controller, you can reflash the stock Waveform with yours.

But still, that does not prevent one from measuring the voltage directly at pixel.

Out of interest, what (vaguely) is the amount of time you need between maintenance refreshes?
It really depends on the state of the screen. It's easier with reading PDFs, for instance, when you can get away with a full refresh on page turns.

Versus someone drawing on the screen with a lot of zooming and panning. People with the tablet would notice that when they stop a series of these actions that were back to back, the screen will "clean" itself after about 5 seconds of idleness.