Home / Blog / OTA firmware over BLE

OTA firmware over BLE: a phone instead of a truck roll.

Not every app that speaks Bluetooth LE is doing the same job. In the EarthScout ecosystem I work on two apps that use BLE for opposite reasons. Soil Cub uses it to collect data from a handheld meter. Earth Scout uses it to service the hardware itself — to update firmware and diagnose faults on sensor stations planted out in the field.

This post is about that second role, because it's the one that quietly saves the most money. When a sensor station in a remote field starts misbehaving, the old answer was to send someone out — or ship a replacement. The new answer is a walk to the field with a phone.

Why firmware has to go over the air

Hardware ships, and then it needs to change. A bug fix, a calibration tweak, support for a new sensor — all of it lives in firmware. If the only way to update firmware is physical access with special equipment, every fix is a logistics problem. Delivering it over Bluetooth LE, straight from the app, turns a field visit into a two-minute task anyone with the app can do.

The update flow, and why it's all about reliability

A firmware update is not a normal data transfer. If a photo upload fails halfway, you retry it. If a firmware write fails halfway, you can brick the device. That risk drives every design choice. The flow looks like this:

  1. Connect & verify — confirm the device, and check the new image is actually newer and compatible before touching anything.
  2. Enter update mode — put the device into its firmware-update (bootloader) state.
  3. Stream in chunks — BLE moves small packets, so the image is split to fit the negotiated MTU and sent piece by piece, each acknowledged.
  4. Validate — verify the transferred image with a checksum/CRC before it's allowed to become active. A corrupt image must never be booted.
  5. Activate & reconnect — the device swaps to the new firmware, reboots, and the app reconnects to confirm success.

The recurring theme: nothing irreversible happens until the data is proven good. Transfer, then verify, then activate — never activate on faith.

What goes wrong (and has to be handled)

  • Throughput. BLE is not fast. Negotiating a larger MTU and pacing writes to what the device can actually absorb is the difference between a smooth update and a stalled one.
  • Dropped connections mid-transfer. Someone walks away, the phone sleeps. The transfer has to fail safely and be resumable, not leave the device in a half-written limbo.
  • Integrity. A flipped bit in a firmware image is far worse than in a data packet. Validation isn't optional; it's the whole point.

Diagnostics: the app as a field service tool

The same BLE connection that carries firmware also carries answers. Before anyone opens an enclosure, the app can interrogate a station — read its state, surface which component is misbehaving, and confirm a fix took hold afterward. The phone becomes the service tool, so troubleshooting starts with information instead of guesswork.

The most valuable feature isn't the update itself — it's that a non-specialist can fix hardware in a field without a truck, a laptop, or a replacement unit in the mail.

The takeaway

Bluetooth LE is usually framed as a way to read from devices. Pointed the other direction — writing firmware, running diagnostics — it turns a mobile app into remote hands for hardware. For a product deployed across fields you can't easily reach, that capability isn't a nice-to-have; it's what keeps the fleet healthy.