Skip to main content

Update firmware on every Brainboxes device at once with BB-Eco

Availability

Update all and bb-eco upgrade all are in the BB-Eco beta channel from September 2026. Earlier builds upgrade one device at a time - see Upgrade your first device.

Do not interrupt a running update

A batch multiplies the exposure of the one rule that matters: never interrupt a firmware transfer. Do not put your laptop to sleep, switch networks or unplug a device while the activity bar shows a transfer in progress. If you must stop, use Stop - BB-Eco finishes the device it is on and leaves the rest untouched. Set aside about two minutes per ED and three per ES device.

This guide covers upgrading firmware on many Brainboxes devices in one go with the BB-Eco desktop app or CLI. Use it when commissioning a site, refreshing a fleet to a new release, or catching up every device after a firmware advisory.

Before you start

  • BB-Eco is installed (see the BB-Eco install guide).
  • The target devices are visible in the BB-Eco dashboard. (See Discover your first device if any are missing.)
  • The devices are on wired Ethernet in the same broadcast domain as your computer. Firmware transfers use BOOTP/TFTP broadcasts, which do not cross a VPN or a router.
  • On Linux you have sudo access: the transfer binds UDP ports 67 and 69, which are privileged there. Windows and macOS need no prompt.
  • You have read the release notes for the target firmware. Updates that reset a device to factory settings are never included in a batch; upgrade those devices individually.

Step 1 - Check what is out of date

Each device card shows an orange Update pill when the current release is newer than the firmware on the device:

Dashboard device card showing the green Online indicator, model number, IP and MAC address, current firmware version, and an orange Update pill flagging that newer firmware is on the channel

The top bar shows Update all (N) whenever at least one online ED or ES device has an update available. N counts the devices that would be included.

Step 2 - Start the batch

  1. Click Update all (N).
  2. The start dialog lists every candidate with its model, current firmware and the target version. Everything is ticked; untick anything you want to leave out. If firmware for a model has not been downloaded yet the dialog says so - BB-Eco downloads it before starting.
  3. Click Start. On Linux, enter your password once for the whole batch.

Step 3 - Keep working while it runs

An activity bar appears along the bottom of the window and stays there while you use the rest of the app:

Updating firmware: 1/3 devices updated, 2 skipped, about 3 min left

BB-Eco updates devices one at a time. For each device it runs the same pre-flight check as a single upgrade, transfers the firmware, waits for the reboot and confirms the new version. Each device's own Install Update button is disabled until the batch ends.

Some devices are skipped rather than updated, and the report says why:

Skipped becauseMeaning
In use by another hostAnother computer holds an open connection to the device (serial port, Modbus or ASCII). Close it and run again.
Requires a factory resetThe target image would wipe the device's settings. Upgrade it individually, on purpose.
Not cachedThe firmware image could not be downloaded (offline, or the download failed).
Already up to date / no upgrade pathNothing to do for this device.

If a device fails, the batch pauses and the bar turns amber with the reason and two choices: Continue with the remaining devices or Stop. If the device had already committed to the new image, a Recover link opens the recovery tool for it - see Recover a stuck ED device.

Closing BB-Eco during a batch shows a prompt: Finish current device, then quit completes the transfer in progress and leaves the remaining devices untouched; Keep running returns to the app. There is no way to quit mid-transfer, on purpose.

Step 4 - Read the report

When the batch ends the bar reads, for example, Firmware update finished: 2 updated, 1 skipped, 0 failed. View report groups every device under Updated, Skipped (with the reason), Failed (with the error and whether recovery was armed) and Not started (devices after a Stop). The report stays available until you dismiss the bar.

Triage anything under Failed before you leave the site:

  • Failed before the transfer started: the device was not touched. Usually a firewall, Wi-Fi or VPN issue - fix the network and run again.
  • Failed after the device committed (ED): the device is in its bootloader and BB-Eco's recovery radar will find it. Follow Recover a stuck ED device.
  • Failed after the device committed (ES): ES recovery has so far been validated on one model (ES-522). Contact support before attempting it.

From the CLI

bb-eco upgrade all does the same thing from a terminal - discovery, plan, sequential transfer, report:

bb-eco upgrade all
Model    IP              MAC                Current  Target  Action
ED-588 192.168.0.5 00:0A:4F:05:F7:CA 8.25 8.33 Update
ED-560 192.168.0.9 00:0A:4F:06:12:3B 8.33 8.33 Skip: already latest
ES-522 192.168.0.12 00:0A:4F:05:28:DB 4.61 4.69 Update

Type CONFIRM to update 2 device(s):

Options worth knowing:

  • --on-failure pause|continue|stop - pause asks Continue? [y/N] on a terminal; when stdin is not a terminal or with --json it degrades to stop.
  • --force - skip the CONFIRM prompt (for scripts).
  • --allow-factory-reset - include updates that reset the device; asks for a second typed confirmation.
  • --discovery-seconds 10 - wait longer for devices to answer on a busy network.
  • --json - the full report as JSON.
  • On Linux prefix the command with sudo.

Exit code 0 means every device was updated or skipped, 1 means at least one failed or was not reached, 2 means nothing was eligible.

Update automatically instead

If you would rather BB-Eco keep the network current on its own, see Keep Brainboxes firmware up to date automatically.

More resources