Engineering
Firmware you can fix
from 4,000 km away
A device fleet is a distributed system in which a bad deployment means hiring a van. We build the firmware, the over-the-air update path and the ingest pipeline behind them, so that a bug in the field becomes a rollback rather than a site visit.
Overview
Firmware, connectivity and telemetry pipelines for devices you cannot easily reach.
The hard part of an IoT programme is rarely the sensor. It is the 6,000 units already installed across three continents, half of them on cellular links that drop for hours, running a firmware build from eighteen months ago that you now need to change without bricking any of them. Everything we design assumes that day arrives.
We build in layers with explicit contracts between them: firmware on Zephyr or ESP-IDF, transport over MQTT with Sparkplug B payloads, a gateway that buffers when the link is down, and an ingest tier writing to Kafka and TimescaleDB. Each layer is testable without the one beneath it, which is what makes a hardware-in-the-loop CI rig worth the money.
Power and data cost shape the design more than features do. A node reporting every 30 seconds rather than every 5 minutes carries ten times the data bill and a tenth of the battery life, and nobody on the business side asked for that resolution. We size the duty cycle against the decision the data supports, then verify it on real boards.
- 99.4 per cent
- First-attempt OTA success across 6,100 deployed gateways, Kestrel Industrial
- 4.6 years
- Bench-verified battery life at a 15-minute reporting interval on one cell
- £0.11 per device
- Monthly cellular data cost after edge aggregation, Ardent Chemicals tank farm
Capabilities
What this covers
Six areas we staff properly. If your problem sits outside them, the honest note at the foot of this page says so.
Embedded firmware
Zephyr RTOS and ESP-IDF firmware for nRF52, ESP32 and STM32 targets, with a watchdog strategy, brown-out handling and a bootloader that can always fall back to the last known-good image.
Over-the-air update infrastructure
Signed, delta-encoded updates with staged rollout, automatic rollback on a failed health check and per-cohort control, so a bad build reaches 50 devices instead of 50,000 of them.
Connectivity engineering
LoRaWAN, NB-IoT, LTE-M or Wi-Fi chosen against range, power draw and data cost, with store-and-forward buffering so a six-hour outage produces late readings rather than missing ones.
Edge processing
Filtering, aggregation and anomaly detection on the gateway, so a vibration sensor sampling at 3.2 kHz sends extracted features and exceptions rather than raw waveforms over a metered link.
Telemetry platform
Ingest through AWS IoT Core or Azure IoT Hub into Kafka and TimescaleDB, with retention tiers, downsampling policies and Grafana dashboards your operations team can change without raising a ticket.
Device security and provisioning
Per-device identity held in a secure element, certificate-based mutual TLS, factory provisioning that survives a contract manufacturer, and a revocation path for units that leave your control.
Deliverables
What you get
- Firmware source, build pipeline and reproducible, signed release artefacts
- OTA update service with staged rollout, automatic rollback and cohort reporting
- Hardware-in-the-loop CI rig running the firmware test suite on real boards
- Ingest and storage pipeline with retention, downsampling and alerting rules
- Provisioning and certificate lifecycle process, including factory handover
- Field operations runbook covering diagnostics, recovery and returns triage
Stack
What we build it with
- Zephyr RTOS
- ESP-IDF
- nRF Connect SDK
- AWS IoT Core
- Azure IoT Hub
- Eclipse Mosquitto
- Sparkplug B
- ChirpStack
- Mender
- TimescaleDB
- Apache Kafka
- Grafana
Process
How the engagement runs
Two-week increments against a written definition of done. You can stop at any increment boundary and keep everything built so far.
Bench the constraints
Power budget, data cost per device per month, link availability and the tolerable latency for each measurement, all written down before a board is selected.
Prototype on real hardware
Ten to twenty units running the intended duty cycle in the intended environment. A bench and a fridge do not predict a rooftop in July or a chilled store in Rotterdam.
Build the update path first
OTA, rollback and remote diagnostics ship before the first feature does. A fleet you cannot update remotely is a fleet you will eventually replace by hand.
Pilot at fleet scale
A cohort of 100 to 500 units for six to eight weeks, watching join failures, retry storms, battery curves and actual cost per device against the model.
Roll out and operate
Staged deployment by cohort with health gates between stages, plus dashboards and runbooks handed to whoever answers the phone at two in the morning.
When this is the wrong engagement
If you need a few hundred devices inside one building with mains power and a stable network, an off-the-shelf gateway wired into your existing SCADA will cost less than anything we would build.
FAQ
Questions we get asked
- Do you design the hardware as well?
We own firmware, connectivity and the platform, and we work with your electronics partner on schematic review, power budgets and design-for-test. Board layout, antenna tuning and enclosure work go to a specialist rather than being treated as a software problem with a soldering iron.
- Can you work with devices already in the field?
Usually, provided there is a working update path or a bootloader that accepts a signed image. If the deployed fleet has no OTA capability at all, the honest answer is that the first firmware change needs physical access, and the rollout gets planned around service visits.
- AWS IoT Core or Azure IoT Hub?
Whichever your data platform already sits on. The device-side difference is small; the integration difference is not. If neither applies, we have run Mosquitto with a custom device registry for fleets under roughly 20,000 units, which costs less and keeps the protocol under your control.
- How do you handle radio certification?
We prepare firmware for EMC and radio testing, covering duty-cycle compliance, transmit power control and test modes, and support your chosen test house through submission. We do not issue approvals, and we budget schedule for a retest because first-pass failures are common.
Related
More in Engineering
Engineering
Blockchain Solutions
Permissioned ledgers, tokenised assets and independently audited smart contracts.
Engineering
Legacy Modernisation
COBOL, Delphi, WebForms and Oracle Forms moved off, without a big-bang cutover.
Engineering
Enterprise Integration
Contracts, idempotency and replay — the unglamorous parts that keep 40 systems in step.

