Epook

Open-source EPUB reader firmware for a pocket e-paper device. Three buttons, a microSD library and weeks of battery from a single charge.

  • ESP32-S3
  • 2.9" e-paper, 296×128
  • C++ · PlatformIO
  • GPL-3.0

Reads like paper

Firmware for the Heltec Vision Master E290

  • Compiled books: Each EPUB is parsed once into cached pages, so chapter and page navigation is instant on a small microcontroller.
  • Reading tools: Progress line and page number under the text, per-book position tracking by word, table of contents, and both screen orientations.
  • Weeks on a charge: Deep sleep after two minutes of inactivity, with a wallpaper gallery shown on the sleep screen.
  • Just a card: Drop EPUBs onto the microSD or plug in over USB mass storage. Latin, Extended-A, Greek and Cyrillic text with formatting.
Case render, transparent lid
Case render, closed
Case render with buttons and USB-C port

Under the hood

Clean architecture

Separate modules for the app, book compiler, image decoding, display, file system, input and USB. Hardware is reached only through four interfaces, so the logic runs as native unit tests on a desktop.

Toolchain

PlatformIO with release, debug-logging and native test builds. Open-source libraries: GxEPD2, miniz, tinyxml2 and JPEGDEC, fetched automatically at build time.

3D-printed case

A two-part snap case with button caps and a USB-C cutout, modeled to the Vision Master E290 board. Released under CC BY 4.0 alongside the GPL-3.0 firmware.