-
Notifications
You must be signed in to change notification settings - Fork 44
Firmware Update
This guide describes how to update the ESP32 XBee with the latest firmware for both Windows and Linux.
Go to the latest stable firmware release and download:
bootloader.bin
partition-table.bin
esp32-xbee.bin
www.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.
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
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 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
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.