ESP32S3 4M Port missing. Partition table in Firmware in file is wrong
Port, board and/or hardware
esp32
MicroPython version
I have a problem on 4M variant of ESP32S3 (ESP32S3 Super Mini)
4M variant of firmware working good, without any problems.
But 4M firmware download is missing now on Micropython firmware download page.
I try to flash "universal" firmware v1.25.0 (2025-04-15)
and now my Filesystem not working.
MPY: soft reboot
Traceback (most recent call last):
File "_boot.py", line 11, in <module>
File "inisetup.py", line 38, in setup
File "inisetup.py", line 7, in check_bootsec
OSError: (-24579, 'ESP_ERR_FLASH_NOT_INITIALISED')
MicroPython v1.25.0 on 2025-04-15; Generic ESP32S3 module with ESP32S3
I try to compare 4M firmware and new firmware, and partition table at adress 0x8000 in flash memory is different.
Partition table in new firmware is for 6MB filesystem.
Please bring back the 4M variant of Micropython
Reproduction
Download new image from Micropython website for ESP32S3
https://micropython.org/resources/firmware/ESP32_GENERIC_S3-20250415-v1.25.0.bin
Upload it to 4M variant of ESP32S3 and open REPL
Expected behaviour
I expected working filesystem, but vfs partition is broken now.
Observed behaviour
Flashing back to 4M Variant firmware helps... but for other people 4M build is missing now on download page
Additional Information
No, I've provided everything above.
Code of Conduct
Yes, I agree
Feature-request: Put the GENERIC download on the ESP32 web page, and move all non-critical modules to vfs
Please put the ESP32_GENERIC link into this page: https://micropython.org/download/?port=esp32
Please make the ESP32_GENERIC build only contain these modules in the firmware (with suitable adjustments if needed so auto-detect when needed, so the firmware works on boards potentially missing that hardware):
Dual-core, External Flash, External RAM, DAC, WiFi
Please move all of these (plus any others) into the VFS partition, and allow us to specify the pin(s) etc they use ourselves:
Audio Codec, BLE, Battery Charging, CAN, Camera, Display, Environment Sensor, Ethernet, Feather, IMU, JST-PH, JST-SH, LoRa, Microphone, PoE, RGB LED, SDCard, Secure Element, USB, USB-C, microSD, mikroBUS...
Please make 2 release available: the main one, which includes the VFS partition (flashing this will erase all user files), and a minimal one, which does not include the VFS partition (flashing this leaves user files alone).
The above feature-requests maximize all tradeoffs between code-size, feature-support, and hardware-support, while simultaneously reducing the vastly unnecessary number of builds and firmware releases: everyone can use the same firmware on all boards, with just different VFS for all the different boards out there.
I expect this would be a minor change to the build process (omitting the step which merges the .mpy modules into the firmware, and replacing it with one which puts them into a vsf.bin file instead).