-
Notifications
You must be signed in to change notification settings - Fork 44
Firmware Update
Disclaimer: Firmware updates bring added stability, bug fixes, and new features, and in most cases it is recommended that you update to the latest version. Unfortunately, due to the wide variety of possible configurations and relatively small user base, new problems in firmware updates can sometimes go undetected.
If the correct operation of the device is absolutely critical to you and you are perfectly happy with your current firmware version, feel free to continue using it. Otherwise, please consider updating to help provide feedback and let us continue to improve the software. It is always possible to follow the same process to flash back an older version of the firmware.
This guide describes how to update the ESP32 XBee with the latest firmware and optionally reset the device configuration, for both Windows and Linux.
Go to the latest stable firmware release and download:
bootloader.bin
partition-table.bin
esp32-xbee.bin
www.bin
If you would like to reset the device configuration, also download:
wipe_config.bin
Plug the ESP32 XBee into any XBee programming device, e.g. XBee Explorer or SimpleRTK2B, and then connect that device to your PC.
Hold the BOOT button on the ESP32 XBee:
Then press and release the RESET button on the XBee programming device:
If the LED on the ESP32 is no longer flashing, it is now ready for firmware download.
If you are using the SimpleRTK2B, make sure you have disabled all UART2 output on the ZED-F9P as it will interfere with the flashing process. To confirm this, check that the GPS -> XBee LED on the SRTK2B is not flashing.
Be careful: If you hold the BOOT button for 5 seconds without pressing the RESET button, the ESP32 will perform a Full Reset and all settings will go back to their default values.
Proceed to the Windows or Linux sections.
Download "Flash Download Tools (ESP8266 & ESP32)" from Espressif, extract and run.
Select ESP32 DownloadTool:
In the flashing tool, click on the 3 dots beside the empty input boxes and load the previously downloaded files exactly as shown below.
It is important that the offsets exactly match the files:
-
bootloader.bin
@0x1000
-
partition-table.bin
@0x8000
-
esp32-xbee.bin
@0x10000
-
www.bin
@0x210000
If you would like to reset the device configuration, also include:
-
wipe_config.bin
@0x0
All other options should be exactly as above, except for the COM port and exact file paths which will be different on your PC.
Press the START button and wait for flashing to complete.
If the LED has not already started flashing, press the XBee RESET button and the ESP32 will restart with the latest firmware installed.
If you have not already done so, install the ESP flashing tool, esptool
:
Ubuntu/Debian: sudo apt-get install esptool
Arch: sudo pacman -S esptool
Navigate to the directory where you downloaded the firmware files to.
Run the following command (or adjust for different file paths):
esptool.py -b 460800 --after hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 4MB 0x8000 partition-table.bin 0x1000 bootloader.bin 0x10000 esp32-xbee.bin 0x210000 www.bin
If you would like to reset the device configuration, also include:
0x0 wipe_config.bin
The flashing tool will run and should give an output similar to:
esptool.py v2.8
Found 1 serial ports
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP32
Chip is ESP32D0WDQ5 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 4c:11:ae:6e:30:6c
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Compressed 3072 bytes to 110...
Wrote 3072 bytes (110 compressed) at 0x00008000 in 0.0 seconds (effective 1540.7 kbit/s)...
Hash of data verified.
Compressed 17216 bytes to 11168...
Wrote 17216 bytes (11168 compressed) at 0x00001000 in 1.0 seconds (effective 138.8 kbit/s)...
Hash of data verified.
Compressed 788768 bytes to 493546...
Wrote 788768 bytes (493546 compressed) at 0x00010000 in 43.9 seconds (effective 143.8 kbit/s)...
Hash of data verified.
Compressed 1048576 bytes to 93902...
Wrote 1048576 bytes (93902 compressed) at 0x00210000 in 8.4 seconds (effective 1004.1 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
If the LED has not already started flashing, press the XBee RESET button and the ESP32 will restart with the latest firmware installed.