Nuvio IoT
Why it mattersWhy usHow it worksSecurityCase studiesThe plant walk
Sign inBook a demo

Case studies

Field notes from the floor

These aren't marketing case studies. They're the actual deployment diaries our engineers keep on site — sketches, dead ends and the numbers that came out the other side. Confidential names redacted, mistakes left in.

CASE 01 · 2025 · 4 ENTRIES

Dunlop rubber belting — 50μm on a moving belt

Customers demanded ±50 micron on rubber 5–30mm thick, and the handheld spot-check routine couldn't deliver it honestly. Two opposing lasers, one dead end, and a custom PCB later, every millimetre of belt gets measured.

Open the notebook ↓
CASE 02 · 2026 · 4 ENTRIES

Orange River — 900 flow meters, one dashboard

A water-compliance consultancy with 300 LoRa radios, three meters hanging off each, and identities that broke every time a radio was serviced. Now it's one map, one rule, zero manual registrations.

Open the notebook ↓
CASE 03 · 2025 · 4 ENTRIES

Commercial bakery — every bowl, every station

Dough bowls tracked on clipboards, fermentation times nobody could see, and a hot, humid, all-stainless environment that eats RFID for breakfast. Three custom scan stations fixed all of it.

Open the notebook ↓
CASE 01

Dunlop belting — 50μm on a moving belt

engineer's copy — JP's notebook, Mar–Jun 2025
RUBBER BELTING · 2025 · 4 ENTRIES
1
THE BRIEF

Dunlop's customers demand ±50μm thickness tolerance across rubber belting from 5 to 30mm. The plant was checking that with handheld gauges: slow, spotty coverage, and on semi-flexible rubber the reading depends on how hard you press — which also means a reading can be nudged to pass. They asked us to make the measurement continuous, contactless and untouchable.

turn the page → how we got there, dead ends included

2
the shortlist, as it died
candidate methods — day 2 whiteboard, copied heremachine vision — edge-onneeds a clean edge. rubber edge isn't.ultrasonic thicknesscouplant on a moving belt? no.contact gauge wheelpresses into the rubber = the old problem2× opposing distance lasersthickness = gap − (top + bottom)
3
WEEK 1 · 12 MAR · SHORTLIST
Three ways not to measure rubber

Spent the first two days killing ideas. Machine vision looking at the belt edge needs a clean, square edge — fresh belting doesn't have one. Ultrasonic wants couplant and a stable contact patch; on a moving belt that's a non-starter. Contact gauge wheels just industrialise the original sin: pressing into semi-flexible rubber changes the thing you're measuring.

What survived: two Omron ZX2-LD50 distance lasers, one above the belt and one below. If the gap between them is fixed and known, thickness is simply gap minus the two distance readings. Nothing touches the rubber.

4
plan A vs plan B — keep the X, it's educational
plan A — laser over roller±0.1mm runout — eats thewhole 50µm budget. dead end.plan B — rigid frame between rollersZX2-LD50 (top)ZX2-LD50 (bottom)gap is fixed. rollers can wobble all they like.
5
WEEK 3 · 28 MAR · DEAD END SCRAPPED
The roller idea, may it rest in peace

Plan A was elegant on paper: mount one laser above a roller, and since the roller diameter is known, thickness falls out of a single distance reading. Cheaper, simpler, half the hardware. We mocked it up and watched the numbers wander. The roller has micro-movement — bearing play, thermal growth, a hint of runout — and every micron of it lands directly in the measurement. Our entire error budget is 50μm. The roller spent it for us.

Plan B: a rigid frame between two rollers, opposing lasers top and bottom. The belt can flutter and the rollers can wobble — the gap between the two laser heads is the only thing that has to hold, and it's machined steel that goes nowhere.

6
workshop rig + the strobing trick
black rubber offcut, 5–30mm set2020 alu profile — overkill, goodinterleaved strobing — A then B, never bothlaser Alaser Boverlap = cross-talk = liesvalidated against hand gauges, 40 spots
7
WEEK 6 · 22 APR · TEST RIG
Black rubber eats lasers. Mostly.

New problem: belting rubber is carbon-black and absorbs most of what you fire at it. Signal levels were marginal until we ran the ZX2's dark-surface calibration mode — built for exactly this, once you find it in the manual. Second problem: two lasers pointed at each other will happily read each other's spots. Fix: interleaved strobing from our controller — A fires, then B, never both. The readings feed a custom PCB with an ESP32 and a 12-bit ADC, PoE for power and network, MQTT up to the dashboard.

