Update firmware on every Brainboxes device at once with BB-Eco
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.
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:

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
- Click Update all (N).
- 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.
- 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 says | Meaning |
|---|---|
| in use by another host | Another 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 settings | The target image would wipe the device's settings. Upgrade it individually, on purpose. |
| firmware not downloaded yet | The firmware image could not be downloaded (offline, or the download failed). |
| already on the latest firmware | Nothing to do for this device. |
| this device cannot be updated over the network | The device has no network upgrade path. |
| did not answer | The device did not respond when its turn came. |
| the available image is not compatible | The published image does not match this device's hardware. |
| no firmware is published for this model | There is nothing to install. |
| custom part - BB Eco does not offer updates for 5-digit part codes | The 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-pauseasksContinue with the remaining devices? [y/N]on a terminal; when stdin is not a terminal or with--jsonit degrades tostop.--force- skip the CONFIRM prompt (for scripts).--allow-factory-reset- include updates that reset the device. The plan marks those rowsUpdate (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
- Upgrade your first device with BB-Eco - the single-device walkthrough this guide builds on
- Recover an ED device stuck in bootloader - for devices that fail mid-batch
- Diagnostics and privacy - the optional anonymous report BB-Eco can send after each update attempt