This Shouldn't Be a Real E-Reader… I Read Over 1000 Pages on It

Paul Lagier · 2026-05-21 ·▶ Watch on YouTube ·via captions

A DIY minimalist e-reader built around an ESP32 with an e-ink display, controlled by a single button, was rebuilt from scratch after community feedback. Version 2 brings major hardware reliability improvements, dramatically expanded usable storage, and a polished feature set including folders, lists, and faster performance. ---

Key Concepts

ConceptDefinition
ESP32-based e-readerTiny, single-button e-ink reading device, roughly the size of an AirPods case
Partition adjustmentReconfiguring the ESP32's flash memory layout to maximize usable storage for books
Text compression on uploadBooks are processed and compressed at upload time to minimize storage footprint
Single-button UXAll on-device navigation handled with one button; complex actions (jumping to position, managing lists) delegated to a web interface

Notes

Hardware Changes (v1 → v2)

  • **Case redesign**: Replaced multiple small pins (unreliable on many printers) with a single larger sliding piece + screw-secured opposite side
  • Now supports **M2 threaded inserts** for a more finished, product-like feel
  • Compatible with PLA — easier to print reliably
  • Trade-off: slightly larger than the original version
  • Added a **loop/attachment point** for a keychain or lanyard
  • Button area given more space for a better press feel
  • **Click noise reduction**: Insert a small piece of self-adhesive foam between the plunger and the button — noticeably quieter

Firmware — v1 Baseline

  • Simple library view, basic upload mode, web viewer
  • Bookmark saving and viewing in web interface
  • Basic font, functional but rough

Firmware — Iterative Improvements (v1 → v1.5)

  • **Folder support**: Organize books and other files into separate folders
  • **Custom screensaver**: Upload your own image to personalize the device
  • Background improvements: better power efficiency, more accurate battery reading, more stable UI, broader language support, bug fixes
  • (Credit: community contributor Philip for significant early code contributions)

Firmware — Version 2 Major Changes

  • Default usable storage for books: only ~1.5 MB (out of 8 MB flash, after firmware and system overhead)
  • Fix: **adjust partitioning** → now ~5.5–5.6 MB available for books
  • Setup is one-click; documented step-by-step in the guide
  • Books are **compressed on upload** (empty lines, extra spaces stripped)
  • Typical 300–400 page book: ~0.5–0.6 MB
  • **Capacity: roughly 6–10 books** on the device simultaneously
  • **Storage indicator** added to the web viewer
  • Device feels significantly more responsive overall
  • Opening a book is now near-instant even deep into a long text (was previously slow)
  • Bookmarks load faster and more reliably
  • **Jump to position**: Navigate to a specific location in a book via the web viewer
  • **Lists**: Create to-do lists, shopping lists, etc. in the web viewer; check items off directly on the device; edit or delete via web interface
  • **Bulk bookmark export**: Export all bookmarks at once from the web interface

Actionable Takeaways

  1. **Use foam padding** on the button to reduce click noise — a trivial fix with a noticeable result
  2. **Adjust ESP32 partition layout** before flashing to unlock ~5.5 MB of book storage instead of the default ~1.5 MB
  3. **Store files in folders** in the web viewer to keep the library organized as you add more books
  4. Use the **web viewer for complex actions** (position jumping, list management, bookmark export) rather than trying to squeeze them into single-button navigation
  5. All project files are available on the creator's Ko-fi; one purchase gives access to all future updates

Quotes Worth Keeping

I have probably read close to a thousand pages on this thing by now, and I am still kind of in love with it.
It is not much bigger than an AirPods case, but somehow it gets you to read more again. And honestly, that is probably the most important part.