Booting up ESP32-S3-Zero (cpu_start: Octal Flash option selected, but EFUSE not configured!)

I’ve been trying to load up a demo firmware on ESP32-S3-Zero (FH4R2) - (4 MB Flash and 2 MB PSRAM). I can upload the code to the device with trial and error (as I’m new to ESP32), but after resetting, the Serial monitor goes:

E (73) cpu_start: Octal Flash option selected, but EFUSE not configured!

abort() was called at PC 0x40377111 on core 0


Backtrace: 0x4037791e:0x3fceb260 0x4037ae69:0x3fceb280 0x403802e1:0x3fceb2a0 0x40377111:0x3fceb320 0x403cd823:0x3fceb350 0x403cdae2:0x3fceb380 0x403c9929:0x3fceb4b0 0x40045c01:0x3fceb570 |<-CORRUPTED

Rebooting...

ESP-ROM:esp32s3-20210327

Build:Mar 27 2021

rst:0xc (RTC_SW_CPU_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)

Saved PC:0x4037752c

SPIWP:0xee

mode:DIO, clock div:1

load:0x3fce3808,len:0x44c

load:0x403c9700,len:0xbe4

load:0x403cc700,len:0x2a68

entry 0x403c98d4

My platformio.ini looks like this:

[env:esp32s3]
platform = espressif32
board = esp32s3camlcd
framework = arduino

platform_packages = 
	platformio/tool-openocd-esp32

board_build.mcu = esp32s3
board_build.flash_mode = dio

build_unflags = -std=gnu++11

build_flags = 
        -std=gnu++17
        -DBOARD_HAS_PSRAM
        -DARDUINO_USB_CDC_ON_BOOT=1

lib_deps = 
	esp32-camera
	bblanchon/ArduinoJson

upload_speed = 115200
monitor_speed = 115200

The board that I got is this: 6.88€ 5% OFF|ESP32 S3 Mini Entwicklungs platine ESP32 S3FH4R2 Dual Core Prozessor 240MHz 2,4 GHz Wi Fi| | - AliExpress

The official waveshare page is for the board is: https://www.waveshare.com/wiki/ESP32-S3-Zero

Do you have any suggestions on how I should divide the partition for using a bigger app and have some space in SPIFFS storage as well? As later on, I plan on hosting it on a board with a camera, so I would need to store images on SPIFFS.

I can upload the demo application that Waveshare provides through the FlashDownloadTool with their given bin files. Can I use their partition.bin or bootloader.bin with my own firmware.bin file?

Any help is appreciated. Many thanks! :slight_smile:

This board has settings for octal flash.
But the ESP32-S3-FH4R2 is equipped with quad flash.

Try the board settings for the esp32-s3-devkitc-1:

board = esp32-s3-devkitc-1
board_build.partitions = huge_app.csv

build_flags = 
  -DARDUINO_USB_CDC_ON_BOOT=1

Woah @sivar2311, You’re a legend. Thanks so much. It worked!

I was able to load up the demo firmware and make it run. However, as soon as it restarts after booting, I see this warning:

ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x15 (USB_UART_CHIP_RESET),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x420b8752
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x44c
load:0x403c9700,len:0xbe4
load:0x403cc700,len:0x2a38
entry 0x403c98d4

I tried looking for answers to this but couldn’t find the reason.

Another follow up question: as I intend to use a camera, I will have to take reference from the CameraWebServer application and will have to use their camera_pins.h file

However, as I have little hardware knowledge, which board pin settings from the 5-6 ESP32-S3 versions in this file would be compatible with my “ESP32-S3-FH4R2”? I was gonna go for the CAMERA_MODEL_ESP32S3_CAM_LCD, but as you mentioned earlier, this one has octal flash, and mine has quad, so I’m assuming the GPIO pin settings might be different as well, right?

These are the ESP32-S3 options available from the camera_pins.h file:

CAMERA_MODEL_XIAO_ESP32S3
CAMERA_MODEL_ESP32S3_CAM_LCD
CAMERA_MODEL_ESP32S3_EYE
CAMERA_MODEL_DFRobot_FireBeetle2_ESP32S3 
CAMERA_MODEL_DFRobot_Romeo_ESP32S3

I’ll try any suggestions/tips if you have any. Many thanks again for such prompt support and help. I really appreciate it.

Best Regards,
Garvit

This is not a warning, this is the boot log.
You can find more detailed information here: Boot Mode Selection - ESP32-S3 - — esptool.py latest documentation

The pin definitions specify which camera pins are connected to which pins of the ESP32.
But the ESP32-S3-Zero to which you refer does not have a camera.
Therefore you will not find corresponding ready-made pin definitions for your board anywhere.

If you want to use a camera, I recommend that you use another board that is already equipped with a camera. For example this one Freenove ESP32-S3-WROOM CAM Board