Change Partition Table through OTA - Over The Air (Arduino - PlatformIO) #10437
Replies: 5 comments
-
This forum is for bugs in the codebase stored here. Please ask general questions at https://esp32.com |
Beta Was this translation helpful? Give feedback.
-
It is possible, but the firmware must write a new partition table directly to the correct flash area, where the former partition table is located. Arduino offers no tools for it. It shall be done using ESP-IDF. |
Beta Was this translation helpful? Give feedback.
-
Converting this issue into a discussion. |
Beta Was this translation helpful? Give feedback.
-
So, maybe I have a alternative in mind. What if I write an ESP-IDF firmware that fits on current partition_table and current app0/app1 size, just to use this firmware as "intermediate firmware" to re-write this partition_table to the bigger one, and then this ESP-IDF firmware just start the OTA update to my "Arduino final firmware"? Would it be possible? |
Beta Was this translation helpful? Give feedback.
-
Sorry, I think the answer are on the links provided by @ibernstone. I'll read them and then I'll be back. Sorry and thank you guys for your support! :) |
Beta Was this translation helpful? Give feedback.
-
Board
ESP32-C3
Device Description
Custom Board
Hardware Configuration
It's not relevant, cuz it works for OTA processes that have the same "partitions table scheme".
But, only power components and using BT and WiFi to build a "sensor gateway", no special hardware connected.
Version
v3.0.4
IDE Name
PlatformIO
Operating System
Windows 11
Flash frequency
40MHz
PSRAM enabled
yes
Upload speed
115200
Description
Hi @VojtechBartoska and everyone,
I’m working with an ESP32-C3 using PlatformIO and the Arduino framework, and I’ve run into an issue with updating devices in the field via OTA. The current partition table on the devices limits the maximum firmware size, and my new firmware is larger than what the current partition table allows.
I’ve successfully created a smaller, intermediate firmware that fits within the existing partition table and uses a new partition table configuration. However, even after flashing this intermediate firmware via OTA, it seems that the partition table on the device is not updated. As a result, when I try to upload the larger firmware (which would fit in the new partition layout), I still receive a "too large" error, indicating that the partition table remains unchanged.
I’m looking for a solution to remotely update the partition table via OTA so that I can upload the larger firmware without having to physically access the devices. Is there any way to perform this partition table update via OTA, since I have nowadays many many devices country wide (Brazil)?
Any guidance or suggestions on how to handle this situation would be greatly appreciated.
Thanks in advance for your help!
Sketch
Debug Message
Other Steps to Reproduce
Steps:
I have checked existing issues, online documentation and the Troubleshooting Guide
Beta Was this translation helpful? Give feedback.
All reactions