Hacker News new | past | comments | ask | show | jobs | submit login
Hacking Together an E-ink Dashboard (healeycodes.com)
290 points by nromiun on April 29, 2020 | hide | past | favorite | 89 comments



An alternative might be to jailbreak a Kindle 2 or 3, looks like you just need a computer and a USB cable to do so.

https://wiki.mobileread.com/wiki/Python_on_Kindle

https://wiki.mobileread.com/wiki/Kindle_Hacks_Information

The original OS runs, so what you can do is limited. There are examples of changing the “screensaver” from Python, but I couldn’t see how easy it is to get data into the Kindle (maybe needs USB, which would make it kind of pointless.)


Many Kindles have a web browser, using that wouldn't be too hard. Webkit if I remember correctly.

Though if you aren't a total stranger to C++, a 15x cheaper (4$) e-ink display that is just 50% the size, that can be controlled over SPI, would be nearly just as much effort but much less maintenance. IMHO at least.


Just to note... I've been lazy and haven't jailbroken mine yet, and tested out this weather display: https://github.com/matopeto/kindle-weather-dashboard

Now, although the concept of "screensaver" seems silly for a device where the display takes no power to update, I noticed that when I left the web browser up (disabling the screensaver as mentioned in the repo) it chewed through the battery very quickly, in about 24 hours. With the screensaver back on, it's holding a charge much longer. I'm going to have to jailbreak at some point.