Built an aluminium-profile rig in the workshop and validated against hand gauges across the full 5–30mm range before going anywhere near the line. TVs above the line and ruggedized tablets on the floor show the live trace.

8
JUN · COMMISSIONED · RESULTS
Every millimetre, no thumbs on the scale

The lasers measure the full belt as it runs — not a spot every few metres when someone has time, every point, both sides, continuously. And because nothing about the reading involves operator pressure, there is nothing to massage. The number is the number, on the TV, in front of everyone.

QC manager's first question: “can anyone adjust it?” best question all project. no.

9
WHAT CAME OUT THE OTHER SIDE
±0μmtolerance held, 5–30mm range
0%belt coverage vs spot checks
0operator-adjustable readings

validated against the same hand gauges it replaced. they agree — when the gauge is held gently.

10
CASE 02

Orange River — 900 meters, one dashboard

engineer's copy — Jan–Mar 2026 · client name redacted
WATER COMPLIANCE · 2026 · 4 ENTRIES
11
THE BRIEF

A consultancy helps farmers along the Orange River report water extraction for compliance. Their fleet: ~300 LoRa radios, each wired to ~3 flow meters over Modbus — roughly 900 logical meters and 7,200+ sensor channels. The data arrived; the structure didn't.

next page: nine hundred meters, zero names

12
one radio, three meters, zero meaning
LoRa radio ×300flow meter 1 (Modbus)flow meter 2 (Modbus)flow meter 3 (Modbus)reg 40001…40024 — which meter?which FARM?!
13
WEEK 1 · 14 JAN · THE MESS
Nine hundred meters with no names

What landed on the old system was a flat Modbus register dump per radio. Which of the three meters is register block two? Which farm is radio 0x4A7 even on? Nobody could say without a spreadsheet and a phone call. Worse: identity was tied to the radio hardware, so every time a radio was serviced or swapped, the meter's history broke. No farm or region structure, no alerting — a silent meter stayed silent until a compliance report came up short.

14
registers in, first-class meters out
flat registers40001–4000840009–400016400017–400024sub-devicemapping(JSON config)VDK-FARM12-M1VDK-FARM12-M2VDK-FARM12-M3these IDs survive a radio swapthese don't mean anything to a farmer
15
WEEK 3 · 02 FEB · SUB-DEVICES
The meter is the thing, not the radio

The fix that unlocked everything: sub-device mapping. Uplinks come in over LoRaWAN via The Things Industries and hit our webhook ingestion; a JSON config per radio type then carves the flat registers into named meters with stable site IDs. The radio becomes a disposable transport. Swap it, and the meter — its name, its history, its compliance trail — carries on as if nothing happened.

On top of that, nested device groups: region → farm → section, with role-based access inherited down the tree. The consultancy sees everything; a farmer sees their farm and nothing else.

