Firmware

Photo of ESPARGOS

Below, you can download the firmware for the current hardware revision of ESPARGOS (device looks as shown in picture). Firmware is regularly updated!

Downloads
Sensor Firmware: Channels
Dev
2026-03-13 17:48 UTC · dd24ebd
Testing
2026-02-26 17:24 UTC · 100fd73
Stable
2026-02-26 17:24 UTC · 100fd73
Sensor board icon
Sensor Firmware App
Update first. Distributed to all sensor MCUs by the controller.
Sensor board icon
Sensor Recovery Partition
Only needed for recovery / factory reflashing.
Controller Firmware: Channels
Dev
2026-03-17 14:34 UTC · 8b89de8
Testing
2026-02-26 17:23 UTC · a76b2a3
Stable
2026-02-26 17:23 UTC · a76b2a3
Image
Controller Firmware App
Update second (after sensors). Implements controller functionality.
Image
Web Assets
Update third. Contains the web UI served by the controller.
Image
Controller Recovery Image
Only needed for recovery / factory reflashing.
Firmware News
Controller update requires manual flashing
Manual Action 2026-02-26
If your controller is running a firmware with build date older than 2026-02-26 and you want to update to a version with build date newer than 2026-02-26, you must manually flash the new firmware using one of the recovery options (WebUSB or esptool). The reason for this change is a new partition table that is incompatible with older firmware versions.
New naming scheme for firmware channels
Notice 2026-02-26
Firmware channels were previously named latest and stable. The new naming scheme is dev (replaces latest), testing (replaces stable) and stable (new). The stable channel only contains firmware that has undergone manual testing, whereas dev and testing are outputs of the CI/CD pipeline.
Firmware publicly available
Done 2026-01-16
Firmware updates for ESPARGOS are now publicly available from this website, and are automatically updated using our CI/CD pipeline.

Photo of ESPARGOS

If you still have an older prototype version of ESPARGOS, please note that this hardware is no longer supported. You can, however, still download the last available firmware versions for this prototype hardware below. Prototype firmware is not updated anymore!

Update Instructions

Web Browser
Image
  • Go to the web interface of your ESPARGOS device. See Setup to learn how.
  • One after the other, select and flash the firmware files for
    • sensor firmware,
    • controller firmware and
    • controller web assets.
    ESPARGOS will reboot after every firmware update.
Command Line
# Download dev firmware files from espargos.net
cd /tmp
wget https://espargos.net/firmware/dev/espargos-sensor-firmware.bin
wget https://espargos.net/firmware/dev/espargos-controller-firmware.bin
wget https://espargos.net/firmware/dev/espargos-controller-assets.bin

# Upload firmware to ESPARGOS:
# * Change ESPARGOS_HOST to the IP address / hostname of your ESPARGOS device.
# * Make sure the update succeeded after every step. Otherwise, reboot ESPARGOS.
ESPARGOS_HOST=192.168.1.2
curl -# "http://$ESPARGOS_HOST/update_sensor_application" --compressed -H "Content-Type: application/octet-stream" --data-binary @espargos-sensor-firmware.bin | tee /dev/null
curl -# "http://$ESPARGOS_HOST/update_firmware" --compressed -H "Content-Type: application/octet-stream" --data-binary @espargos-controller-firmware.bin | tee /dev/null
curl -# "http://$ESPARGOS_HOST/upload_partition?partition=web" --compressed -H "Content-Type: application/octet-stream" --data-binary @espargos-controller-assets.bin | tee /dev/null

Sensor Update Behavior

Image
The ESPARGOS controller takes care of distributing the firmware update to all sensor microcontrollers.
  • While the update is being distributed, the sensors will quickly alternate between green and red.
  • In the end, the sensors will flash both red and green LEDs simultaneously to indicate that the update was succesful.

Recovery Instructions

Recovery images are only needed in case your ESPARGOS device is not functioning properly after a failed update. This way, you can always restore your device to a working state even if something goes wrong during the update process. You cannot "brick" ESPARGOS by due to firmware issues.

Recovery is only possible with the current hardware revision, prototype boards do not support this recovery method!

Controller Firmware Recovery

From a WebUSB-enabled Browser

With a WebUSB-enabled browser (e.g., Google Chrome), connect ESPARGOS to your computer via USB and click the appropriate button for your chosen channel to flash the recovery firmware directly from your browser. Note that this method is quite slow (can take around 10 minutes):

ChannelBuildInstall
Dev2026-03-17 14:34 UTC · 8b89de8
Testing2026-02-26 17:23 UTC · a76b2a3
Stable2026-02-26 17:23 UTC · a76b2a3
Manual Recovery with esptool

  • Make sure to install esptool. It is included in ESP-IDF, but full installation of ESP-IDF is not required.
  • Connect ESPARGOS to your computer via USB. It will appear as a USB serial device, assumed to be named /dev/ttyUSB0 in the following.
  • Execute the following command to flash the recovery image. This will reset ESPARGOS to factory settings:
  • wget https://espargos.net/firmware/dev/espargos-controller-recovery.bin
    esptool --chip esp32 -b 2000000 --before default-reset --after hard-reset write-flash --flash-mode dio --flash-size 16MB --flash-freq 40m 0x0000 espargos-controller-recovery.bin

Sensor Firmware Recovery

  • Download the sensor recovery partition from the link above, and upload it to ESPARGOS using the web interface.
  • Click the "Provision All Sensors" button on the web interface. Be very patient, this will take up to ten minutes.