Although the most popular e-reader by far is the Kindle, some argue that its primary use isn’t even as an e-reader at all but rather as a storefront for one of the world’s richest companies. For those who want user-focused consumer electronics instead, we’ll often reach for something more untethered, like an off-brand ebook that’s nothing more than an Android tablet with an e-paper display or even a jailbroken Kindle freed from the chains of Amazon. But as our 555 enthusiast community continually points out, even these are overkill for reading books. Enter the ZEReader.
The ZEReader started out as a bachelor’s engineering thesis project by [Anna-Lena Marx], whose goal was an open-source, microcontroller-based e-reader instead of the Linux or Android ones most commonly available. She’s based the firmware around the Zephyr Real-Time Operating System, which is an RTOS geared towards embedded devices. With this as a backbone, it’s trivially easy to implement the e-reader on different microcontrollers as well as use a wide variety of screens. Although the firmware is a work-in-progress, it’s already mature enough to support all of the basics of an e-reader, such as reading .epub files, navigating through the book, and saving progress. It even includes basic HTML parsing.
As for the rest of the hardware, there are considerations made for a charging circuit for a lithium battery, a booster circuit for the display, a microSD card slot, and four control buttons. Some planned future improvements include solar charging capability, more advanced power management, and the potential of additional PSRAM. With the core in place and its open-source nature, though, it could be the basis of many e-paper projects as well. If you’re having a hard time deciding on an e-paper display for your e-book, though, you can always make your own from scratch. We’ve seen an Arduino solar book reader before, by the way.
Just because you can, doesn’t mean you should.
For a static screen hanging on the wall, I get it. But for a consumer device like this, why? Cost optimalization? The software development effort will be huge. All the stuff you have to write yourself, not allowing you to stand on the shoulders of others.
So we start off with basic epub parsing (its based ish on html afaik). But then reading pdf’s would be nice too. Doing a pdf parser on a micro? Good luck, but yes, possible maybe. Graphics rendering for comics? Same.Then, hmm maybe we want to sync over wifi with calibre. Oh but also think of wpa3, enterprise auth, etc. Possible, yes, but also effort. Support sd cards and usb drives? Decent GUI? The list goes on.
While I applaud the effort and if thats an itch that needs scratching, great by all means scratch it. But avoiding Linux/android because it’s overkill? I suppose it depends on your scope of course, but I strongly believe it usually isn’t.
Disclaimer, been an ’embedded’ engineer for 20 years now and have done a few ‘let’s use linux for this’ projects, often in a combination with a micro (due to realtime/isolationbof concerns) where the discussion also often was ‘but the micro could also do this.
That seems a bit harsh given that this was an engineering bachelor project, and is now a hobby.