ESP32-S3 Won't boot when flashing custom meshtastic Firmware

Hi there,

I am not sure if this is the right forum for this but nobody responded to my question on other forums. Anyway, I am trying to create some mini meshtastic nodes with ESP32-S3 Mini and RF95 (aliexpress link: ESP32 S3 Mini) but I can’t seem to get them to boot when I flash them with custom firmware. I keep getting an error on the serial port that says core dump flash is corrupted. Also the same firmware works on a different ESP32-S3 board and I have tested this board and it does indeed work. My platformio.ini file and the serial output is below. Any help would be appreciated

Thanks

Backtrace: 0x40377d76:0x3fceb180 0x403805fd:0x3fceb1a0 0x40387299:0x3fceb1c0 0x4206eab6:0x3fceb2f0 0x403776e5:0x3fceb320 0x403cd757:0x3fceb350 0x403cda16:0x3fceb380 0x403c9929:0x3fceb4b0 0x40045c01:0x3fceb570 |<-CORRUPTED




ELF file SHA256: da207282d3043e87

E (368) esp_core_dump_flash: Core dump flash config is corrupted! CRC=0x7bd5c66f instead of 0x0
Rebooting...
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0x29 (SPI_FAST_FLASH_BOOT)
Saved PC:0x40377984
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x44c
load:0x403c9700,len:0xbe4
load:0x403cc700,len:0x2a38
[env:ESP32-S3-Nano]
board_level = extra
extends = esp32s3_base
board = esp32-s3-devkitc-1
board_flags = -DARDUINO_USB_CDC_ON_BOOT=1
build_flags = 
  ${esp32_base.build_flags} -D PRIVATE_HW -I variants/ESP32-S3-Nano

Have you tried erasing the flash memory?

image

Yes, I have tried erasing it a few times before reflashing but nothing seems to change.

Does a simple Arduino “Hello World” sketch work?

Yeah, I have tried a basic RGB led sketch in both platformio and arduino ide and they both work as expected.

Please file an issue to the meshtastic repository: Issues · meshtastic/firmware · GitHub

Ok thank you, that was my next step if no one could help me on any forums.
Thanks again for your help

I filed an issue on the GitHub page but it was almost immediately removed with the author stating that they do not provide support for custom hardware configurations. Although I have managed to figure out the issue on my own.

For future reference the issue was caused by platformio incorrectly assuming the esp32 chip has 8MB of flash when it only had 4MB so all i had to do was add the following lines to the platformio.ini file:

board_build.flash_size = 4MB
board_upload.flash_size = 4MB
1 Like