I’ve been busy playing with another ESP32 based e-Paper display. Once again we’re sponsored by PCBWay - https://www.PCBWay.com/?from=atomic

There are some interesting aspects to this project:

We’re using deep sleep to save on battery - check out my recent video on this subject for a deep dive: https://youtu.be/YOjgZUg_skU

We’re also using an SD Card in SPI mode using a few of the spare GPIO pins on the board - we’ve covered this previously in this video: https://youtu.be/bVru6M862HY

Parsing, layout out and rendering ePub files is pretty interesting. It’s a good challenge to try and get this working nicely on embedded devices like the ESP32.

[0:00] Introduction/demo [1:07] ePub format overview [1:34] What’s inside an ePub file? [1:49] The content.opf file [2:20] ePub components [2:32] Challenges [2:55] Getting ePub files onto the device [3:08] Touch screen failure [3:24] Listing files on an SD Card [3:33] Enabling long files names in the ESP-IDF [3:51] Reading ZIP archives on the ESP32 [4:15] Parsing the content.opf file to get the book structure [4:56] Should we build a web browser? [5:34] Parsing the XHTML content [5:52] Laying out the content [7:28] Deep sleep [7:41] Show me the code!

Everything is on GitHub here: https://github.com/atomic14/diy-esp32-epub-reader

If you’ve got an ESP32 based ePaper display then please give it a go!

You can get the LilyGO board I’m using from here: https://s.click.aliexpress.com/e/_9u8DGd (affiliate link)

Patreon: https://www.patreon.com/atomic14 ko-fi: https://ko-fi.com/atomic14