A paperwhite is a good option since you can use the RTC to enter deep sleep and run one of these off battery. I did it with a kindle 4 personally(but couldn't use RTC) and the code is available: https://github.com/davidhampgonsalves/life-dashboard


Kindle displays are themselves also not hard to drive directly, and relatively cheap: http://essentialscrap.com/eink/

An interesting project someone did with one: https://hackaday.io/project/11537-nekocal-an-e-ink-calendar including pushing the display beyond its original (and currently commercial) limits of 16 levels of grayscale: https://news.ycombinator.com/item?id=16140284


I absolutely encourage exploring and experimenting, but I wouldn't call the current state (even now) of driving those displays easy. I had a few such displays (and have a decent amount of experience with electronics and reverse engineering), but they differ in subtle ways, and since no comprehensive spec sheets are available you end up futzing around a lot to get it to work. I used that essentialscrap link as well as spritesmods (both excellent resources) and any other little tidbits I could find but it still took lots of iteration until I could even get anything displayed! Not to mention from a technical perspective, driving the displays takes 5 different voltages, 4 of which are fairly atypical.

Still, they're really cool to mess around with, and cheap on eBay :)


A Kobo would be far easier. Some people have even written entire document readers for Kobos in Rust:

https://github.com/baskerville/plato


I've done this with a Kindle PW2 and have it showing the weather. It updates every morning and the battery lasts a month or longer. I went off reading on my Kindle so it was just gathering dust before that.


Only tangentially related, but has anyone tried jailbreaking early Nook e-readers from B&N?

Noticed I have one just sitting in the back of a drawer while cleaning the other day.


Yup, old nook ereaders can run full fledged android. A couple of years ago I used one as a hacky version of freewrite[1]

[0] https://lifehacker.com/turn-a-99-nook-into-a-fully-fledged-a... [1] https://getfreewrite.com/


That's awesome. Thanks for the link. Might have to take that up as a project to stave off the boredom one of the next few weekends.


I strongly believe there is a market for a large, thin, slow-to-update e-ink display to hang on the wall, connect to your phone, and display stuff. I'd pay it for it, wouldn't you?

I'm talking about an end-user product, not just a component for tinkering.


So far 100% of HN articles re: E Ink contain a comment like this. Sadly it is highly unlikely that you will get something like this at an acceptable price point.

We (https://www.visionect.com/) have been making non-ebook based E Ink solutions for a decade now. Except for Joan, our room booking solution (https://getjoan.com), we have not found a customer application that could survive the low-volume incurred high price of an E Ink solution (beyond E book readers and Note taking to some extent).

LCDs are simply too cheap and when customers get the option of going for a 75" color LCD display for a price of a 32" E Ink, it's a really tough sell to the consumer. The application really needs to make sense.

If you consider yourself as an outlier from the general feedback we got from the market, then do let me know - the 13" devices we offer come with a years worth of battery, have WiFi built in and our software allows you to display any web-based content or upload images. They even mount to the wall using a magnet. You can buy one on our online store.


Love what you guys are doing with Joan.

I strongly believe there's a place in the market for displays that don't feel like displays. I don't think there's much need for interaction, but passive emitters of relevant, useful, hyper local information that feel like a wall feature or design piece rather than screen could have high success rate.

I built a Smart Mirror for this purpose. It was mostly a mirror, in a nice wooden frame, but it also subtly told me when the next bus running down my road would be and whether or not I needed an umbrella that day.

The only reason it's not back up on the wall yet is because it uses a backlit LCD which is fine during daylight as the half mirrored glass hides this with enough light, but at night it's all lit up. If it were backed by OLED instead (impossible at a 24" size) it would feel much more magical.

There's lots of other ways of taking the same approach - furniture / feature first, display second, that I think could succeed as a popular product.


I have a few solutions for you:

1) Your monitor doesn't need to be the size of your mirror. Just the size of the display content.

2) Add a motion control or other type of sensor to turn on and off the backlight.


How much is only the raw cost of the display (say 15"), and how much would it go down with scale? It doesn't look like you guys are skimping on the other parts of the device, which I think a mass-consumer device could (should) do.

Arguing the other way: I think the other problem is that such a device doesn't make more money. Amazon can sell echos at a loss because it knows it lifts its other revenue streams.


There's https://shopkits.eink.com/product/42%CB%9D-monochrome-epaper..., a 42" monochrome display module, but it costs $2500 and it's a component, not a full solution. But, it could be made into a product, the components are all present. It'd likely retail at an easy $5000 - $10000 though, and I don't know if that is competitive with e.g. the Surface Hub (https://www.microsoft.com/en-us/surface/business/surface-hub... only found one price for it but it's $10K, but you get a full computer, high resolution color touch screen, etc.


Yep, I’ve been dreaming about this for years.. for me the critical component of it is no power cable.. just some (C?) batteries in the frame, and then it updates via infrared across the hall like grocery store eink price tags do. Bonus points if it’s color eink. Somebody please?


I read a thing on HN the other day that was about being able to change an eink display off of wireless power (not sure if it was "ambient" energy like wifi signals or a directed thing like Qi); it's slow but apparently possible to incrementally change an e-ink screen like that. Could work with solar panels, and I'm sure that could be integrated into the screen.


Yeah definitely, I'd stick a few around the house if it was easy to create a nice dashboard from multiple data sources. Current top tasks on to-do list, habbitrpg overview, last nights sleep quality, exercise amount/progress, weight status, indoor air quality, time and weather would be great.


Hah I did a similar thing a few days ago using their 6" paper display. https://blog.brixit.nl/epaper/

I chose to use the usb interface since had a server running to attach it to already


> I realized I was asking Google Assistant the same questions over and over again. Like What’s the current weather? or What’s on my calendar for today? So I set out to build a small dashboard for my Raspberry Pi that I could check instead.

Why not use a widget on the home-screen of your phone?


Every time I pick up my phone to check a piece of information or complete a simple task, I am presented with some other distraction that threatens to sidetrack me. When I don't want to be distracted, I often leave my phone in another room, turn it off, put it in a bag or even leave home without it. I've often thought of creating my own eink devices with focused purposes to help me get the information I need, while avoiding the distraction of a multipurpose device like a phone.


I liked Star Trek, where pads were commodity hardware and you'd have one for each task or report. Seems crazy at first, but it would really help with focus.


Yup. The way I understood it, PADDs weren't owned - they were just passed around, and circulated around the ship. I don't think it was ever shown, but I imagine that e.g. at the end of the day, the captain would wipe the 20-ish PADDs with reports accumulated over the day, and someone would later pick them up and carry somewhere others could pick them up again.

All of this could theoretically work better with our current technology - Internet, digital documents, file exchange systems; no need to pass around physical devices. Except somehow, it doesn't.


I think the "cloud" is helping to make it seamless to go from iPad to desktop to phone with one work item (like a report for work), but it's not quite there yet, I agree.

(I think in the Star Trek universe you would just reclaim the PADD in the replicator once you're fully done with it rather than move it around to some central "PADD library", right?)


Within an ecosystem (MS-only, Apple-only) it sorta works; much worse, if you need something from outside, then it doesn't.

RE replicators, you're right! I don't know why I haven't thought about it. PADDs are very simple as electronics go (even as today's standards go). DS9 showed people recycling dishes and food through a replicator, so the same would work for PADDs.


> Every time I pick up my phone to check a piece of information or complete a simple task, I am presented with some other distraction that threatens to sidetrack me.

Feels like a very good use of ML on the part of the mobile OS makers would be to decide, based on place and time and activity history, which of your active widgets should appear above the fold on the lockscreen of your phone.

(E.g., when near a bus stop, next-bus times should appear. First thing in the morning after the phone has been inactive all night, the "summary of the calendar events for today" widget should appear. Weather should appear ~5 minutes before you usually leave the house, if-and-only-if there's something useful to know, e.g. rain predicted for today. Etc.)

I know iOS has "Siri Suggestions", which is similar, but these are activity-history-corrleated tap-to-open links for apps, not specific actionable at-a-glance information.

I think Google Glass tried to do this?


Basically every kind of ML of this kind has pissed me off. It never knows exactly what I want and every time it gets it wrong it leads to a very negative experience. I much prefer dumb and predictable UI vs black box ML UI that doesn't know exactly what I want.


Yes, plus now Google or some other BigCorp has to know exactly what you are doing all the time.


It doesn't have to be cloud ML. It can run solely on the phone itself. Modern phones have tensor cores for a reason, and hopefully that reason isn't just animoji!


Yes but they will claim they need our data for training.


I don't know that machine learning is the best approach for presenting contextually available information. If you just base it on usage patterns and have a problem with distractions, it's very easy to end up with "You're doing literally anything, do you want to open reddit/twitter/facebook?"

But my iPhone does automatically pop up my grocery store membership card on the lock screen when I'm at the grocery store, and my boarding pass when I'm at the airport. I think that's currently done via Wallet and may not help with bus schedules, but a more curated approach does have some value.


I'm pretty sure Android puts these in the soft notifications area with the right settings.


> Feels like a very good use of ML on the part of the mobile OS makers...

The thing is, mobile OS makers, especially the ones with huge investments in data and ML, have a conflict of interest. A large majority of them are in the business of monetizing your attention and the data they can collect about you, not just helping you focus on what's most important to you.

This is a really good case for free/open OSes, and ML projects. But the resources needed to develop free and open software are much scarcer because they tend to be harder to monetize / not as profitable.


I would challenge the notion that the information is really needed.


Phones are multi purpose. You do a lot with it and having every piece of information crammed into layers of applications is not the best design.

Some pieces of information, specially those regarding productivity like calendar or a kanban board are better delegated to solutions designed just for that. A whiteboard, a dedicated LCD screen, an eink dashboard controlled by a raspberry pi... Take your pick, as long as it is always visible.


I have the hope that AR fixes this with new glasses and arranging virtual dashboards around the house.

The AR technology is already there, only the glasses are missing.


I.e. AR technology is already there, only AR technology is missing ;).

Rendering things is a solved problem. SLAM, arguably, too. But the whole idea of AR is to render synthetic images on top of the view of the real world, and sadly, that still feels very far away.

That said, maybe the AR-in-VR will be a good enough stopgap? Turns out, looking at the world through cameras isn't all that bad. I bought Oculus Quest the other day, which uses an array of cameras for SLAM (it's an untethered headset, meaning you can walk around the house with it), and can feed that camera data to you. Originally envisioned as a safety measure (if you leave your defined play area, the VR view transitions to camera pass-through), it's surprisingly good as a way to look at the world in general. Despite being monochrome and low resolution. If somebody can make a Quest-like headset with higher resolution screens and higher resolution, full-color cameras, this would be already halfway-usable AR.


I ask Google Assistant the weather every night just to get it to turn on the little LEDs. They light up the room enough to see where I am walking.


Gee, I have a super cheap plug in motion detector night light that does this function for less than $10.


With smart lights and the assistant, I actually do this as "Hey Google, lights to red".


He made a Google Home Hub but still...its a fun project.


Not everyone's phone can do that :(


It’s possible to get one of these e-ink display boards with an ESP32 microprocessor for not much more than the display alone. It has onboard WiFi and makes for an even smaller unit since there is no need to attach it to a Pi. It also ditches the operating system so you get an instant boot.

Programming is via PlatformIO, MicroPython or Rust (if you’re adventurous! - Rust is not quite ready for ESP32). Has reignited my interest in coding after a hiatus, and there is something that feels special about these eink displays.


Would it be possible to link to an example of what you mean?



I've used one of the Lilygo Eink boards (this one I think: https://www.aliexpress.com/item/32869729970.html). Their documentation (https://github.com/lewisxhe/TTGO-EPaper-Series) is marginally better than most Aliexpress sellers (still not great, and blatantly wrong for some things like the width of the JST battery connector).

There is a little driver funkiness with some of the boards and I've actually experienced something that looks similar to burn-in on mine, but the price is right and the form factor is great as long as the 2-3 inch screens are big enough for you.


Not to mention really low power then, right? So you could have it wake up once every few minutes to refresh and a battery charge could last weeks.


Yes, for sure. I think the standard ESP32 + eink combo module consumes about 7.5ma in deep sleep. If you desolder the onboard power LED it will be much less - possibly 1ma.


Source?


The article mentions turning off the display to avoid ghosting and links to an article about screen burn in; it was my understanding that e-ink displays do not suffer burn in? I was under the impression that e-ink ghosting is simply due to an incomplete refresh of the display (since this causes a flash and is time consuming)?

EDIT: Interestingly the datasheet for the component used does indeed mention this; does anyone have any insight here?


Due to the design of the screens (small capsules containing charged particles that move back and forth to create either black or white) the capsules can retain the charge that is passed through them if not cycled correctly.

This will cause the particles within to stay in whatever side of the capsule they were last in, essentially causing a dead “pixel”.

If this happens across as a whole image like a logo or text, it’ll permanently burn in.

This is solved by some flashing between colours, hence why the screens take so long to refresh.

Up for more detailed info myself though!


"Turning off" the screen seems like an invalid concept as the screen has no "off" state, white pixels are just as much off as black. Seems like all you need to do here is to just blink the screen every now and then. Even one blink cycle per day should be enough since ereaders usually go longer than that and are just fine.


I believe the danger is not necessarily when you are leaving the capsule in one state or another for a long period of time, I believe it is more to do with a transition. So if you’re going from black -> black you need to cycle to white to ensure you don’t burn the black in.

I’m not an expert though I’ve just faffed around with these displays myself a bit. The datasheets always err on the side of caution, I managed to get maybe 3fps out of mine, but that induced a lot of ghosting. I should try to get back to that project tbh.


Interesting stuff. I know my old ereader would flash the whole screen black and then white on each page flip. I'm actually really interested in creating a little dashboard that sits under my monitor so I can look down and see some important stats like if there are any peer reviews waiting on me and stuff like that.


yeah I believe that was the only option for older / cheaper displays. I recently got a kindle for a present and notice that when it can, it will try to refresh the screen as little as possible.

For example, when you press the top of the screen to bring up the settings, only the top cycles, and then the same when you tap below to get rid of the settings.

To that end, I would be interested in watching some high-speed camera footage of the displays just to see the gears turn. I’ll have a look round and edit this comment if I find any.

e: found one.

https://youtu.be/xc6cFkCr1-8

also a video from an engineering channel that normally gives good insight into these things, I have watched it yet so it may not be great, but Applied Engineering normally brings some interesting material.

https://youtu.be/MsbiO8EAsGw


I believe this (along with the other warning to not leave the display on because the high voltage may cause degradation) is either a specific characteristic of colour e-ink or the effect of "cost down optimisations" that affect reliability; ghosting is just due to the fact that not all the particles move at exactly the same rate, but I've never heard of burn-in either. Then again, the last time I looked into detail on e-ink was around when someone figured out how to drive cheap Kindle displays without the proprietary controller (http://essentialscrap.com/eink/ ), and those could be refreshed as slowly as desired, even "human" speeds.


This reminds me of "UpNext – an ePaper digital calendar for your desk"[1], which was posted on HN a month ago[2].

[1]: http://brettcvz.com/projects/6-upnext [2]: https://news.ycombinator.com/item?id=22628348


That's cool! I built something similar for our boat with a black and white e-ink screen https://github.com/meri-imperiumi/dashboard


I'm loving this group of E-Ink projects. First the newspaper, then the resources for buying the best screen, now this. Thanks for sharing. Especially around the Image API.

I think I'll have to take inspiration from (Copy!) parts of this project myself.


Would it work on any wifi-enabled e-reader to just take the browser in full screen and point it at a custom web page (auto-refresh) and be done with this?

Would it work?


I have something similar that shows when the next bus is leaving our nearest stop.

I really like it, and I would be tempted to invest in something larger for putting my calendar on the wall in my home office, but the big problem with this sort of thing is that cases are always a disaster.

My bus Pi is in a really janky case because there was only really a couple that would fit with the ePaper display on it.

If I could buy something about A4 size, in a sleek case that I could wall mount nicely, and have good hackability on, I would absolutely do it.


I used an IKEA picture frame for this purpose. It was relatively easy to fit one of the larger Waveshare screens inside, I only needed to cut a hole into the cardboard on the backside for the wires. A Pi Zero fits pretty nicely behind the cardboard piece that holds the screen in place, as the frame is rather thick.

If you only glance at it, it looks like I framed a paper printout of my agenda.



The Remarkable (an e-reader with a pen) is fairly hackable, but it's overkill for a dashboard.


Also very overpriced, imo. But it seems like e-ink displays are expensive in general.


I had the exact same idea a few months ago!

Google home is such an uncustomisable waste of time.

I ended up getting a 7.5 inch display from waveshare.

What I want is to know when the trains from my nearby train station leaves.

So I pulled the data off the UK National rail who have a free API.

And got some weather from the openweathermap API.

It updates every 5 minutes (well I turned it off since I'm not going anywhere these days haha)

And it's a super simple python script that uses a simple image drawing library.

Would recommend!


Off-topic: after years of struggling with obsolete Python versions (like author here with 3.5) I have recently discovered pyenv. Never again will I be left without f-strings! Kudos and thank you to authors.


The Nook Simple Touch is available used on eBay for $10-$20, and jailbreaks easily from the default shell to reveal a stripped down old version of Android, with browser and other pieces.


The browser is next to useless. It doesn't work with modern TLS and is pretty buggy.

I used a custom Android app on my Nook build - https://shkspr.mobi/blog/2020/02/turn-an-old-ereader-into-an... - that's the only way I could get information to display on it.


I almost bought this eink yesterday to test it out, but as I'm seeing here and I thought, it seems a bit small.

I am also considering getting a kindle and just putting a small html page on it so I don't have to get down to the pixel-level. I remember when I tried to use my now-defunct kindle that JS was giving some funny errors, probably should be treated as an old browser. Been holding out to see if a usb-c kindle comes up but people have been complaining for years now.


I did something like this on an old rooted kindle paperwhite.

I wrote the script in bash, it uses a cross-compiled imagemagick to render an image, then pushes it to the screen using the 'eips' command.

I still use it every day, it's my only living room clock now.


Inkplate may be what you’re looking for, though it isn’t shipping yet: https://www.crowdsupply.com/e-radionica/inkplate-6


I have my eye on that one. One of the creators just did an AMA on Discord an hour ago: https://discordapp.com/channels/571093131651448852/703384583...

I think I'm going to hold out for the Inkplate 10 (9.7" screen), which he mentioned when someone asked about upcoming plans.


This is the proper link to Discord: https://discordapp.com/invite/6EQjqNv


The html browser on e-ink kindles is absurdly terrible (I think intentionally to discourage using the 'free' 3G for surfing). You may be able to get it to work, but godspeed. While not e-ink, I bought a handful of cheap used iPad-minis and mounted them on the wall. Serve them a little HTML UI from a raspberrypi in the closet. I tried a cheapo kindle fire, but it wasn't possible to get the browser to go "full-screen".

I get the appeal of e-ink for a dashboard, but having fast-refresh, color, fast touch-response, a modern browser, and other things make for a much more pleasant UX (at the expense of being bright and having to worry about powering the thing).


To me, the appeal of e-ink is the fact it completely blends in with your room. There is no glow, no distraction when watching television. It's lit by your room. Also it doesn't feel "wasteful" to have it lit up when no one is in the room.


There are some Android-based e-ink readers (including some of the Nook models and various Chinese brands) that have modern-ish browsers, you can make a page and wrap it in a webview or write a normal Android app.


I did something like this too. I definitely chose the wrong e-ink display, it was extremely awful to work with. https://github.com/dmd/wxpaper


Could you expound on the issues you ran into?


There's only one (very bad) font and no way to address pixels. So for everything I wanted to do I had to load bmps (in a bizarre format) into it. Each number is a bmp, for instance.


I think this was what those little Chumby devices were attempting to do for people, but they've never seemed to be that popular. https://www.chumby.com/


I'm still postponing coding my own dashboard. Until then I run PaperTTY in VNC mode to display HTML in chromium...

Refresh is horrible on the 7.5in waveshare anyhow.


This is probably an easier option: https://www.crowdsupply.com/e-radionica/inkplate-6


This is one of those projects that would be wonderful if it were paired with a driver to be able to serve standard webpages on the display. Or just with a display driver for the whole pi and Chromium.


This is exactly what the Visionect Place&Play does: can display HTML5 content on E-Ink displays (see https://www.visionect.com/products/place-and-play/) and is packaged in a neat casing.

Disclosure: I work for the company


How about just buying an e-ink reader (there is a 13inch one that also btw works as an HDMI screen) that has a browser, and just point it to self-updating webpage?


I was looking into building something very similar right before I saw this post!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: