Data & analysis

ThermoViewer

Verifying a 32×32 thermopile array's data and mapping the coverage of a single ceiling-mounted sensor.

Tools
C++ · Qt
Outcome
In production

Context

Before committing to a 32×32 thermopile array as a ceiling-mounted sensor, two things had to be verified: that we could correctly decode the raw data it streamed over the wire, and how large an area — and what shape — a single unit could actually cover once mounted overhead.

What I built

A viewer built to answer both questions at once. Every frame is rendered twice: on a fixed temperature scale set by hand, and auto-scaled to that frame alone, so a faint 2–3°C gradient across a room becomes as legible as an open flame. A zoom panel prints the exact °C of every pixel in a neighbourhood around the cursor, which is what let us confirm the decoded numbers actually matched a known heat source rather than just looking plausible. Moving that source around the room and watching where it appeared — and how sharply its edges fell off — mapped out the sensor’s real field of view: not a spec-sheet cone, but the actual size and shape of the area one thermopile could watch from the ceiling.

Disclaimer

The original 2016 Ubuntu/Qt software no longer built. It was ported to a modern Qt 6/Linux stack with the help of Claude (Anthropic), via Claude Code. The video was produced using this ported version and a Python simulator standing in for sensor hardware that no longer exists.