ESP32 OTA BT Serial and WiFi

thanks in advance for help.
I use BT Serial and WiFi with ElegantOTA in one project.
The Problem is that with both 130% of Flash is used.
If I only use one of them it near 80%
My thinking is that 2 times OTA memories are reserved. Is that possible? And when how could I solve it?

No, you’re just seeing the flash usage of the firmware.elf, which is one firmware image.

You could inspect the .pio\build\<env>\<project>.map files with e.g. amap, that will show you a more detailed view of which functions or submodule is hogging up flash that badly. Or use PlatformIO’s built-in Inspect tool (via PIO Home).

If you’re not yet using the new 2.0.x core using platform =, you might want to give that a try.

Difficult for me to understand.
When I add “board_build.partitions = no_ota.csv” to pio.ini the usage is 50%
So thats needed for the code. Alll other usage is for ota, right?

No. When you use board_build.partitions = no_ota.csv, you are using a different partitioning scheme that expands the maximum size for the application largely. The max app size there is about twice the app size compared to the default partition table. You can see that that is true by looking at the partition table data

One App0 partition of size 0x200000 = 2.0MByte.

Two APP partitions of size 0x140000 = 1.25 MByte.

If you don’t use SPIFFS, have tried using


Min_spiffs also not works. Why there is only app0 in no_ota?

OTA means that the flash layout has 2 app partitions. One for the running firmware and one for the next firmware to be downloaded. “No OTA” has no such requirements for a second app partition.

Ok, now I understand. Not sure why, I thought yesterday I tried min spiffs but today it works.

Thanks a lot for help!