Production board returned with unexpected ESP-AT firmware on it
Posted: Fri Oct 06, 2023 11:30 pm
I have 500+ ESP32C3 devices in the field, and this one just got returned because it could not be set up.
Turns out this board no longer has my firmware on it. It is loaded with ESP-AT firmware v2.4.0.
This device never connected to my cloud, so it was not updated via my firmware update process. The device is sealed in a waterproof housing, so nobody had access since before final test.
I have logs of this board being flashed with my custom ESP-IDF firmware and tested at the fab.
Initial firmware is flashed using esptool.py as follows:
I also have logs of this board being tested and assembled at my factory, which requires my firmware to be loaded and running.
I've loaded and inspected flash for any left over clues that my firmware had been loaded, but I find none.
otabin partition is in the same location, and shows an ota sequence index of 1, which I'm thinking means that this firmware was not OTA'd but flashed.
01 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF 02 00 00 00 9A 98 43 47
My pcba fab test process writes data in upper flash, what would be the ESP-AT firmware's OTA-2, which is just all FF's
What could have happened?
Any ideas?
Was this ESP-AT firmware already loaded? In my experience bare modules have no firmware on them.
This chip is ESP32-C3, rev 4
bootloader logs this: ESP-IDF qa-test-v4.3.3-20220423 2nd stage bootloader
Thanks everyone! Please help me solve this mystery (and avoid customer returns!)
-scott.e
Turns out this board no longer has my firmware on it. It is loaded with ESP-AT firmware v2.4.0.
This device never connected to my cloud, so it was not updated via my firmware update process. The device is sealed in a waterproof housing, so nobody had access since before final test.
I have logs of this board being flashed with my custom ESP-IDF firmware and tested at the fab.
Initial firmware is flashed using esptool.py as follows:
Code: Select all
python ${esptoolPath} -p ${monitor_device} -b 460800 --before default_reset --after hard_reset --chip esp32c3 \
write_flash --flash_mode dio --flash_size keep --flash_freq 80m \
0x0 ${bootloaderPath} \
0x8000 ${partitionTablePath} \
0xd000 ${otaDataPath} \
0x10000 ${monitorPath}
I've loaded and inspected flash for any left over clues that my firmware had been loaded, but I find none.
otabin partition is in the same location, and shows an ota sequence index of 1, which I'm thinking means that this firmware was not OTA'd but flashed.
01 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF 02 00 00 00 9A 98 43 47
My pcba fab test process writes data in upper flash, what would be the ESP-AT firmware's OTA-2, which is just all FF's
What could have happened?
Any ideas?
Was this ESP-AT firmware already loaded? In my experience bare modules have no firmware on them.
This chip is ESP32-C3, rev 4
bootloader logs this: ESP-IDF qa-test-v4.3.3-20220423 2nd stage bootloader
Thanks everyone! Please help me solve this mystery (and avoid customer returns!)
-scott.e