Fails to upload to ESP32S3-WROOM-1

I have to correct my statement.
Both LED_BUILTIN and RGB_BUILTIN work perfectly.

Problems with LED aside…

Here is a quick run down how to fix the upload problems

The default macOS driver seems to have a problem with the CH34x chipset/board.
You have to install the CH34xVCPDriver.
If you are on a M1/M2 ARM machine you need to install and use the app from the DMG. On Intel the pkg seems to do the trick.

What is a little weird is that I don’t see the driver loaded:

kextstat | grep -v apple
Executing: /usr/bin/kmutil showloaded
No variant specified, falling back to release
Index Refs Address            Size       Wired      Name (Version) UUID <Linked Against>

and that it now creates two ports.
One seems to be the old driver, the other one the new driver.

$ pio device list   
/dev/cu.wchusbserial57810170451
-------------------------------
Hardware ID: USB VID:PID=1A86:55D3 SER=5781017045 LOCATION=2-1
Description: USB Single Serial

/dev/cu.usbmodem57810170451
---------------------------
Hardware ID: USB VID:PID=1A86:55D3 SER=5781017045 LOCATION=2-1
Description: USB Single Serial

You need to ensure that pio uses the wch port.

This pio ini now solved the upload for me:

[env:esp32-s3-devkitc1-n16r8]
platform = espressif32
board = esp32-s3-devkitc1-n16r8
framework = arduino
upload_port = /dev/cu.wchusbserial*
2 Likes

bridgeb: I have found a brand new ESP32-S3 N16S8 sown in the above image. I am running Platformio on a Windows 10 laptop.

How did you get that to work? I’ve got an ESP32-S3-devkitC-1-N8, but whenever I try to create a PlatformIO project for it in VSC, all I get is:

Installing espressif/toolchain-riscv32-esp @ 8.4.0+2021r2-patch3
UnknownPackageError: Could not find the package with ‘espressif/toolchain-riscv32-esp @ 8.4.0+2021r2-patch3’ requirements for your system ‘windows_amd64’

Your comments would be appreciated!

The risc toolchain is for ESP32-C series!?
Please share your platformio.ini

nmw01223: sivar2311 is right. You should be seeing it use the xtensa-esp32s3 toolchain not the risc toolchain. When choosing the board for the project make sure you select one of the esp32-s3-devkitc-1 board options. The default setting is for 8MB of memory but will still work. To make full use of the 16MB flash and 8MB PSRAM you will need to decide on a partition model for the application.

I picked up on this because at the time I couldn’t get anything to work. When I selected the ESP32-S3-DEVKITC-1-N8, being what I have, it came up with the message above.

So, I tried a bland ESP32 dev board and it created the project OK but would not upload because it said wrong CPU - correct, I assume.

Then in another thread someone suggested deleting the espressif folder in the .platformio tree on the basis that it might be out of date and referencing something now non-existent in the repository. So, did that, it presumably reinstalled, and miraculously the project created correctly and all is now OK. So, I assume he was right.

Hey tcurdt thanks so much. I had the exact same problem and the driver solved it. I can’t imaging how long I would have been beating my head against the wall trying to solve this.

2019 Intel Macbook Pro.

1 Like

@tcurdt Thank you very much for sharing the steps to solve your issue.
I am in the same situation you were in and downloaded the drivers and installed them from the DMG, but when i run the programm and click the install button nothing happens:

I wanted to ask if the installer might be broken for me and if i should see anything after clicking Install

In the folder with the DMG and PKG is also an instrucitons.pdf that contains some interesting additional information. After some instructions for installing there are some steps for validation:

When plug the USB-to-SERIAL device into the USB port, you can open “SystemReport”->Hardware->USB, the right side is “USB Device Tree” and you will find a device whose “Vendor ID” is [0x1a86] if USB device is working properly.

I can indeed see the USB device with vendor ID 0x1a86. But the next step -

Open “Terminal” program under Applications-Utilities folder and type the command “ls /dev/tty*”. You should see the “tty.wchusbserialx” where “x” is the assigned device number similar to Windows COM port assignment.

fails for me. I cannot see any wchusbserial port.

Does someone know what might be the issue here?