Hacker News new | ask | show | jobs
by qrohlf 1181 days ago
They’ve offered this product in 5.7" and 7.3" sizes for at least a year.

I have one in the 5.7" size that I use to show realtime BART departures for the station near my house. It's useful but the 30sec refresh time means I'm limited to showing arrivals in wall-clock times (i.e. "5:38pm") rather than the more useful relative time format ("11 minutes from now").

If I was going to upgrade, I would probably ditch the color support, use a Banana Pi Pico for the controller (cheaper, has USB-C instead of MicroUSB) and go with a higher resolution monochrome display with a 1sec refresh, like this one: https://www.waveshare.com/6inch-hd-e-paper-hat.htm

3 comments

I have a three-color, 5.3 inch display. It takes around 25 seconds for a full screen update.

But with some waveform hacking (courtesy of the seller, “GoodDisplay”) and some creative use of the controller chip interface spec which differed slightly from the display interface spec…

I’ve managed to get rapid, partial black and white updates working. So you can create a ‘background’ out of three colours, then so long as you update rectangles that only contain black/white pixels, you can do a sub-second update.

Mine is a display that sits inside a PC, it shows the time, CPU and GPU temperatures, updated once a minute, and has a black/red fractal pattern that only updates on a full refresh which I scheduled for every 15 minutes.

Something similar may work with yours?

> I would probably ditch the color support

The problem is not inherent to the eink technology: I can read comics, browse the web in color on the Boox Nova Air C, or even watch youtube.

The problem is waveforms etc trying to provide a picture perfect rendering when rough blobs of color may do the same job.

(I couldn't verify this quickly, but it's something I've heard a few times)

E-Ink Carta uses an LCD layer for the color filter, so it has standard E-Ink response times. These things seem to have multiple pigments, which have different weights and are separated from each other by quickly pulsing the display back and forth right, which takes a long time.

For this kind of separation waveforms probably matter a lot more, but hobby applications seem to have been doing fine with custom waveforms. They may not perfectly respond to the current temperature or have optimal ghosting prevention, but they do (from all examples I've seen) produce good images. Getting fast updates seems to be mostly a function of daring to drive the device with high power (which can lead to stuck pigments if overdone, but this can often be corrected with some flashing).

display "+11m" instead of "5:38 PM" ?
The problem is the duty cycle, not screen real estate - if you show a relative time, it needs to update frequently to remain accurate.

If it's 5:27 right now and the BART comes at 5:38, I need to update once per minute if I'm showing a "+11m" for that relative time to remain accurate. Since the display takes more than 30s to refresh and isn't readable while it's refreshing, that means it's useless > 50% of the time I try to glance at it.

Whereas with my current setup, I only update it once one of the BART arrival times is no longer in the future. So, right now it's showing arrivals at 6:23, 6:29, and 6:44. Which means the display will update at 6:23, 6:29, and 6:44. There's a little extra optimization added to only show BARTs that are at least 5min in the future, since the BART is a 5min drive from the location where the display is. Depending on the BART schedule, all this works out to roughly ~8min update cycle on average, meaning that the display is only unreadable due to refreshing about 6% of the time, which I find to be very acceptable.

Clearly the solution is to have two displays refreshing on a 30 second alternating cycle! Maybe add a third black and white high frequency screen displaying an arrow pointing to the currently active screen. I jest:)

It actually really makes me want to build a Solari board for my local metro station.

No need for a third display, just put the alternating primary displays on opposite sides of a giant flipdot.
When it's now 10 minutes away (data unchanged) you'll need to spend 30 seconds refreshing the screen to say that and then it'll be 9 minutes away.

So they show the time for 11 minutes instead of spending 30s of every minute refreshing the display.