Live data from Hacker News

Show HN: Low-power Kindle-based dashboard

github.com

61–70 of 74 posts

Re: Show HN: Low-power Kindle-based dashboard

#61
post #55
post #51

Earlier quoted context omitted.

The ht program doesn't appear to support conditional downloads. It also doesn't support a HEAD request, which is odd, as it supports GET, POST, PUT, PATH, DELETE. With a HEAD request, you could do the Etag or Last-Modified comparison yourself. I suppose you could just download the image and do a "diff -q" or compare an MD5 checksum, or even just file size. Or use a different tool maybe? I see that rural supports head…

I could replace ht with another HTTP client. I just picked it because it was the easiest way I knew to compile an HTTP client with statically linking openssl. If anyone knows an easy way to compile curl with statically linked openssl, let me know! It would also not be difficult to build a small custom client based on Hyper or Reqwest. Though I'm not sure if it would actually make a large difference with only 20 scree…

If it's really just the screen refresh that's to be avoided, I think just comparing old download /new download with "diff -q" would be a reasonable solution. Of course, perhaps the Kindle doesn't have a diff binary. But maybe it has "sum" or "md5sum" or something else in that space.

Re: Show HN: Low-power Kindle-based dashboard

#62

I made an eink clock / status display a while back. The thing ran on a tiny lithium-ion battery for weeks, which was nifty. But the flash when the screen refreshes every minute is super distracting if it's anywhere in your field of view. That to me was a dealbreaker. (If it helps, the datasheet says that it damages the display to refresh it every minute, and it did indeed die mysteriously after a year or so!) I think…

It's possible to refresh e-ink without a global flash if you are careful and have a clever controller. I don't think this video directly addresses this but it gives a good overview on the problem space https://www.youtube.com/watch?v=MsbiO8EAsGw

Re: Show HN: Low-power Kindle-based dashboard

#63
post #55
post #51

Earlier quoted context omitted.

The ht program doesn't appear to support conditional downloads. It also doesn't support a HEAD request, which is odd, as it supports GET, POST, PUT, PATH, DELETE. With a HEAD request, you could do the Etag or Last-Modified comparison yourself. I suppose you could just download the image and do a "diff -q" or compare an MD5 checksum, or even just file size. Or use a different tool maybe? I see that rural supports head…

I could replace ht with another HTTP client. I just picked it because it was the easiest way I knew to compile an HTTP client with statically linking openssl. If anyone knows an easy way to compile curl with statically linked openssl, let me know! It would also not be difficult to build a small custom client based on Hyper or Reqwest. Though I'm not sure if it would actually make a large difference with only 20 scree…

I wrote something like this using reqwest for a Waveshare 7.5inch display. Also includes a dithering step so all that is needed is a web server serving an image. No conditional requests though but should be easy to add. It is fully statically compiled (even uses musl and rustls), runs on a very bare-bones Linux environment on a Raspberry.

https://git.pixelspark.nl/pixelspark/sparkboard

Re: Show HN: Low-power Kindle-based dashboard

#64
post #60

Earlier quoted context omitted.

Would love this jailbroken, a text dedicated device would be wonderful for coding, terminal emulation, even e-mail.

This? https://www.clockworkpi.com

While that does look nice it lacks what I consider the killer feature of the above device: e-ink display, and with it the benefits of reduced eye strain and enhanced battery life.

Re: Show HN: Low-power Kindle-based dashboard

#65
post #55

Earlier quoted context omitted.

I could replace ht with another HTTP client. I just picked it because it was the easiest way I knew to compile an HTTP client with statically linking openssl. If anyone knows an easy way to compile curl with statically linked openssl, let me know! It would also not be difficult to build a small custom client based on Hyper or Reqwest. Though I'm not sure if it would actually make a large difference with only 20 scree…

I wrote something like this using reqwest for a Waveshare 7.5inch display. Also includes a dithering step so all that is needed is a web server serving an image. No conditional requests though but should be easy to add. It is fully statically compiled (even uses musl and rustls), runs on a very bare-bones Linux environment on a Raspberry. https://git.pixelspark.nl/pixelspark/sparkboard

Nice work!

Re: Show HN: Low-power Kindle-based dashboard

#66

I made an eink clock / status display a while back. The thing ran on a tiny lithium-ion battery for weeks, which was nifty. But the flash when the screen refreshes every minute is super distracting if it's anywhere in your field of view. That to me was a dealbreaker. (If it helps, the datasheet says that it damages the display to refresh it every minute, and it did indeed die mysteriously after a year or so!) I think…

That's a good point. I'm using partial refresh for this reason, which works quite well because the screen is relatively static (I do a full refresh after 4 partial refreshes, to remove the minor ghosting that does occur). But if your dashboard shows a lot of different content you'll have to do full refreshes, which on the Kindle at least also cause a flash.

Re: Show HN: Low-power Kindle-based dashboard

#67
In addition to the power efficiency, one advantage of an e-ink screen is that it does not illuminate a room at night. And interestingly, a Kindle or similar device still seems to be the cheapest way to get a touch-enabled e-ink display of a reasonable size.

FWIW the Kindle Paperwhite also has an Experimental "Beta Browser" that can display websites and execute some JavaScript - I am using that for a similar project, a basic dashboard / light switch web application hosted on a Raspberry Pi.

https://github.com/janhapke/screendle

Re: Show HN: Low-power Kindle-based dashboard

#68
post #30

It's a pity there isn't more action in the e ink application/device world. Seems like there's so much potential. I'd love a kindle-like laptop for writing. I guess it's just extremely hard to compete for a beachhead against an incumbent (mobile touch displays) that's more general and mass produced.

In terms of a Kindle-like laptop for writing, I’ve seen people enjoy the Freewrite Traveler (though it’s not for me): [1] https://getfreewrite.com/products/freewrite-traveler

That is a very opinionated writing tool. It has no arrow keys. Does it support editing, or only writing?

Re: Show HN: Low-power Kindle-based dashboard

#69
Reminded me of the tool turning Pocketbook E-Ink readers into computer monitors, which I made several years ago:

https://github.com/borzunov/remoteink

This could also be used for the dashboards if connected to a remote server or a Raspberry Pi (no screen updates happen if the content doesn't change).

Besides that, it allows to zoom in/out, switch between the opened windows, and move around the screen with keyboard shortcuts. No jailbreak is needed for the reader.

Re: Show HN: Low-power Kindle-based dashboard

#70

I made an eink clock / status display a while back. The thing ran on a tiny lithium-ion battery for weeks, which was nifty. But the flash when the screen refreshes every minute is super distracting if it's anywhere in your field of view. That to me was a dealbreaker. (If it helps, the datasheet says that it damages the display to refresh it every minute, and it did indeed die mysteriously after a year or so!) I think…

It's possible to refresh e-ink without a global flash if you are careful and have a clever controller. I don't think this video directly addresses this but it gives a good overview on the problem space https://www.youtube.com/watch?v=MsbiO8EAsGw

Yeah, I've seen Ben's video but used a different controller and didn't get very good results with my (very cursory) tweaks to the various tables that controlled the refresh.
Post reply on HN