Hello everyone,
We are using ESP32-WROOM-32UE-N8 (8MB flash) in production and generate the following binaries:
boot_app0.bin
project.ino.bootloader.bin
project.ino.bin
project.ino.partitions.bin
We are considering migrating to ESP32-WROOM-32UE-N16 and ESP32-WROOM-32UE-N16R2 (16MB flash).
Now we are planning to migrate to ESP32-WROOM-32UE-N16 and ESP32-WROOM-32UE-N16R2 modules.
Questions:
1. Can the same binaries (built for 8MB flash) be flashed and run on 16MB variants without rebuilding?
2. If we use an 8MB partition table on a 16MB device, will the remaining flash simply be unused, or can this lead to issues (e.g., OTA, SPIFFS, or flash size detection mismatches)?
3. Are there any risks in production if we keep using the 8MB partition layout on 16MB hardware?
4. For the N16R2 (with PSRAM), will existing firmware run unchanged, and what configuration changes are required to actually use PSRAM?
We are trying to determine whether a firmware rebuild (with updated partition table and flash size configuration) is required for a reliable production migration.
Any insights or recommended practices would be helpful.
Thank You!
ESP32: Using 8MB partition/binaries on 16MB flash (WROOM-32UE-N16 / N16R2
-
Hiten Shah
- Posts: 4
- Joined: Thu Feb 05, 2026 6:53 am
Re: ESP32: Using 8MB partition/binaries on 16MB flash (WROOM-32UE-N16 / N16R2
It should just work. ESP-IDF will detect the actual flash size being bigger than the program, but aside from spitting out a warning about it, it'll be perfectly happy. As a rule of thumb, ESP-IDF won't touch anything that is outside a defined partition, so if your current partition table is empty for the extra 8MiB, that bit will stay unused.
PSRAM generally is enabled in Menuconfig; there's multiple options depending on how you want to use it; I'd look through the options to see which one works for you.
PSRAM generally is enabled in Menuconfig; there's multiple options depending on how you want to use it; I'd look through the options to see which one works for you.
-
lbernstone
- Posts: 1132
- Joined: Mon Jul 22, 2019 3:20 pm
Re: ESP32: Using 8MB partition/binaries on 16MB flash (WROOM-32UE-N16 / N16R2
As Sprite said, there is no problem with partitioning. The empty space will simply be unpartitioned. If you want to get fancy, you can code something to expand a partition into that space.
Arduino uses a define to enable psram (-DBOARD_HAS_PSRAM), but if the RAM isn't physically there, it continues without error. So, if you build your firmware with psram enabled, it will be universal. That makes it much more difficult to use the psram effectively, but if you just let the allocator do its automatic thing, it will put any allocation over 4k in there.
Arduino uses a define to enable psram (-DBOARD_HAS_PSRAM), but if the RAM isn't physically there, it continues without error. So, if you build your firmware with psram enabled, it will be universal. That makes it much more difficult to use the psram effectively, but if you just let the allocator do its automatic thing, it will put any allocation over 4k in there.
Who is online
Users browsing this forum: PerplexityBot, Qwantbot and 0 guests
