This Shouldn't Be a Real E-Reader… I Read Over 1000 Pages on It
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
| Concept | Definition |
|---|---|
| ESP32-based e-reader | Tiny, single-button e-ink reading device, roughly the size of an AirPods case |
| Partition adjustment | Reconfiguring the ESP32's flash memory layout to maximize usable storage for books |
| Text compression on upload | Books are processed and compressed at upload time to minimize storage footprint |
| Single-button UX | All 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
- **Use foam padding** on the button to reduce click noise — a trivial fix with a noticeable result
- **Adjust ESP32 partition layout** before flashing to unlock ~5.5 MB of book storage instead of the default ~1.5 MB
- **Store files in folders** in the web viewer to keep the library organized as you add more books
- Use the **web viewer for complex actions** (position jumping, list management, bookmark export) rather than trying to squeeze them into single-button navigation
- 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.