Skip to main content

Upgrade your first device's firmware with BB-Eco

Avoid interrupting a firmware upgrade

A firmware upgrade puts the device into bootloader mode and writes flash memory. Pulling the power, network cable, or killing BB-Eco mid-transfer may brick your Brainboxes device. Set aside ten uninterrupted minutes per device before you start — and if anything does go wrong, Brainboxes support is always at hand.

This guide walks you through a single-device firmware upgrade end-to-end, with the safety checks that prevent the most common ways an upgrade goes wrong.

Before you start

  • The device is online in BB-Eco (see Discover your first device).
  • Wired Ethernet is preferred. Most upgrades over Wi-Fi finish without trouble, but a flaky wireless link can occasionally stall the BOOTP/TFTP transfer — wired removes that variable.
  • You're on the same Layer 2 broadcast domain as the device. BOOTP cannot cross routers.
  • You have administrator (or sudo) access on your computer. Firmware upgrades require binding to UDP ports 67 and 69, which are privileged.
  • You've reviewed the device's release notes (linked in BB-Eco when an update is available).

Step 1 — Open the device's Firmware tab

The orange Update pill on the firmware version line is the call to action — every device with available firmware shows it both on the dashboard card and on the Info tab:

Detail panel Firmware section close-up showing the device's current Version 2.0.1 with a small orange Update pill next to it, and a Type row below

  1. In the BB-Eco dashboard, click the device card to open its detail panel.
  2. Click the Firmware tab.
  3. If a newer firmware version is available, BB-Eco displays an Update available banner with the current version, the latest version, and the release notes.

Firmware tab showing Update available banner for ED-549 with current version 2.0.1 and latest 2.1.0, plus release notes describing analog input range support

If the banner doesn't appear, click Check for updates. BB-Eco contacts the Brainboxes manifest service (or uses its local cache if you're offline) and reports back within a few seconds.

Step 2 — Read the pre-flight result

Click Upgrade. BB-Eco does not start writing firmware yet — it runs a pre-flight check first:

  1. Spawns its elevated helper process (you'll see your OS password dialog).
  2. Verifies the elevated process can bind UDP ports 67 (BOOTP) and 69 (TFTP).
  3. Runs a short UDP connectivity test to the device to confirm a firewall isn't silently dropping packets.
  4. Cross-checks the firmware compatibility against the device's reported model and MCU.

The result appears in a dialog with one of three outcomes:

VerdictMeaningWhat to do
Compatible (green)Safe to upgradeClick Proceed.
Compatible (with warnings) (amber)Upgrade will work, but BB-Eco found something worth flagging — typically a Wi-Fi or VPN interface, or a much-older firmware versionRead every warning. Resolve the ones you can (move to wired Ethernet, disable VPN). Proceed only when you understand each.
Incompatible (red)The firmware doesn't match this deviceClick Cancel. Do not override.

BB-Eco pre-flight dialog showing Compatible with warnings verdict for an ED-549 firmware 2.1.0 upgrade, listing two warnings about Wi-Fi interface and firmware version drift

The two amber warning rows are the heart of the pre-flight — read each one and decide whether to address it (move to wired Ethernet, disable VPN) or proceed with eyes open:

Pre-flight dialog warnings close-up: two amber warning rows side by side. The first reads 'Device is on a Wi-Fi interface — wired Ethernet is strongly recommended for firmware upgrades.' The second reads 'Device firmware version 2.0.1 is more than 2 releases behind 2.1.0; consider reviewing release notes.'

Wi-Fi works most of the time — but wired is one less variable

Wi-Fi upgrades usually go fine in our testing. Occasionally a flaky wireless link drops a TFTP packet at the wrong moment and stalls the transfer. If you're on Wi-Fi and the pre-flight flags it, you can proceed; switching to wired Ethernet just removes one variable from the equation.

Step 3 — Watch the upgrade progress

After you proceed, BB-Eco transfers the firmware to the device using BOOTP and TFTP. Progress is reported in real time:

BB-Eco firmware upgrade flow for an ED-549. Update available 2.0.1 → 2.1.0 → pre-flight returns Compatible → upgrade in progress through BootloaderUpgrade then FirmwareAppUpgrade, the progress bar fills from 0% to 100% across both stages, the device card on the left shows a stage-aware pill, then the upgrade reaches Complete state.

Typical timings:

  • ED devices complete in 2–4 minutes (two stages: Bootloader, FirmwareApp).
  • ES devices complete in 3–6 minutes (two or three stages: optional Flash, Bootloader, FirmwareApp).
  • BB devicescoming soon. BB-Eco will use the on-device Linux package manager once that integration ships.
  • SW devicescoming soon. Managed-switch firmware upgrades will run over Secure Shell (SSH) once that integration ships.

You'll see brief gaps between stages — that's the device rebooting into the next stage. This is expected. Don't panic if the progress bar pauses for up to thirty seconds between stages.

When the upgrade completes, the device reboots and BB-Eco re-discovers it on the network with the new firmware version showing on its card.

What to do if something goes wrong

SymptomWhat it usually meansRecovery
Pre-flight warns "BOOTP/TFTP packets could not reach this application"Firewall is blocking ports 67/69Allow BB-Eco through your firewall; retry pre-flight
Progress bar stalls at 0% during BOOTP stageDevice didn't see your BOOTP replyCheck cable, confirm same subnet, retry
Progress bar stalls mid-transfer for over 60 secondsTFTP packet loss or firewall interferenceWait two minutes — TFTP retries are slow. If still stalled, see below
BB-Eco reports "Stage timed out"Final ACK never arrivedStage may have completed anyway — wait for the device to reboot, then check the firmware version
ED device dashboard card shows "Stuck in upgrade"Device is in bootloader awaiting BOOTPA dedicated Recover a stuck device how-to is in the works during beta. ED devices broadcast BOOTP indefinitely while stuck and can usually be recovered by re-running the upgrade
ES device went silent and doesn't rebootOlder ES firmware versions don't include a recovery bootloader, so an interrupted upgrade can leave the device unrecoverable over the networkContact support — recent ES firmware adds recovery support, and the support team can advise on what's possible for your specific model and version

Upgrade from the CLI

Same flow as the desktop app — pre-flight check, sudo prompt, sequential stages — without the GUI. Useful on a headless server, in a maintenance script, or whenever you'd rather not click through a dialog:

# What's available for one device, or for the whole fleet
bb-eco firmware status # tabular
bb-eco firmware status --json | jq # script-friendly

# Pre-cache the latest firmware for every model in the catalogue
bb-eco upgrade --download-all

# Pre-flight only — binds the BOOTP/TFTP sockets, checks reachability,
# returns a verdict, releases the sockets. Safe to run anytime.
sudo bb-eco upgrade 192.168.1.50 --check

# Apply the latest cached firmware to one device. Holds an
# elevated session for the whole transfer; do not interrupt.
sudo bb-eco upgrade 192.168.1.50 --latest

# Apply a specific .efw file (e.g. an air-gapped or older version)
sudo bb-eco upgrade 192.168.1.50 firmware/ED-549-2.1.0.efw

The same brick-risk rule applies: once bb-eco upgrade starts the BOOTP/TFTP transfer, do not kill the process, unplug the cable, or sleep the host. Set aside 3–6 minutes per device. Loop the command in a Bash for for a fleet upgrade — see Bulk-upgrade firmware for the production-ready pattern.

See the bb-eco upgrade CLI reference for every flag.

Going further

More resources