The eReader (v1)

August 27, 2023

TLDR: I made an ereader.

The longer version... Yes, I made an ereader. Am I using "made" loosley? Kind of. But at the same time I know I'm being overly humble. I have searched all over the internet and as far as i can tell im the only person who went far enough to have epub support in their ereader project. Every project ive found seems to hover around the ability to read txt ebook files that you can get from project gutenburg.


Now I'm not claiming I did this alone. A lot of the functionality comes from ebooklib, another open source project that helps with decompressing the epub files. (epub files are seriously just zipped up xml/html files! That was unexpected.) Using python, I feed an epub file into the ebooklib API, then from there I split the file into pages with math based on the size of the eInk screen being used. From there its written to the display with EPD drivers provided by waveshare.

Its slow, its clunky, its tiny, BUT IT WORKS.

Its inconvenient to use and thats why I enjoy it so much. Why did I do this? Well, I'm not entirely sure. I mean, I like reading. I read somehwat often too. I guess this really started as I watched foldable/dual screen devices come out. I wanted to build a dual screen folding ereader. Did I build one? ...no. But this is v1. As of this writing, there is even a v2! I'd even argue I already have a v3... but its a jumbled mess of 3d printed garbage. But thats a story for another post. Unless you are reading this like 3 years from now when I've hypothetically been able to complete 3 articles on this github blog. But enough rambling, I guess I'll tell you about the hardware.

The project revolves around a raspberry pi, an eink display from waveshare, and buttons!