Skip to content

ESP32-S3 N16R8 (Freenove, Octal PSRAM) - zero serial output after ROM entry, on 1.15, Beta, and custom build with otadata fix #2689

Description

@hamboosh9

Board: Freenove ESP32-S3-WROOM (N16R8 - 16MB flash / 8MB Octal PSRAM), bare devkit, no display/buttons attached. Flashed via left USB-C (UART) port.

Summary:
Device never boots into the app or brings up the BruceNet AP. Serial output stops completely right after the ROM's entry line - no bootloader banner, no crash/panic message, nothing at all, on three separate firmware builds. Confirmed via esptool --chip esp32s3 --port COM3 flash_id that the chip, flash (16MB), and connection are all healthy.
What I originally hit (1.13 / 1.14 / 1.15 via official web flasher):

E (626) esp_ota_ops: not found otadata

Device never started the BruceNet AP.
Steps taken, in order:
Flashed 1.15 (stable) via bruce.computer/flasher, esp32-s3-devkitc-1 profile → otadata error above.
Full chip erase (esptool erase-flash), reflashed 1.15 → same error.
Flashed the Beta channel build (dated 2026-07-22) from the same flasher, on a freshly erased chip → no otadata error this time, but now zero output at all after:

   ESP-ROM:esp32s3-20210327
   Build:Mar 27 2021
   rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
   SPIWP:0xee
   mode:DIO, clock div:1
   load:0x3fce2820,len:0x10cc
   load:0x403c8700,len:0xc2c
   load:0x403cb700,len:0x30c0
   entry 0x403c88b8

No bootloader banner, no crash dump, no further output - confirmed via PuTTY (Serial, COM3, 115200), not just the flasher's log panel, waiting 15-20+ seconds after reset.
Verified chip health directly:

   esptool --chip esp32s3 --port COM3 flash_id

→ Chip detected fine, 16MB flash, PSRAM 8MB reported by eFuses. No connection/hardware issues.
Found that upstream's own partition CSVs used by the esp32-s3-devkitc-1 / esp32-s3-devkitc-1-psram envs (custom_8Mb.csv, custom_16Mb.csv) do not define an otadata partition, despite the app partition being declared as subtype ota_0 (which requires one). This looks like the real root cause of the original error.
Also noticed the board actually needs the esp32-s3-devkitc-1-psram env (which sets board_build.arduino.memory_type = qio_opi for Octal PSRAM) rather than the plain esp32-s3-devkitc-1 env, which has no PSRAM config at all.
Cloned main, added an otadata partition to custom_8Mb.csv:

   # Name,   Type, SubType, Offset,  Size, Flags
   nvs,      data, nvs,     0x9000,  0x5000,
   otadata,  data, ota,     0xe000,  0x2000,
   app0,     app,  ota_0,   0x10000, 0x4E0000,
   spiffs,   data, spiffs,  0x4F0000,0x300000,
   coredump, data, coredump,0x7F0000,0x10000,

Built with:

   pio run -e esp32-s3-devkitc-1-psram

Build succeeded, produced a valid merged binary (Bruce-esp32-s3-devkitc-1-psram.bin).
Full chip erase again, flashed this custom build → same exact silent hang after entry 0x403c88b8, no otadata error, no crash message, nothing.
To rule out PSRAM/hardware specifically: flashed a bare Arduino IDE sketch (Board: ESP32S3 Dev Module, PSRAM: OPI PSRAM) that just prints ESP.getPsramSize(). This booted and printed correctly:

   PSRAM size: 8388608

So the chip, PSRAM (Octal, 8MB), and basic Arduino-level boot are all confirmed working.
Conclusion: Hardware and PSRAM are ruled out. The otadata partition issue is real (confirmed missing in the actual partition CSVs) and worth fixing regardless, but fixing it did not resolve the silent hang — something else in Bruce's own setup()/init path appears to hang indefinitely with zero serial output on this board/env combination, before any print statement executes and without triggering a Guru Meditation panic.
Question: Is there a known blocking call in the headless (ESP-General/esp32-s3-devkitc-1-psram) boot path - SD card init, an I2C/SPI peripheral probe, or similar - that could hang forever without a timeout on a bare board with none of those peripherals physically attached? Happy to add debug prints / bisect further if pointed at the right place in setup().

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions