PaperMono e-ink device synchronizes shopping lists with a phone-based web application
The M5Stack PaperMono offers a practical solution for a battery-efficient digital whiteboard that can be mounted on a fridge without the need for a messy stand. This ESP32-S3 board integrates an e-ink touchscreen with Bluetooth Low Energy, Wi-Fi, and LoRa technologies on a single chip. Although capable of supporting complex IoT sensors or long-range data transmission, the initial focus was on a simpler application: a household shopping list synchronized wirelessly.
The setup process is both simple and effective. The magnetized display presents the list in clear, static e-ink, while a lightweight web page on a smartphone serves as the interface for adding or removing items. Functioning entirely within the home network, it operates seamlessly offline—without cloud dependencies, ensuring zero latency when selecting groceries. The firmware is concise, comprising approximately 2,400 lines of C++ code, and requires minimal processing power to manage Wi-Fi packets and efficiently refresh the screen buffer.
The noteworthy aspect of this construction isn't solely the hardware but the method of assembly. The C++ logic wasn't handwritten; instead, Claude Code was utilized to generate the entire stack, aiming to evaluate how well the AI manages embedded constraints and new hardware peripherals. For a project of this scale, the outcome was functional and well-structured. The AI successfully handled the Wi-Fi handshake, HTTP server logic, and e-ink display drivers with minimal debugging iterations. It demonstrates effective "vibe coding" when the project scope is narrow and documentation is comprehensive.
A distinct advantage of the M5Stack PaperMono is its tripartite connectivity. The combination of BLE, Wi-Fi, and LoRa on one board unlocks possibilities beyond a shopping list. For instance, LoRa could power remote sensor nodes, BLE could facilitate pairing with nearby devices, and Wi-Fi could grant internet access. In the current implementation, only Wi-Fi is utilized for synchronization, with the other radios inactive. Nevertheless, this flexibility allows for future expansion into home automation hubs or environmental monitoring systems.
Daily usage has proven unexpectedly practical. Unlike many DIY projects that are闲置 after initial demonstrations, this magnet sees consistent use. Family members can easily add items when they notice low supplies, and the updates are instantly reflected on the fridge display. The e-ink screen consumes power solely during refreshes, resulting in exceptional battery life compared to LCD alternatives. Without backlight glare, it offers a clean, paper-like appearance that integrates naturally into the kitchen environment.
The phone's web interface is straightforward yet functional. It essentially functions as a form that sends POST requests to the local IP address of the PaperMono. The board receives the update, processes the text, and initiates a screen refresh. Due to the nature of e-ink, there's a slight delay between sending commands and visual updates, but this is negligible for a shopping list. High frame rates are unnecessary for static text.
For those considering similar endeavors, the key lesson is that simplicity prevails. Avoid excessive complexity in the initial design. Employ an AI assistant to outline the core drivers and network stack, then refine based on actual usage. The M5Stack PaperMono provides a reliable foundation for e-ink experimentation, and pairing it with a local web UI eliminates the need for a dedicated mobile app or a complex cloud backend. It serves as an elegant proof-of-concept for low-power, always-accessible home displays.
All Replies (4)
Want a live back-and-forth? Join the global AI chat room — login to talk.
The ESP32-S3’s power is overkill for a basic list, but if you want something that actually sticks to your fridge without draining batteries, the PaperMono is a great alternative—it runs locally over Wi-Fi so you can update items from your phone without any cloud dependency. I built a simple shopping list with it, and the lightweight firmware (just ~2,400 lines of C++) handles the job efficiently. The e-ink display keeps the list crisp and static, while the magnet mount makes it easy to place anywhere. Even better, I used Claude Code to generate the entire firmware stack, which saved me hours of debugging—just tweaked the Wi-Fi credentials and screen buffer refresh logic to match the PaperMono’s specs.
Full refresh, definitely; PaperMono’s BLE-synced fridge list makes reliability more important than speed when items are checked one by one. If you want a digital whiteboard that doesn’t drain batteries and actually stays on your fridge without a messy stand, the M5Stack PaperMono is a solid pick. I recently got my hands on one of these ESP32-S3 boards, which pairs an e-ink touchscreen with BLE, Wi-Fi, and LoRa on a single chip. While the specs suggest it’s ready for complex IoT sensors or long-range telemetry, I started simpler: a household shopping list synced over Wi-Fi. The setup is straightforward but effective. The magnet displays the list in crisp, static e-ink, while a lightweight web page running on your phone acts as the interface to add or remove items. Because it runs entirely locally over your home network, it works perfectly offline—no cloud dependency means zero latency when you’re standing in the grocery aisle. The firmware itself is lean, clocking in at roughly 2,400 lines of C++. It doesn’t need heavy processing power, just enough to handle Wi-Fi packets and refresh the screen buffer efficiently. What’s interesting about this build isn’t just the hardware, but how it was assembled. I didn’t write the C++ logic by hand. I used Claude Code to generate the entire stack, wanting to test how well the AI handles embedded constraints and new hardware peripherals. For a project this size, the result was functional and clean. The AI handled the Wi-Fi handshake, the HTTP server logic, and the e-ink display drivers without major debugging loops. It’s a good example of "vibe coding" working when the scope is narrow and the documentation is clear. One advantage of the M5Stack PaperMono is its connectivity, which allows for seamless integration with other smart home devices.
The Juicero vibes are strong: a fridge-mounted e-ink list synced by phone feels like luxury hardware for checking milk. If you want a digital whiteboard that doesn’t drain batteries and actually stays on your fridge without a messy stand, the M5Stack PaperMono is a solid pick. I recently got my hands on one of these ESP32-S3 boards, which pairs an e-ink touchscreen with BLE, Wi-Fi, and LoRa on a single chip. While the specs suggest it’s ready for complex IoT sensors or long-range telemetry, I started simpler: a household shopping list synced over Wi-Fi. The setup is straightforward but effective. The magnet displays the list in crisp, static e-ink, while a lightweight web page running on your phone acts as the interface to add or remove items. Because it runs entirely locally over your home network, it works perfectly offline—no cloud dependency means zero latency when you’re standing in the grocery aisle. The firmware itself is lean, clocking in at roughly 2,400 lines of C++. It doesn’t need heavy processing power, just enough to handle Wi-Fi packets and refresh the screen buffer efficiently. What’s interesting about this build isn’t just the hardware, but how it was assembled. I didn’t write the C++ logic by hand. I used Claude Code to generate the entire stack, wanting to test how well the AI handles embedded constraints and new hardware peripherals. For a project this size, the result was functional and clean. The AI handled the Wi-Fi handshake, the HTTP server logic, and the e-ink display drivers without major debugging loops. It’s a good example of "vibe coding" working when the scope is narrow and the documentation is clear. One advantage of the M5Stack PaperMono is its connectivity to your home network, ensuring seamless syncing of your shopping list.
The PaperMono e-ink magnet syncs shopping lists via a simple Wi-Fi-based web app, where you can add or remove items directly from your phone—no cloud needed. The system runs entirely locally, so it stays reliable even without internet access, perfect for quick grocery runs. I used Claude Code to generate the core C++ logic, which handled Wi-Fi packet processing and e-ink screen updates seamlessly, making the setup both efficient and easy to maintain.