ESP32-S3-DeevKitC-1 (Wroom2) doesnt start

Hi,

I tried my first project, a simple blinky, the source runs in Arduino IDE, so it is ok, I imported it into Visual Studio Code and PlatformIO, it compiles ans links without error, it finds the Com-port, it loads (percentage running up to 100%) but never start blinking.

Whats the problem?

Thanks a lot for help a newbee (to Platformio)

What’s your platformio.ini?

Screenshot of the Arduino IDE → Tools menu with which it works in the Arduino IDE?

Sorry, as a new user, I am not allowed to put more than one image in a message …

The first thing that you’ll want to do is reduce it to the most basic serial and blinky sketch. Running neopixels is overkill.

#define LED LED_BUILTIN /* (or a different fixed pin number) */

void setup() {
   pinMode(LED, OUTPUT);
   Serial.begin(115200);
}

void loop() {
  Serial.println("Hello");
  digitalWrite(LED, HIGH);
  delay(1000);
  digitalWrite(LED, LOW);
  delay(1000);
}

Next you’ll want to sync your platformio.ini settings to the Arduino IDE settings as closely as possible. Right now you have these settings which is essentially 8MB of QIO Flash and no PSRAM, while in the Arduino IDE you have a 16 MByte OPI FLash with OPI PSRAM.

Then, there’s the problem that the official Espressif32 platform version is so outdated, it runs on Arduino-ESP32 core 2.0.16. You are probably running on a 3.x core, like v3.3.8.

Hence you should try and use PIOArduino with possibly this board by setting the following platformio.ini:

[env:esp32-s3]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip
; close board: 32MB Octal Flash (80MHz), 8MB Octal PSRAM, USB CDC disabled
board = esp32-s3-devkitc-1-n32r8v
framework = arduino
monitor_speed = 115200

; Partition Scheme: "16M Flash (3MB APP/9.9MB FATFS)
board_build.partitions = app3M_fat9M_16MB.csv
board_upload.flash_size = 16MB

Note the PIOArduino requirements, you might need to install Git.

As far as I know, there is no simplee led on this board, so the blinky has to use the RGB led. Not my favorite, but this board is not my design.

I thought, that selecting a board will implizitly setting all ‘flags’, ok, I have to do by hand.

I have to leave soon, try it later at night, maybe tomorrow, so thre will be a small delay.

Thanks a lot.

digital_write handles the RGB_LED internally. If the used pin number is RGB_BUILTIN a call to neopixelWrite is executed.

Here is a full working project for the esp32-s3-n16r8 with stock platformio’s espressif32 platform (6.12.0)

main.cpp

#include <Arduino.h>

void setup() {
    Serial.begin(115200);
    Serial.println("Hello World!");
}

void loop() {
    digitalWrite(RGB_BUILTIN, HIGH);
    delay(1000);
    digitalWrite(RGB_BUILTIN, LOW);
    delay(1000);
}

platformio.ini

; Flash: 16MB QD, PSRAM: 8MB OT
[env:esp32-s3-devkitc-1]
platform = espressif32 @ 6.12.0
board = esp32-s3-devkitc-1
framework = arduino
monitor_speed = 115200

board_build.arduino.memory_type = qio_opi
board_build.flash_mode = qio
board_build.psram_type = opi
board_upload.flash_size = 16MB
board_upload.maximum_size = 16777216
board_build.partitions = default_16MB.csv
board_build.extra_flags = 
  -DBOARD_HAS_PSRAM

Ok, thanks

This trick is never noted down in the documents of the board. I used the simple blinkies and nothing happens (in the Arduino IDE) so I started with NeoPixels.

Soooo. I adapted the PlatformIO.ini and the main.ccp, compilation and linking fine, uploading fine runs to ‘100%’ and …. nothing else, no blinky board.

I pressed the ‘Rst’ button, no blinking board.

Cross check with Arduino IDE (just in the case the board, cable or USB interface of the lappi was dying in the meanwhile) works fine, I got a blinky board.

Where to look next?

Ooooh,

I don’t have a blinky board, but the debugger is running someehow:

And I get a crash dump.

Sorry again, as a new user I am not allowed to post more than one image in a reply …

What’s the call stack in the left side of the debugger when it hits that panic function?