I published instructions on creating customize memory partition maps for ESP32-S3 in Arduino IDE 2.x to Reddit. This is in support of my Reflections open-source project for creating entertaining mobile experiences. It's up at:
If it is a custom flash memory partition table for a single project you should be able to simply name it partitions.csv, copy it into the sketch folder and select custom partition from the tools menu of the Arduino IDE. Your description seems somewhat elaborate.
I also think this would be a more user friendly approach.
Keep in mind that, if you take the approach of modifying boards.txt, then the modification is lost every time the user updates to a new version of the "esp32" boards platform.
In case you are curious about this feature of the platform, you can see how it is implemented here:
This is not necessary. If a file named partitions.csv is present in the sketch folder, it will always be used, regardless of what is selected from Arduino IDE's Tools > Partition Scheme menu.
Elaborate?! ha! It's about 15 steps more than I ever wanted. I didn't find anything about partitions.csv when I searched for a solution. Thank you for pointing this out. -Frank
You are welcome. I'm glad if I was able to be of assistance.
Thanks also to you for sharing your project with the community under an open source license!
The feature of the "esp32" boards platform that allows defining a custom partitions scheme by adding the partitions.csv file to the sketch folder is documented here:
Has anyone tried this and had it work? Arduino IDE 2.3.4, 2.0.18-arduino.5 ESP32 Board package.
I've created partitions.csv in my project folder, wrote a quick program to read back the partition info, compiled and downloaded, and it doesn't seem to work.
What happens if, in the IDE tools menu, you set the core debug level to verbose ? Do you see evidence of your new partition settings when you start the ESP32 ?
I didn't see that verbose option.
But I did get it working I think! I used the esptool to program (not dfu) after some searching around, and I think it is now using the partitions.csv file in my project folder.
started the board into ROM BOOT mode (short B1-GND on reset).
Selected my board (Arduino Nano ESP32) manually, because it only identifies as "ESP32 family" on the USB serial port