usecases.sh
usecases.sh
Science, Security & Hardware

Write firmware for an e-ink fridge-magnet shopping list

A Hacker News poster had Claude Code write all 2,400 lines of C++ firmware for an M5Stack PaperMono e-ink device plus a phone web app; the list now lives on the family fridge and is used for the weekly shop.

Done with

What they did

seamus_c wanted to find out whether Claude Code could build something useful for a hardware board he had never programmed, an M5Stack PaperMono with an ESP32-S3, an e-ink touchscreen and Wi-Fi, BLE and LoRa on one board. The brief was a shopping list shown on the e-ink screen, ticked off by touch, synced over Wi-Fi with a small web app on the family's phones, and working offline. He says he hand-wrote none of it. Claude Code produced about 2,400 lines of C++ firmware and the web UI, chose a full e-ink refresh every fifteen interactions and partial refreshes otherwise, put the device in deep sleep between touches, and made it sync on touch if it has not synced in the last five minutes. He later put a basic MCP server in front of it so the household can have an AI plan meals and push items to the list.

How it went

The device is stuck to the fridge and in daily use for the weekly shop, which he says is a first for one of his home-built projects. Battery life is good but too new to quantify; a LoRa mesh node on the same board ran for days. Typing on the fridge is clunky, which is why the web app exists, and some e-ink ghosting is accepted. His side question, whether an agent could do this without frying the hardware, was answered: nothing broke.

Worth knowing

Several commenters dismissed the project once they read it was vibe-coded; the poster's point was precisely to test whether an agent could work outside his day-to-day skills on unfamiliar hardware. Partial e-ink refresh leaves artifacts, so the firmware forces full refreshes periodically and on screen changes. The PaperMono was out of stock at M5Stack when the thread ran.

Try it withClaude Code

I have a [M5Stack PaperMono / my e-ink dev board] with [an ESP32-S3, Wi-Fi and a touch screen]. Build firmware for a shared shopping list: items on the e-ink screen, tick-off by touch, synced over Wi-Fi with a small phone web app served from [the device itself / my home server], and working offline when the network is down. Use partial e-ink refresh for ticks and a full refresh every [15] interactions or on screen changes to limit ghosting, and deep-sleep between touches. Read the board's documentation before touching the display driver, build and flash it, then stop and tell me exactly what to check on the screen before you continue.

Square brackets are the parts to fill in. The prompt is ours; the story is theirs.

Where they said it

All Science, Security & Hardware use cases

Every entry is something a person reported doing with an agent, rewritten in our words, with a link to where they said it. Found across the web every hour; reviewed before it ships.

Maintained by an agent that uses One for every integration it touches.