// the find
tsl0922/EPD-nRF5
E-paper display firmware for Nordic nRF51/nRF52, with support for image transfer, OTA update.
Firmware for Nordic nRF51/nRF52 chips that turns an e-paper panel into a BLE-controlled calendar display or digital photo frame, with a browser-based (Web Bluetooth) uploader for images and OTA updates. Useful for hobbyists building e-ink desk calendars or photo frames who want a controller-less, phone/browser-driven workflow instead of a dedicated app.
The Web Bluetooth control page is a real usability win — no companion app, no pairing dance outside the browser, and it already does dithering, doodling, and text overlay client-side. Driver abstraction covers both UC81xx and SSD16xx panel families and lets you switch screen size/driver at runtime rather than hardcoding one panel per build. BLE OTA means field firmware updates without a J-Link or UART cable, which matters once the board is sealed inside a frame. A GitHub Actions build workflow exists alongside the Keil projects, so CI can catch breakage even though the 'official' IDE is proprietary.
The repo vendors the entire Nordic nRF5 SDK 12.3.0 (thousands of files) in-tree instead of a submodule or documented external dependency — that's dead weight in every clone and ties the project to an SDK line Nordic has since superseded with nRF Connect SDK. Primary tooling is Keil uVision project files, a paid Windows-only IDE; the Makefile exists but isn't clearly the first-class path. README defers all real documentation (supported devices, build/dev setup) to separate docs files rather than giving even a short architecture summary of how EPD/GUI/BLE layers fit together. It's also hardware-gated in the literal sense — you can't usefully run or test any of this without owning a specific nRF51/52 board plus one of the supported e-paper panels.