Goals
The goal of TOS-Watch was to build a compact, glanceable display for data provided by a local glucose-monitoring service. The application combines network status, data validation, unit conversion, trend information, and hardware rendering in a small Raspberry Pi-based system.
Scope
This is a personal hardware-software project for Linux-based Raspberry Pi
systems with SPI-enabled MAX7219 displays. It consumes the local
/carelink/nohistory endpoint exposed by an external service and
does not fetch data directly from CareLink or manage CareLink credentials.
TOS-Watch is not a medical device or a replacement for approved monitoring,
treatment guidance, or clinical advice.
Implementation
The application waits for a network connection, fetches JSON over HTTP,
validates the response with Pydantic, converts glucose values from mg/dL to
mmol/L, and renders the value, trend symbol, and stale-data status on four
cascaded MAX7219 modules using the luma.led_matrix library.
Supporting modules handle data processing, display symbols, terminal
previews, and an example systemd service for starting the application at boot.
What I Learned
This project brought together Python application design, HTTP data handling, schema validation, Linux service deployment, and low-level Raspberry Pi hardware integration. It also highlights the importance of stale-data indication, privacy, and explicit safety boundaries when displaying health-related information.
