PlatformIO: SPIFFS works on WROOM-32 but bootloops on WROOM-32U
Posted: Mon Jul 26, 2021 7:46 am
I've run into a brick wall on this problem, I'm hoping someone can help.
My setup is an identical development config with each type of module:
- VSCode 1.58.0 + PlatformIO 5.2.0a9
- ESP-PROG board for code upload, icon file upload and reading serial output
- Platform: espressif32
- Board type: esp32dev
- Framework: arduino
- Partition table: default.csv
I made a simple board for my PM2.5 pollution sensor using the ESP32-WROOM-32 module. I can flash my firmware, then "Build Filesystem Image" of my small icons, and "Upload Filesystem Image" into the board and it works well. SPIFFS successfully initializes, the icons are read and displayed correctly via my web server code.
During testing I found that the WiFi power of the WROOM-32's PCB antenna wasn't good enough for my outdoor needs, so I got some ESP32-WROOM-32U modules with the U.FL connector. I built up a new identical board with the WROOM-32U module.
The code and filesystem images flash without any problems but then I get a bootloop like this over and over:
rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:10124
load:0x40080400,len:5828
entry 0x400806a8
ets Jun 8 2016 00:22:57
Everything I've read says the WROOM-32U module is a drop-in replacement for the WROOM-32 from a hardware and firmware standpoint so I don't understand why uploading the filesystem image into SPIFFS isn't working. I have tried multiple modules and fiddled with all of the usual suspects in platformio.ini.
Adding some debug code, the WROOM-32 identifies itself as #define EFUSE_RD_CHIP_VER_PKG_ESP32D0WDQ6 0
but the WROOM-32U identifies itself as #define EFUSE_RD_CHIP_VER_PKG_ESP32D0WDQ5 1
which is in the efuse_reg.h header file but not listed anywhere in the Espressif documentation that I can find. So that's weird!
Any nuggets of wisdom?
Thanks, Mike.
My setup is an identical development config with each type of module:
- VSCode 1.58.0 + PlatformIO 5.2.0a9
- ESP-PROG board for code upload, icon file upload and reading serial output
- Platform: espressif32
- Board type: esp32dev
- Framework: arduino
- Partition table: default.csv
I made a simple board for my PM2.5 pollution sensor using the ESP32-WROOM-32 module. I can flash my firmware, then "Build Filesystem Image" of my small icons, and "Upload Filesystem Image" into the board and it works well. SPIFFS successfully initializes, the icons are read and displayed correctly via my web server code.
During testing I found that the WiFi power of the WROOM-32's PCB antenna wasn't good enough for my outdoor needs, so I got some ESP32-WROOM-32U modules with the U.FL connector. I built up a new identical board with the WROOM-32U module.
The code and filesystem images flash without any problems but then I get a bootloop like this over and over:
rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:10124
load:0x40080400,len:5828
entry 0x400806a8
ets Jun 8 2016 00:22:57
Everything I've read says the WROOM-32U module is a drop-in replacement for the WROOM-32 from a hardware and firmware standpoint so I don't understand why uploading the filesystem image into SPIFFS isn't working. I have tried multiple modules and fiddled with all of the usual suspects in platformio.ini.
Adding some debug code, the WROOM-32 identifies itself as #define EFUSE_RD_CHIP_VER_PKG_ESP32D0WDQ6 0
but the WROOM-32U identifies itself as #define EFUSE_RD_CHIP_VER_PKG_ESP32D0WDQ5 1
which is in the efuse_reg.h header file but not listed anywhere in the Espressif documentation that I can find. So that's weird!
Any nuggets of wisdom?
Thanks, Mike.