FIELD JOURNAL · RUNNING NOTES · ATLANTA GA
Field Journal
Running notes from the bench — dated, signed, occasionally wrong until the next entry. Not press releases.
This is where we write things down before we forget why we decided them. Raw notes from the bench: what broke, what we measured, what we shipped. Dated and signed by whoever was holding the scope that day. If an entry contradicts a later one, the later one wins — that’s what a journal is for.
2026-11-14 — The M7 watchdog fired twice
Spent Tuesday debugging why the M7 watchdog fired twice in the alpha run — turned out the brown-out threshold was 50mVtoo tight, 18650 discharge curve too tight on the 18650 discharge curve. Under a hard RF transmit burst the cell would sag right past the trip point for a few hundred microseconds, the BOR would assert, and the core would reset mid-transaction. The watchdog was doing exactly its job; the threshold was just lying to it.
Moved the trip point down and added hysteresis so a transient sag doesn’t cascade into a reset loop. Ran it through forty discharge cycles overnight and the counter stayed at zero. The annoying part is that this only showed up on cells that were already down around 3.4V, which is why the bench units never caught it — we test with fresh packs like optimists.
— Sam, EE
2026-10-29 — Seven sites, mostly gyms
The WB-1 is now in 7 design-partner sites — most are gyms, two are factory cells, three are schools. That doesn’t add up and I know it doesn’t add up; two of the “gyms” are a climbing gym and a school gym, so depending on how you count it’s either seven or nine. Point is people are running the puck in rooms we’ve never been in, which is the whole reason we did design partners.
The factory cells are the interesting ones. Both are running the puck near VFDs and contactors slamming a few times a minute, which is exactly the electrically filthy environment we were scared of. So far the mesh has held. The school deployments care about nothing except that it’s quiet and doesn’t need a login page.
— Tom, ops
2026-10-06 — LoRa isolation on module 4
Module 4 of the pre-production run had a LoRa receiver that went deaf whenever the 2.4GHz radio transmitted. Classic isolation problem — the sub-GHz front end was picking up a harmonic through the ground pour, not through the air. Reflow inspection was clean, so it wasn’t a solder bridge; it was layout.
Added a guard stitch of vias between the two RF sections and pulled the LoRa antenna feed off the shared ground island. Isolation went from a miserable 19dBmodule 4, before fix to something we can actually live with. Not going to claim a number for the fix until I’ve measured more than one board, but the deafness is gone.
— Marcus, RF
2026-09-18 — WebSocket reconnect storm
The dashboard fell over in the school gym deployment and it was our fault, not theirs. When their flaky uplink dropped, every connected browser tried to reconnect at exactly the same instant, and the puck’s little embedded server got a thundering herd it was never sized for. Forty tabs, all retrying on a fixed one-second timer, is a self-inflicted DDoS.
Fixed it with jittered exponential backoff on the client and a connection cap on the server that sheds load instead of falling over. Reconnect settles now in under 8.0ms±0.4worst case, 23°C per client once the uplink returns, staggered so they don’t all land together. Lesson filed under “the network is not reliable and neither are your users’ browsers.”
— Dana, web
2026-08-25 — First 25 production units
We shipped the first 25 production units yesterday. Boxed them, labelled them, watched Tom carry them to the courier drop like they were made of glass. They’re aluminium, they’re fine, but it still felt like sending kids to school.
Yield on the run was better than the alpha — one board failed the RF self-test at flash time and got pulled before it ever saw a box. The rest passed the full functional sweep. Small thing, but the first time the line ran end to end without someone standing over it with a multimeter, and that’s a milestone even if nobody outside this room would notice.
— Sam, EE
2026-07-30 — TFLite Micro quantization
Got the on-device occupancy model down from float32 to int8 with TFLite Micro and the accuracy drop was smaller than I’d feared — about a point and a half on our validation set, which for counting bodies in a room is noise. The win is inference time and flash: the quantized model runs in 12msint8, M7 at 480MHz where the float version was blowing our frame budget entirely.
The fiddly part was the calibration set. Feed it representative data or the quantization ranges come out wrong and the whole thing degrades in exactly the conditions you care about — a crowded room reading as empty. Spent more time curating the calibration samples than doing the conversion itself.
— Priya, firmware
2026-06-19 — FCC Part 15B pre-scan
Took three boards to the pre-scan chamber before we commit to a full compliance run, because paying for a formal test only to fail on a clock harmonic is a bad Tuesday. Good news: the worst emission peak came in with about 6dBquasi-peak, pre-scan only of margin under the Part 15B limit. Not luxurious, but it’s margin, and it’s before we add the final shield can.
The peak was where we expected — a harmonic of the main SoC clock riding out on the USB-C shield. We already had the ferrite footprint on the board as insurance, so we’ll populate it and re-scan. Cheaper to design in the option and not need it than to need it and not have it.
— Marcus, RF
2026-05-12 — Bug bash and a new face
Ran our first proper bug bash Friday afternoon — whole team, real hardware, a rule that you had to actually file the thing you found instead of just yelling it across the room. Came out of it with 34 issues, of which maybe a third were real and the rest were “that’s annoying” that we’ll ignore for v1.0. The best find was Leah discovering that the status LED does a genuinely alarming seizure pattern during OTA update, which is technically correct behaviour and also terrifying, so we’re softening it.
Also: we’re a six-person team now. Leah joined to own design and immediately started asking why every screen had a different shade of grey, which is a fair question none of us had a good answer for. Good to have someone who cares about the pixels as much as we care about the volts.
— Leah, design