Fails to upload to ESP32S3-WROOM-1

This ended up working for me! (I’m using a Waveshare ESP32S3 Board with a 1.28 Touch LCD - the link to their wiki is here on an M1 MacBook Pro and using the Arduino IDE)). I got it to recognize the board exactly once and then upload my code. I changed it a bit and now it’s not communicating any more, so I’m troubleshooting that, BUT I got the driver installed. Also, I tend to give more info than not enough in the hopes it helps someone who doesn’t know what they’re doing (cause I’m totally in the same boat lol) so forgive me if I share more than needed.

Driver installation:

First, make sure you can use System Extensions and third party drivers. (You can do that in Recovery Mode under Startup Security Utility).

Next, you’ll open terminal and use it to copy the .dext file to the extensions directory.

  • After downloading the driver, mount the .dmg and get to the blue icon for the driver installer.

  • Right click the installer icon and select “Show Package Contents”

  • Navigate to “Contents → MacOS → Library → SystemExtensions”. You’ll see the ch.wch.CH34xVCPDriver.dext file there.

  • Change the terminal directory to the above System Extensions folder. Use the “cd” command and drag and drop the “SystemExtensions” folder to the terminal to automatically enter the path. It should look something like:
    bobross@MacBook-Pro ~ % cd /Volumes/CH34xVCPDriver/CH34xVCPDriver.app/Contents/Library/SystemExtensions

  • Hit the enter key and you’ll now be in the correct directory. Terminal should now show:
    bobross@MacBook-Pro SystemExtensions %

Now that you’re in the right directory, run the following command:
sudo cp -r /cn.wch.CH34xVCPDriver.dext/ /Library/DriverExtensions

Now that the file is copied, we need to load the extension using this command:
systemextensionsctl install /Library/DriverExtensions/cn.wch.CH34xVCPDriver.dext

That’ll put it in the right area - like the install was supposed to.

It should prompt you to Approve the System Extension - if it doesn’t, go to System Preferences → General → Login Items & Extensions → Extensions → Driver Extensions" (its ALLLL the way at the bottom of the window). Click on the “i” in the circle. Toggle the switch for the CH34xVCPDriver option. Click Done.

Restart you computer.

Now all you have to do is verify the installation! Run this command in Terminal:
systemextensionsctl list

You’ll get something back that looks like this:
4 extension(s)
--- com.apple.system_extension.driver_extension (Go to 'System Settings > General > Login Items & Extensions > Driver Extensions' to modify these system extension(s))
enabled active teamID bundleID (version) name [state]
5JZGQTGU4W cn.wch.CH34xVCPDriver (1.0/1) cn.wch.CH34xVCPDriver [activated enabled]
52444FG85C com.silabs.cp210x (6.0.2/1) com.silabs.cp210x [activated waiting for user]

If it shows [activated enabled] you’re good! You should see both wchusbserial and usbmodem now when looking at the port list.

1 Like