I would actually buy a product version of this. I use a Remarkable E-Ink tablet and its pretty incredible. This would be quite nice, so only the notifications i really care about ( where i need to be ) show up without sounds and colors and all the distractions would be amazing
As someone seriously looking into buying a Remarkable - worth it? Forget the price for a second and compare the Remarkable to an iPad Pro w/ Pencil. Would you still grab the Remarkable to jot down notes, or would you much prefer the iPad?
Not the OP but I have a reMarkable tablet. I think it's far superior for writing notes (not really drawing due to the lack of color) or reading academic papers or other PDFs (that don't benefit much from color). The pen-on-paper experience is definitely better if you can look past the limitations of the display.
I use it for reading and annotating academic papers or PDFs of presentations, for which I find it superior to an iPad/Apple Pencil in just about every way except for sometimes syncing and transferring documents (this would be easier on Android platforms, though perhaps not iOS). That's still a little clunky particularly if you use Linux, but there are a variety of open source tools now to facilitate the process. The tablet doesn't natively store annotations as standard PDF annotations, but it's not a proprietary format, and this only matters if you SSH in to directly access files.
If you plan to get one now, consider waiting for or preordering the upcoming generation (July?).
I suspect that the price of the components put this out of the range that most people would pay for it, but I appreciate the sentiment.
While most of the IP at this point is open-source, if someone is excited about figuring out how to turn this into a kickstarter/actual sellable hardware product, I'd be willing to collaborate.
Joan has been around for a while now, and E-Ink is our main technology platform. It's a meeting room booking system, but works as a desktop calendar as well: https://getjoan.com
I have an Amazon Echo Show 5 on my desk that's connected to my calendar. I've updated the homescreen settings such that it only alternates between the current time and the calendar display, which displays the next upcoming event. (It also displays the date and current weather conditions.) Having used the Echo Show, I definitely see the appeal in a device like UpNext, and I wish there was a decent hack-able small display that people could use to build these types of devices. In the past I've paired a Raspberry Pi and a touchscreen display, but that's clunky and doesn't look all that great. A while back, I really wanted a Chumby[1], and I wish something like that still existed.
I would buy a product version of this too, even though I have calendar notifications on 3+ devices.
I really like the aesthetics. There's something human about it -- it reminds me of Susan Kare's work on the original Macintosh [1]. There's so much soul and whimsy in what were nothing more than B&W pixeled icons. There's a certain timelessness to it. Another example: HyperCard's main screen [2].
Another Raspberry Pi digital display project I really like is this one [3], which mimics a train station display. The aesthetics is powerful here too because the fonts etc. reminds one of something familiar in the physical world.
Very kind of you! I'm happy to help you set one up if you're willing to buy the components. The wiring is very simple, and while the code is open source, I'd also be happy to send you the SD card image if you'd like.
I appreciate the offer very much. Unfortunately I’m not much of a hardware guy and these days my attention is a little scattered due to all that’s happening around us. I do think it’s an inspired project though —- being able to glance at what’s next on the calendar without context switching seems really useful.
Yeah, I wouldn't mind something unobtrusive like a desktop clock that gently lets you know how much time you have until a next meeting or whatever. Thankfully I don't have many meetings nowadays, but a few years ago there would be a couple a day, ranging from daily stand-ups, interviews, all-hands presentations / demos, etc.
This is cool! I have some things like this around my house but via a different approach that I'd like to share: each one is just an old-ish e-reader from eBay or Craigslist, a mix of Kobos and Kindles. Both brands can be made to show a full screen web browser (Kobo: by editing a config file from a computer, Kindle: by jailbreaking and installing Kindle-Web-Launcher), so I have them display a page from a web server on my LAN.
Since the browsers support JS and some mix of WebSockets, EventSource, and, at the very least, long polling, it's possible to send messages out to them to update data in real-time or refresh the entire page when I change it. The screens are sharp and the browsers do partial updates, fast enough that I have some touch-draggable sliders that follow your finger.
They cost me from $16-50 each, depending on model. They tend to be cheaper if there's a lot of wear/damage to the case, but if you put it in a shell or cover the whole thing with gaffer's tape, that's not a problem!
That is a really cool approach! Is the kobo still usable as an e-reader after the config change? I own one but I have so little time to read lately that it is mostly taking the dust. Being able to use it as some kind of always on display, while being able to pick it up to read when desired sounds really attractive to me.
The browser is accessible out-of-the-box in the "Beta" section. You only need to edit the config file if you want it full-screen. If you open the browser with it set to full-screen, I believe the only way to exit is to restart the Kobo, bringing you back to the home screen. So yes, it is still fully usable.
Is there some guide to that you recommend/have you considered writing one? I've been thinking of doing e-ink display + rasberry pi but your approach sounds cheaper and likely better for the environment.
I have an old kindle where I was trying to repurpose it for this kind of thing but got stuck after trying to flash it with some custom firmware.... will try again this weekend.
These kinds of projects are cool, but I think they’re even cooler if they’re reusing stuff you already have in random drawers in your house
Is anybody else at the point of establishing their own digital calendar system? I feel like my main web-based calendar, one lots of people use, is powerful, but mainly in super boring ways. And it's functional, but mainly also in boring ways. It fits more like a generic pair of slacks, than a nice glove.
For example, I think I would cram the interface all the way up, and then slim down from there if needed. I may have some kind of material design-derived interface illness. I look at the interfaces of things like shortwave and ham radios and just think--yes, good, I am a big boy and can tolerate much more info-noise from my calendar display. Heck, cram the latest Get Fuzzy in there. And maybe even complex keyboard shortcuts, shell script integration, the sky's the limit!
I can identify with that feeling! I'm going to start conducting some experiments, see where it goes. I developed a new task-labeling system and it's been really helpful...intuitively it seems like taking on scheduling next would be a good idea. Vague, intuitive, but good. :-)
Have you tried Notion? I recently started using it to manage prioritized tasklists (though not calendar, I usually just make a plan the day before). Cramming too much in seems problematic from a deep work stand point, best to be able to focus on one thing at once
I'll check out Notion, thanks for the rec. I just realized that the XFCE desktop I use already has a lot of functionality which could be warped into building much of what I'm thinking about.
I think I can go heavier on the information density (e.g. maybe using a lot less white space than Notion does) as long as the information has a personalized reason for being there...
This is truly fantastic, the use of an eink display so that it doesn't shout for attention but is always ready is such a good call and in my opinion worth the additional effort. Thanks for sharing and making the code available for others to read and learn from.
I was hoping of building a similar one using a simple LCD [https://robu.in/product/3-5-touch-screen-lcd-raspberry-pi/] display, with a way to even showcase urgency/priority - and list at least next three events lined up for the day.
Possibly even add a color code / simple snooze button as the LCD is touch responsive. Found https://github.com/monitoror/monitoror and hoped to use it for this purpose.
I've been thinking of something similar, I have a tasklist system prioritized and sorted by value/time (in Notion), would be nice to use one of these e-ink displays to display top few tasks so if I have some free time I can immediately know what to do.
Looks like a satisfying project! Also, website design is nice - plenty of negative space and contrasting font weights creates an elegant, easy to read site. When I redo my blog, I would love to shoot for something similar.
I would really love to make one of these for myself. This would be my first Raspberry Pi project. However, I'm a little to scared to even step into it because I'm not a hardware guy at all - I wouldn't know which pins from the display goes where. I can solder stuff, but I'd need help figuring out what goes where.
Second scare is about how to get the software onto Raspberry pi W. In the past, all how-tos I have read just say "flash it" and go on to the next cool step, but I'm lost right there.... how to get the software into the thing? - SSH?
My point is, I'd appreciate a really beginner friendly write up of your project. From the parts list, how to connect everything, and how to get the software on to it. I'd pay for such a tutorial rather than the finished product. I know it is your time that I am asking for, but I wish you found time to spare to help a beginner like me.
Except it's not that hard to accidentally fry a Raspberry Pi. I did that to two or three of them when I was experimenting. They would still boot up at first, but the CPU chip would immediately get burning hot to the touch, and the only way to get it to stay on was to blow on it continuously. I don't remember what I did to fry them.
- What wire goes where will generally be explained to you. These boards all have a set of pins that do standard things, and are labelled via a "pinout" diagram. See https://www.raspberrypi-spy.co.uk/2012/06/simple-guide-to-th... for details if you're interested.
- Getting software onto a Pi is super easy. You have to "flash" a linux distro onto an SD card. There's a GUI tool that does this for you, all you need is an SD card, a computer with an SD card reader. Then you pop the SD card into your Pi, and you can boot into a full linux desktop, complete with internet, Gnome, etc. https://www.raspberrypi.org/documentation/installation/insta...
Normally the first step to flash an SD card is to use Balena etcher, very easy to do: https://youtu.be/kWRx40Q8B_A (random YT tutorial)
After that, you can indeed use SSH and the command line to install the software of your choice, e.g. with Docker (you should assign your RPi a static IP for convenience).
This was a labor of love, so it’s definitely not that I don’t have time - more that no project of mine has ever been this popular, so normally no one asks for the tutorial!
As others have commented, this project is mostly software and would be a great introduction to building physical electronic gadgets.
How about this - I think there’s enough context in the blog post and source code to recreate it, but if you start out and run into any issues, send me an email and I’ll get you unstuck. In exchange, I’d ask that you take detailed notes of your process and post a blog post/github readme of how you got it running for others to follow, and I’ll link to it.
I made an e-ink clock, but ultimately found it unsuitable for my desk. The problem is that when the display refreshes, it switches from white to black and back to white, and all this activity in the corner of your eye ends up being quite distracting. You are guaranteed to look at it whenever it changes, making it worse than a notification on your phone in terms of interruption. That might be the right thing for "you have a meeting now!" (you're interrupted anyway), but it's not great for passive information like the time.
I am told that with some amount of hacking and a supportive chipset/vendor, you can avoid most of this without reducing the lifetime of the display with the right calibration constants for the device... but nobody seems to have open-sourced anything like this and even places like Adafruit don't provide proper datasheets.
I didn't design these things, so all I know is that the datasheet says the lifetime will be reduced if you update it more than once every five minutes. A clock with a minutes display exceeds that by 5x.
(And indeed, the display I used did break! I have no idea why, but it just stopped updating one day.)
I can provide some context here - from my experimentation, after 10 partial updates the contrast is notably worse, but doing a full screen refresh resets things sufficiently that the screen looks sharp again.
To reduce degradations further, whenever UpNext boots it does a cycle of 10 full screen refreshes - overkill certainly, but I think of this as the “cleaning cycle.” If the screen ever starts to fade, I power cycle it, and it’s fine for a long time.
I’ve been running it continuously like this for 2 years now, and while the screen is a bit less sharp than it was originally, it’s still in good shape - the photos in the article are from this week.
Maybe it can be incorporated into the design: refresh as a kind of 5m warning before your next meeting. I’ve certainly enough meetings not to exhaust ten refreshes before the next head’s up flash...
The author of the article discusses exactly this and how they got around it. Seems that some updates have been made to drivers to only do partial screen refreshes.
You are correct - because I have a clock on the screen, UpNext does a full screen refresh about every 10 minutes. I thought this would bother me so did some explorations of a UI without the clock, but in practice I don’t notice the flashing, and I like having the clock.
A clock seems like a poor choice for an e-ink display. It's going to update once a minute or whatever interval you pick.
A calendar will only update when your calendar events pass, which at least for my usage tends to be limited to 30 minute intervals and generally only a few times a day.
For a clock you would be better off with a transflective LCD, if you can find one. There's a couple different variants and they're generally very small, but have high refresh rate and no ghosting.
Seeing as Nook Simple Touches go for about $20 on ebay and can be rooted to be a pretty basic Android 2.0 tablet, would this be a significantly cheaper and easier way of achieving the same results or is developing even the most rudimentary of apps for Android 2.0 an absolute nightmare in the modern day.
Waveshare is probably the easiest way to play with eInk today. If you're willing to look at different sizes, they offer displays with partial refresh already built in.
Agree, the waveshare modules are great. They’re also (surprisingly) available via Amazon Prime, which is nice when you’re excited about a project idea and don’t want to wait 2-3 weeks for a shipment from China.
From my experience with this project, all ePaper displays _can_ do partial refresh, but some may have the drivers (LUT) included, others you might have to find some community-sources ones or design it yourself. In the post I link to my drivers for partial updates for the 4.2”, and in the footnotes there is a YouTube video going into lots of detail on how the drivers work if you wanted to write one or update it for a different display.
Could you send some links to the community you found who were hacking away on the partial refresh drivers? I have a 7.5" that I started with and would love to work off of whatever has already been accomplished.
62 comments
[ 3.2 ms ] story [ 112 ms ] threadI use it for reading and annotating academic papers or PDFs of presentations, for which I find it superior to an iPad/Apple Pencil in just about every way except for sometimes syncing and transferring documents (this would be easier on Android platforms, though perhaps not iOS). That's still a little clunky particularly if you use Linux, but there are a variety of open source tools now to facilitate the process. The tablet doesn't natively store annotations as standard PDF annotations, but it's not a proprietary format, and this only matters if you SSH in to directly access files.
If you plan to get one now, consider waiting for or preordering the upcoming generation (July?).
While most of the IP at this point is open-source, if someone is excited about figuring out how to turn this into a kickstarter/actual sellable hardware product, I'd be willing to collaborate.
[1] https://en.wikipedia.org/wiki/Chumby
I really like the aesthetics. There's something human about it -- it reminds me of Susan Kare's work on the original Macintosh [1]. There's so much soul and whimsy in what were nothing more than B&W pixeled icons. There's a certain timelessness to it. Another example: HyperCard's main screen [2].
Another Raspberry Pi digital display project I really like is this one [3], which mimics a train station display. The aesthetics is powerful here too because the fonts etc. reminds one of something familiar in the physical world.
[1] https://kare.com/apple-icons/
[2] https://blog.archive.org/wp-content/uploads/2017/08/MTIyMzI2...
[3] https://www.balena.io/blog/build-a-raspberry-pi-powered-trai...
https://news.ycombinator.com/item?id=22604617
Maybe it could be hooked up to a microcontroller (Pi Zero with some NFC module or something) that turns on every 24h.
Since the browsers support JS and some mix of WebSockets, EventSource, and, at the very least, long polling, it's possible to send messages out to them to update data in real-time or refresh the entire page when I change it. The screens are sharp and the browsers do partial updates, fast enough that I have some touch-draggable sliders that follow your finger.
They cost me from $16-50 each, depending on model. They tend to be cheaper if there's a lot of wear/damage to the case, but if you put it in a shell or cover the whole thing with gaffer's tape, that's not a problem!
These kinds of projects are cool, but I think they’re even cooler if they’re reusing stuff you already have in random drawers in your house
Is anybody else at the point of establishing their own digital calendar system? I feel like my main web-based calendar, one lots of people use, is powerful, but mainly in super boring ways. And it's functional, but mainly also in boring ways. It fits more like a generic pair of slacks, than a nice glove.
For example, I think I would cram the interface all the way up, and then slim down from there if needed. I may have some kind of material design-derived interface illness. I look at the interfaces of things like shortwave and ham radios and just think--yes, good, I am a big boy and can tolerate much more info-noise from my calendar display. Heck, cram the latest Get Fuzzy in there. And maybe even complex keyboard shortcuts, shell script integration, the sky's the limit!
I think I can go heavier on the information density (e.g. maybe using a lot less white space than Notion does) as long as the information has a personalized reason for being there...
I was hoping of building a similar one using a simple LCD [https://robu.in/product/3-5-touch-screen-lcd-raspberry-pi/] display, with a way to even showcase urgency/priority - and list at least next three events lined up for the day.
Possibly even add a color code / simple snooze button as the LCD is touch responsive. Found https://github.com/monitoror/monitoror and hoped to use it for this purpose.
The code for the site is open source, feel free to borrow/steal.
And thank you, having examples to take inspiration from makes all the difference.
Second scare is about how to get the software onto Raspberry pi W. In the past, all how-tos I have read just say "flash it" and go on to the next cool step, but I'm lost right there.... how to get the software into the thing? - SSH?
My point is, I'd appreciate a really beginner friendly write up of your project. From the parts list, how to connect everything, and how to get the software on to it. I'd pay for such a tutorial rather than the finished product. I know it is your time that I am asking for, but I wish you found time to spare to help a beginner like me.
If you're like many others, you very likely teach yourself things often by investigating and experimentation :)
No reason you can't do that here.
These are (relatively) safe low voltage parts, a bit of googling and you'd be on your way :).
- What wire goes where will generally be explained to you. These boards all have a set of pins that do standard things, and are labelled via a "pinout" diagram. See https://www.raspberrypi-spy.co.uk/2012/06/simple-guide-to-th... for details if you're interested.
- Getting software onto a Pi is super easy. You have to "flash" a linux distro onto an SD card. There's a GUI tool that does this for you, all you need is an SD card, a computer with an SD card reader. Then you pop the SD card into your Pi, and you can boot into a full linux desktop, complete with internet, Gnome, etc. https://www.raspberrypi.org/documentation/installation/insta...
After that, you can indeed use SSH and the command line to install the software of your choice, e.g. with Docker (you should assign your RPi a static IP for convenience).
Lastly, here's a random example, installion of Hassio on an RPi: https://www.home-assistant.io/hassio/installation/
As others have commented, this project is mostly software and would be a great introduction to building physical electronic gadgets.
How about this - I think there’s enough context in the blog post and source code to recreate it, but if you start out and run into any issues, send me an email and I’ll get you unstuck. In exchange, I’d ask that you take detailed notes of your process and post a blog post/github readme of how you got it running for others to follow, and I’ll link to it.
I am told that with some amount of hacking and a supportive chipset/vendor, you can avoid most of this without reducing the lifetime of the display with the right calibration constants for the device... but nobody seems to have open-sourced anything like this and even places like Adafruit don't provide proper datasheets.
(And indeed, the display I used did break! I have no idea why, but it just stopped updating one day.)
Ben explains some of the constants that can be tweaked here: https://www.youtube.com/watch?v=MsbiO8EAsGw
To reduce degradations further, whenever UpNext boots it does a cycle of 10 full screen refreshes - overkill certainly, but I think of this as the “cleaning cycle.” If the screen ever starts to fade, I power cycle it, and it’s fine for a long time.
I’ve been running it continuously like this for 2 years now, and while the screen is a bit less sharp than it was originally, it’s still in good shape - the photos in the article are from this week.
A calendar will only update when your calendar events pass, which at least for my usage tends to be limited to 30 minute intervals and generally only a few times a day.
The 2.7 inch models are nice for people beginning with hardware because it's already built as a Raspberry Pi HAT, literally plug and play, no soldering or wires required. https://www.waveshare.com/product/displays/e-paper/2.7inch-e...
The bottom of that page lists the other models; look for the ones supporting partial refresh to get around that flashing distraction.
From my experience with this project, all ePaper displays _can_ do partial refresh, but some may have the drivers (LUT) included, others you might have to find some community-sources ones or design it yourself. In the post I link to my drivers for partial updates for the 4.2”, and in the footnotes there is a YouTube video going into lots of detail on how the drivers work if you wanted to write one or update it for a different display.
Hope that helps!