16
the morning-coffee view
Orange River (roughly)2 meters silent >60min → flaggedcyan = reporting · ink = late · red = silentrule: */* inactive 60m→ alert. that's it. one rule.
17
WEEK 5 · 18 FEB · RULES + MAP ONE RULE
One rule, not nine hundred

The first health-monitoring draft had a rule per meter. Nine hundred rules. We threw it out the same afternoon and wrote the expression-based rules DSL instead: one wildcard expression — any meter, inactive past its window — covers the entire fleet. Adding meter 901 requires editing nothing.

And nobody registers meter 901 by hand either: auto-provisioning means a new radio transmits once and appears on the dashboard, mapped and grouped. Anything silent for 60 minutes gets flagged on the map — green, amber, red per farm.

18
MAR · LIVE · RESULTS
From register dumps to a fleet you can reason about

The consultancy now opens one dashboard and sees every farm on the river. Meters are first-class entities with stable identities, radios are interchangeable plumbing, and the whole fleet's health hangs off a handful of expressions instead of a wall of per-device config.

field tech swapped a radio on day 3 without telling us. dashboard didn't blink. best accidental test ever.

19
WHAT CAME OUT THE OTHER SIDE
0meters as first-class entities
0sensor channels ingested
0manual device registrations

and one wildcard health rule where 900 could have been.

20
CASE 03

Commercial bakery — every bowl, every station

engineer's copy — Aug–Oct 2025 · client name redacted
RFID TRACKING · 2025 · 4 ENTRIES
21
THE BRIEF

A large commercial bakery moves dough bowls from mixer → fermentation → tipper, and tracked them with manual logging: error-prone, and zero visibility into how long any given bowl actually fermented. The environment fights back — heat, humidity, and stainless steel bowls that kill ordinary RFID dead.

over the page: follow the bowl

22
the route, three scan points circled
mixerfermentationtipperstainless bowl, ~200 of themscan unit 1 · 2 · 3 — custom PCB, PoE, MQTT+ temp / RH / CO₂ in the ferm room
23
WEEK 1 · 11 AUG · THE ROUTE
Follow the bowl

Day one: walk the route. Mixer fills the bowl, the bowl waits in the fermentation room, the tipper empties it. Three handover points — so three custom RFID scanning units, one at each. Our own PCB on our proprietary microcontroller platform, a C++ reader library with EPC filtering so a passing forklift tag doesn't become a phantom bowl, PoE for power, MQTT through a local gateway.

While we're in the fermentation room anyway: temperature, humidity and CO₂ sensors, because fermentation timing without fermentation conditions is half a story.

24
tag attempt 1 vs attempt 2
attempt 1 — standard labelbowl wall (stainless)read range ≈ 0 on metalalso: first enclosure softened above the proofer. moved it. lesson logged.attempt 2 — on-metal, encapsulatedfood-gradeepoxy shellreads through dough splatter,steam, and a pressure wash
25
WEEK 3 · 26 AUG · TAG SAGA REWORKED
Stainless steel hates RFID. Heat hates everything.

A standard RFID label stuck to a stainless bowl reads at roughly zero range — the metal detunes the antenna and reflects the field. The answer is purpose-built on-metal tags in encapsulated, food-grade housings that use the bowl as part of the antenna instead of fighting it.

Honest entry for the record: our first reader enclosure sat too close to the proofer exhaust and softened in the heat. Thermal redesign, repositioned mount, problem gone — but the warped plastic lives on a shelf in the office as a reminder.

26
polling vs PLC-triggered — night and day
continuous polling — slow bowl in field for 20s12 “arrivals” for one bowlPLC output as trigger — scan fires once, when the station actually acts1 scan, 1 bowl, 1 eventEPC filter drops everything that isn't a bowl tag
27
WEEK 6 · 17 SEP · TRIGGER FIX
Stop polling. Ask the PLC when to look.

Second dead end, duly logged: continuous polling gave garbage on slow-moving bowls. A bowl creeping past a station sat in the read field for ages and produced a dozen “arrival” events. Deduplication windows helped and then broke on genuinely quick repeat visits. The clean fix: wire the station PLC's output as the scan trigger — the scan fires exactly once, at the moment the station actually acts on the bowl. One event, one truth.

One more constraint: site network policy blocked direct remote access, so we built a remote diagnostic recovery tool that lets units phone home for health checks and recovery without anyone opening a firewall hole.

28
OCT · LIVE · RESULTS
The clipboard retires

Every bowl is now logged automatically at every station, with real fermentation timing per bowl and the room conditions alongside it. Nobody writes anything down, which means nobody writes anything down wrong.

production planner found two “ghost bowls” in the old paper log that hadn't existed for months.

29
WHAT CAME OUT THE OTHER SIDE
0%automated bowl tracking
0live scan stations on the route
0manual logging errors

the melted enclosure is not counted as an error. it's a trophy.

30
NEXT ENTRY

Next entry: yours

This notebook has room for one more case. Thirty minutes, your process, no slides — we'll sketch your architecture live and tell you honestly which parts are hard, which are solved, and where the dead ends hide.

↓ booking link just below this notebook

31
NUVIO FIELD NOTES · END OF VOLUME

mistakes left in. that's the point.

32
p. 1–2 / 32click a page or use ← →

Next entry: yours

Want notes like these from your plant?

Thirty minutes, your process, no slides. We'll sketch your architecture live and tell you honestly which parts are hard, which are solved, and where the dead ends hide.

Book a demo— do this before next shift handover
Nuvio IoT
FeaturesAboutContact

Copyright © 2026 Nuvio IoT. All rights reserved.