OPI PSRAM bootloop on custom ESP32-S3R8V PCB

rangersdesktop
Posts: 3
Joined: Tue Sep 23, 2025 7:39 pm

OPI PSRAM bootloop on custom ESP32-S3R8V PCB

Postby rangersdesktop » Thu Sep 25, 2025 5:20 am

Hello, I trying to test my hardware but whenever I enable PSRAM in Arduino ide I get boot loops. It doesn't matter what is in the script. When PSRAM is "Disabled" things run fine but if use "OPI PSRAM" I get these bootloops:

Code: Select all

E (187) esp_core_dump_flash: Core dump flash config is corrupted! CRC=0x7bd5c66f instead of 0x0
E (195) esp_core_dump_elf: Elf write init failed!
E (200) esp_core_dump_common: Core dump write failed with error=-1
Rebooting...
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x403765e1
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce2820,len:0x1180
load:0x403c8700,len:0xc2c
load:0x403cb700,len:0x311c
entry 0x403c88b8
E (24) qio_mode: Failed to set QIE bit, not enabling QIO mode
Guru Meditation Error: Core  0 panic'ed (IllegalInstruction). Exception was unhandled.

I'm not sure if the S3R8V has different configuration requirements or maybe I'm using a pin I'm not supposed to? I attached an image of my pin usage for reference and I'm happy to provide more info. Here is the esptool output I get from my board:

Code: Select all

esptool v5.0.2
Connected to ESP32-S3 on COM14:
Chip type:          ESP32-S3 (QFN56) (revision v0.1)
Features:           Wi-Fi, BT 5 (LE), Dual Core + LP Core, 240MHz, Embedded PSRAM 8MB (AP_1v8)
Crystal frequency:  40MHz
USB mode:           USB-Serial/JTAG
MAC:                7c:df:a1:f9:e8:f4

Stub flasher running.

Flash Memory Information:
=========================
Manufacturer: c2
Device: 2538
Detected flash size: 16MB
Flash type set in eFuse: quad (4 data lines)
Flash voltage set by eFuse: 3.3V

IO45/46 are floating on my current hardware and I used SPICLK_N and SPICLK_P for enable signals. This seems like a hardware issue but I'm not sure where to look.

This is my first esp32 design and I'm a little stumped here. Any help would be appreciated.
Thanks in advance!
Attachments
2025-09-24_02-13.png
2025-09-24_02-13.png (197.36 KiB) Viewed 1400 times

Sprite
Espressif staff
Espressif staff
Posts: 10617
Joined: Thu Nov 26, 2015 4:08 am

Re: OPI PSRAM bootloop on custom ESP32-S3R8V PCB

Postby Sprite » Thu Sep 25, 2025 6:47 am

I'm not seeing decoupling caps on Vddspi, do you have them elsewhere? If not, add an 1uF and 100nF in parallel to ground, see if that helps.

rangersdesktop
Posts: 3
Joined: Tue Sep 23, 2025 7:39 pm

Re: OPI PSRAM bootloop on custom ESP32-S3R8V PCB

Postby rangersdesktop » Thu Sep 25, 2025 8:06 pm

Thanks for the response!

Sorry for not including the flash layout. I did have the 0.1/1uF caps on my VDDSPI rail.

I have a feeling that this could be a power issue. Does enabling PSRAM cause the ESP32 to draw more power? I have a 2 layer, 0.33oz copper, flex PCB so power is a real concern. Looking back over my power distribution I found a 0.2mm wide choke point on the VDD3P3 rail. I'm also suspicious of the 2nH 0201 inductor in series (rated for 600mA, DCR: 120mOhm). From my research the internal PSRAM uses the VDD3P3 rail so these issues seem to line up?

I attached my board layout where my rookie mistakes are obvious. I'll bridge 3.3V to those pins to see it that solves the issue.


Lastly, I was wondering if the pins I used for my camera are ok and won't interfere?:

Code: Select all

OV2640 or OV3660 Camera:
- IO48/CAM_EN (HIGH=ON, enable for 2.75/1.2V Regulator)
- IO18/SDA
- IO21/SCL
- IO6/DVP_VSYNC
- IO7/DVP_HREF
- IO8/DVP_Y9
- IO9/XMCLK
- IO10/DVP_Y8
- IO11/DVP_Y7
- IO12/DVP_PCLK
- IO13/DVP_Y6
- IO14/DVP_Y2
- IO15/DVP_Y5
- IO16/DVP_Y3
- IO17/DVP_Y4

Thank you for all your help!
Attachments
pcb_issues.png
pcb_issues.png (552.01 KiB) Viewed 1374 times
Last edited by rangersdesktop on Thu Sep 25, 2025 8:07 pm, edited 1 time in total.

Sprite
Espressif staff
Espressif staff
Posts: 10617
Joined: Thu Nov 26, 2015 4:08 am

Re: OPI PSRAM bootloop on custom ESP32-S3R8V PCB

Postby Sprite » Fri Sep 26, 2025 8:21 am

Another thing: normally, the voltage in VDD_SPI depends on the startup level of the bootstrap pin GPIO45, if it's high, it's 1.8V else it's 3.3V. You can also force the level by burning some eFuses using esptool.py; these may already be burned off the factory but I'm not 100% sure about that. Can you check if your VDD_SPI maybe accidentally is 3.3V and use esptool.py to burn the 1.8V fuses if that's the case?

rangersdesktop
Posts: 3
Joined: Tue Sep 23, 2025 7:39 pm

Re: OPI PSRAM bootloop on custom ESP32-S3R8V PCB

Postby rangersdesktop » Fri Sep 26, 2025 11:55 pm

I soldered a wire to improve power distribution but it made no difference.

Thanks for pointing that out, I get conflicting reports about the eFuse:

esptool.exe flash-id:

Code: Select all

Flash type set in eFuse: quad (4 data lines)
Flash voltage set by eFuse: 3.3V

espefuse.exe summary:

Code: Select all

Vdd fuses:
VDD_SPI_XPD (BLOCK0)                               SPI regulator power up signal                      = True R/W (0b1)
VDD_SPI_TIEH (BLOCK0)                              If VDD_SPI_FORCE is 1; determines VDD_SPI voltage
   = VDD_SPI connects to 1.8 V LDO R/W (0b0)
VDD_SPI_FORCE (BLOCK0)                             Set this bit and force to use the configuration of = True R/W (0b1)
                                                    eFuse to configure VDD_SPI
...
Flash voltage (VDD_SPI) set to 1.8V by efuse.

I measure a strange 1.905V on the VDD_SPI pin with my multimeter (my flash supports: 1.65V ~ 2V). I read 3.32V on all other power supply pins. I'll attach the full output from espefuse.exe (summary/dump if needed).

I might just end up redesigning around the ESP32-S3FH4R2 to hopefully avoid this issue. Let me know if I should try anything else.

Thanks!
Attachments
espefuse-summary.txt
(17.71 KiB) Downloaded 30 times

rangersdesktop
Posts: 3
Joined: Tue Sep 23, 2025 7:39 pm

Re: OPI PSRAM bootloop on custom ESP32-S3R8V PCB

Postby rangersdesktop » Sun Sep 28, 2025 1:43 am

I bought the S3R8V's off digikey as engineering samples so maybe that was the cause of my issues? I made multiple of these boards and could never get the PSRAM to work. I could upload and run code fine when PSRAM was disabled.

I swapped the S3R8V for the ESP32-S3FH4R2 and that worked without issue.

Thanks for all your help!

Who is online

Users browsing this forum: No registered users and 5 guests