← All projects

Private project

Fleet Updater

Parallel firmware rollout for edge devices over unreliable field networks.

Problem

Firmware updates were run device by device over SSH, took hours per site and occasionally bricked devices when power dropped mid-update.

My role

Designed and built the updater end to end; ran the first three site rollouts.

Approach

One worker per device with retry-until-reachable semantics, and a narrow, explicitly guarded critical section for the rename step.

Implementation

Python, Paramiko, a CSV-driven queue that accepts new devices while running, and structured logs per device.

Outcome

Rollouts run unattended per site; the risky step is isolated and logged.

Stack

  • Python
  • Concurrency
  • Embedded Linux
  • Reliability
  • SSH

Contributions & evidence

2
  1. Guard the firmware rename step against power loss

    • Isolated the rename into a short, logged critical section
    • Added a pre-flight check and an operator warning before it starts
    • 1 commit in a private repository
  2. Parallel device updates with per-device workers

    Replaced the sequential SSH update script with a worker per device that retries until the device is reachable.

    Site rollout time cut from ~6h to ~40 min (measured on 3 sites)
    • 1 commit in a private repository