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 after this device in the activity bar - BB-Eco finishes the device it is on and leaves the rest untouched. Set aside a couple of minutes per 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 Update all devices dialog lists every candidate with its model, name, IP address and current firmware version. Everything is ticked; untick anything you want to leave out. The paragraph above the list sums up the rules: devices are updated one at a time while you keep working, firmware not yet downloaded is fetched first, a device in use by another host is skipped and listed in the report, and a failure pauses the batch.
  3. Click Update N devices (or Cancel). 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:

The report saysMeaning
in use by another hostAnother computer holds an open connection to the device (serial port, Modbus or ASCII). Close it and run again.
the update would reset the device to factory settingsThe target image would wipe the device's settings. Upgrade it individually, on purpose.
firmware not downloaded yetThe firmware image could not be downloaded (offline, or the download failed).
already on the latest firmwareNothing to do for this device.
this device cannot be updated over the networkThe device has no network upgrade path.
did not answerThe device did not respond when its turn came.
the available image is not compatibleThe published image does not match this device's hardware.
no firmware is published for this modelThere is nothing to install.
custom part - BB Eco does not offer updates for 5-digit part codesThe device is a custom part code (ED-20401, for example); its firmware comes from Brainboxes support. See Custom part codes.

While the batch runs, the bar's only button is Stop after this device (it finishes the device being updated now, then skips the rest). 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, Recover... 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, 0 not started (if BB-Eco loses its connection to the transfer process mid-batch, it reads Update All was interrupted: ... instead). View report opens Update all: report, which groups every device under Updated, Failed (with the error and whether recovery was armed), Not started (devices after a Stop) and Skipped (with the reason). 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
Discovering devices for 5 s...
2 device(s) to update, 1 skipped.
Model IP MAC Current Target Action
ED-588 192.168.0.5 00:0A:4F:05:F7:CA 8.25 8.33 Update
ES-522 192.168.0.12 00:0A:4F:05:28:DB 4.61 4.69 Update
ED-560 192.168.0.9 00:0A:4F:06:12:3B 8.33 - Skip: AlreadyLatest - already on 8.33

Type CONFIRM to update 2 device(s):

Options worth knowing:

  • --on-failure pause|continue|stop - pause asks Continue with the remaining devices? [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. The plan marks those rows Update (factory reset) and prints a warning; the one CONFIRM prompt still applies.
  • --discovery-seconds 10 - wait longer for devices to answer on a busy network (the default is 5).
  • --dry-run - plan and simulate without touching any device.
  • --devices <file> - update the devices listed in a file instead of discovering them.
  • --json - the full report as JSON.
  • On Linux prefix the command with sudo.

Exit code 0 means every device was updated or skipped (including Nothing to update.); 1 means a device failed or was not started, the CONFIRM prompt was cancelled, or the options were invalid; 2 means no devices were found at all.

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​