Arduino IDE setup for ESP32 S3 WROOM

I just received my ESP32 S3 WROOM from Core today but can’t get anything to upload via Arduino IDE. I’m using https://dl.espressif.com/dl/package_esp32_index.json as the board manager url and have selected ESP32 Dev Module, but that’s giving me compile errors. I’ve tried a bunch of other board options with the same result. I can’t find ESP32 S3 WROOM in the list.

The serial monitor displays…
int → stderr
e[0;32mI (910689) example: log → USBe[0m
example: print → stdout
example: print → stderr
… over and over

2 Likes

I’ve also tried the board manager url https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json and found the ESP32 S2 in there - but no S3 options. I get the following…

esptool.py v3.1
Serial port COM6
Connecting……____An error occurred while uploading the sketch
A fatal error occurred: Failed to connect to ESP32-S2: Timed out waiting for packet header.

I’ve tried holding down the BOOT button while connecting but it doesn’t change the output

2 Likes

Hi Scott,

Unfortunately there isnt a stable release for the S3 port at the moment (there are issues up in GitHub so its definitely in the works).

(Source)

The S2 and C3 ports wont work unfortunately - there are Micropython ports available if you’re keen or beta versions of Arduino

2 Likes

Ok, thanks very much. I’ll adjust my expectations and dig a little deeper

3 Likes

Hi Scott,

Sorry to hear you’re disappointed, what were you looking to do with your project?

The newer ESP32 (SE and C6) chips are still very much under development and a firmware version may be available for exactly your project!

2 Likes

I’ve had some success! by hooking up to the UART port instead of USB I was able to upload my sketches. Seems counter-intuitive, but it worked!

My project is a control panel for various devices, with a web interface. I had it working with an ESP32-S2-Saola. By serving up a small website I was able to activate some 12 volt lights and a motor (separate mosfet controlled power rail) and also read a water tank level sensor, but I want to add a bluetooth battery level sensor. Hence the move to the S3.

I’ve got board going now and have remapped the various pins appropriately. Everything is working as it was on the S2. Now I’m going to look into reading from this bluetooth sensor.

Thanks!

3 Likes

Hi Scott,

Niiiiiiiice!! The S3 devkit is very confusing for that reason, if you’re curious the USB peripheral streams straight into the ESP32’s USB peripheral, whereas the UART first goes through the USB-UART converter (CP2102).

I’m keen to see how your project goes!!

PS: Re Bluetooth, the S3 only has BLE onboard

2 Likes

Hi Scott,

Sorry to hear that your experience wasnt the greatest, we’ll be sure to update the product page for that one!
Always feel free to get in touch if something is off about the parts and we’ll try our hardest to make sure your projects stay on track.

Glad to hear it worked in the end!

Thanks for jumping in and helping @Liam120347

Liam

2 Likes

So, finally you have successfully uploaded Arduino sketch to your ESP32 S3 WROOM, right? You mentioned that you hooked it up to the UART port instead of USB. Would you please elaborate a little bit? Did you need to use any extra hardware for this purpose?

2 Likes

Hi Tepalia,

Yeah from the looks of it Scott was successful.

No extra hardware would be required, the two microUSB ports on the devkit are routed differently, the ‘UART’ - USB port is attached to a USB-UART converter chip. Whereas the ‘USB’ - USB port is attached directly to the pins of the ESP32 and using the USB peripheral already on the microcontroller.

Taking a look at the schematic is the easiest way to tell the how they are connected:

In terms of firmware I think the S2 version was used.

1 Like

Thanks dear Liam. I was not even aware that I can’t program ESP32 S3 WROOM just plugging it with the USB port like an Arduino board. Valuable info indeed.

3 Likes