BuildBB-0192Build of the week

Tide & Wind Tracker: byte-exact hardware-in-the-loop tests for e-paper

Tide & Wind Tracker shows tides and wind on an M5Stack PaperColor and tests its e-paper rendering on the ESP32-S3 itself. Test firmware renders fixtures sent over USB and returns the canvas bytes for comparison with golden images. Claude Code iterated against those tests while a person approved every change. The README has a photo of it running.

Open original source github.com · GitPell

Shown working
Why this evidence label?

Photo of the tracker running on the M5Stack PaperColor; on-device render output is compared byte for byte with committed golden images.

How we check entries
Preview image for Tide & Wind Tracker: byte-exact hardware-in-the-loop tests for e-paper
The source's own preview image, from github.com.

Briefing

The renderer is a pure function of a snapshot struct, with no Wi-Fi, clock or Arduino dependencies, so the same code builds on the desktop and on the device. Fixtures come from one analytic tide model. The README says desktop and device produce the same bytes and all five original fixtures match; a device round trip takes about 230 ms. The tests compare bytes, not photos, because the panel dithers.

In normal use an RTC alarm wakes the board every 30 minutes. It fetches NOAA tide and Open-Meteo wind data, redraws the six-color panel and cuts its own power. Battery life is 11 to 11.7 days, about a third of the one-month goal.

From the GitHub API

Repository facts

Repository facts for gitpell/tide-wind-tracker, from the GitHub API
Repositorygitpell/tide-wind-tracker
Stars0
LicenseMIT Permissive
LanguagePython
Last push9 Oct 2026 20 d ago

Tags

Interface

Report a problem with this entry