Skip to content

Firmware Updates

The OpenScale - IoT supports both Over-the-AIR (OTA) and conventional/wired firmware updates.

OTA Firmware Updates

Updating the firmware for the OpenScale - IoT with a WiFi connection and a serial terminal open is incredibly simple. With the OpenScale - IoT connected to a WiFi network (with internet connectivity), open a terminal connected to the board either over Bluetooth or USB/serial and send "U". This automatically has the OpenScale -IoT ping the firmware host site to download and install a firmware update.

Manual Firmware Updates

If your OpenScale - IoT application does not have a WiFi internet connection, you can manually install the raw firmware binaries to the board using either the arduino-cli or Espressif's esptool. You can find the latest releases of the firmware binary from the OpenScale - IoT Binaries GitHub repository. Download the repository and navigate to the folder in which they are downloaded/cloned.

Using arduino-cli

Ensure that you have the ESP32 board files installed. In addition, the firmware here is dependent on ESP32 board files version 3.2. To roll back your version or install version 3.2 simply run the command:

arduino-cli core install esp32:esp32@3.2

Now upload the binary:

arduino-cli upload -i OpenScale-IoT.ino.bin -p >YOUR_PORT< -b esp32:esp32:esp32

In the background the arduino-cli is utilizing esptool.

Using esptool

Navigate to the location where esptool.py lives and run the following command. Make sure to update >YOUR_PORT< with your COM port. On Linux this may be something like /dev/ttyUSB0 on Windows COM3.

python -m esptool.py --chip esp32 -p >YOUR_PORT< -b 921600 write_flash 0x0 />PATH_TO_BINARY</OpenScale-IoT.ino.merged.bin