overair // firmware ota control plane
Overair is the automated OTA control plane for hardware companies. Drop in one header, and the whole fleet updates itself - crypto-verified binaries, staged canaries, and instant rollback when a build even thinks about misbehaving. Stripe for embedded.
Ed25519 · SHA-256bsdiff / zstd deltaAWS S3 · R2 · GCS
devices online
1,284
on latest fw
99.46%
rollback events
2 / 24h
Δ bytes saved
18.2 GB
| device | fleet | fw | slot | health | status |
|---|---|---|---|---|---|
| robo-04f2 | agro-fleet | v2.4.1 | B | 98% | ok |
| scoot-91c0 | city-micromob | v2.5.0 | A | 100% | ok |
| chg-7a31 | dc-fast-charge | v2.5.0 | A | 81% | canary |
| drone-a8e2 | air-survey | v2.4.1 | B | 95% | ok |
| tel-30bb | pipe-monitor | v2.4.1 | B | 0% | rollback |
// one header, drop-in
Copy ota.h into your tree, fill four config fields, and call ota_init once. No RTOS lock, no SDK fork, no cloud vendor in your firmware. The client talks to your bucket over TLS and handles dual-slot flashing, verification, and rollback on its own.
#include "ota.h" // one header, drop-in int main(void) { ota_conf_t cfg = ota_defaults(); cfg.channel = "stable"; // staging = canary cfg.verify_sig = OTA_ED25519; // signed before boot cfg.watchdog_s = 30; // auto-rollback on hang ota_init(&cfg); // it runs the rollout return 0; // over air, hands-free}// specs
every feature below is a default, not a checkbox you have to remember. you turn safety down, never up.
Atomic two-partition flashing with a hardware dead-man switch. If the new build hangs or the watchdog trips, the device reboots itself onto the last good partition.
Deterministic bsdiff/zstd binary deltas. A 4 MB firmware becomes tens of kilobytes on the wire, so slow NB-IoT and satellite links stay usable.
Ed25519-signed binaries, SHA-256 verified in place before handoff to the app. Your firmware only ever runs images your private key put there.
Push to 5%, watch the telemetry, then widen. A failed canary is held and rolled back before the blast radius crosses one percent of the fleet.
Version spread, health scores, rollback events, per-device signals - streamed live so you can see a bad release before a customer does.
Point the control plane at your AWS S3, Cloudflare R2, or GCS bucket. No vendor lock, no egress tax, and your firmware artifacts stay in your account.
// deployed on
// pricing
Bring your own bucket: an API key to your S3, R2, or GCS is the whole setup. No per-device data egress, no device-count cliff - you pay for the control plane, not the megabytes you never ship.
$500/ month
50-75 devices
// get started
Tell us what you ship and how many units. We will stand up your staging channel and walk the first rollout with you - usually inside a week.