ESP32-C6-WROOM-1 USB-C Communication Issues on macOS (Works Fine on Windows)
Posted: Fri Jan 24, 2025 8:38 am
Hi everyone,
I’ve developed a custom PCB using the ESP32-C6-WROOM-1 module. The board does not include a UART bridge chip, as the ESP32 communicates directly via USB-C.
On my Windows PC, everything works perfectly. I can program the ESP32, upload sketches, and use the serial monitor without any issues using a USB-C cable.
However, when I connect the same board to my MacBook Pro with M3 Pro (running macOS Sonoma 14.5) using the exact same USB-C cable, I encounter the following problems:
1. The ESP32 does not always reliably appear under the USB devices in macOS.
2. When the ESP32 is eventually recognized, I can select it in the Arduino IDE, but the upload process always fails with the following error:
Since my board doesn’t include a UART bridge chip, I assume there’s no driver I can update or install, as macOS should natively support USB-CDC communication. I’ve tried the following troubleshooting steps without success:
• Different USB-C ports on my MacBook.
• Disabling macOS power management to ensure USB ports stay active.
• Ensuring USB-CDC is enabled in the Arduino IDE settings.
• Testing with other sketches at lower baud rates.
The board continues to work flawlessly on my Windows PC. Does anyone have any advice on what could cause these issues on macOS or how to resolve them? Is there something specific I should configure for USB-CDC on macOS?
Thanks in advance for your help!
I’ve developed a custom PCB using the ESP32-C6-WROOM-1 module. The board does not include a UART bridge chip, as the ESP32 communicates directly via USB-C.
On my Windows PC, everything works perfectly. I can program the ESP32, upload sketches, and use the serial monitor without any issues using a USB-C cable.
However, when I connect the same board to my MacBook Pro with M3 Pro (running macOS Sonoma 14.5) using the exact same USB-C cable, I encounter the following problems:
1. The ESP32 does not always reliably appear under the USB devices in macOS.
2. When the ESP32 is eventually recognized, I can select it in the Arduino IDE, but the upload process always fails with the following error:
Code: Select all
Sketch uses 306327 bytes (23%) of program storage space. Maximum is 1310720 bytes.
Global variables use 14524 bytes (4%) of dynamic memory, leaving 313156 bytes for local variables. Maximum is 327680 bytes.
esptool.py v4.8.1
Serial port /dev/cu.usbmodem101
Connecting...
Chip is ESP32-C6 (QFN40) (revision v0.0)
Features: WiFi 6, BT 5, IEEE802.15.4
Crystal is 40MHz
MAC: 40:4c:ca:ff:fe:43:d1:f8
BASE MAC: 40:4c:ca:43:d1:f8
MAC_EXT: ff:fe
Uploading stub...
A fatal error occurred: Serial data stream stopped: Possible serial noise or corruption.
Failed uploading: uploading error: exit status 2
• Different USB-C ports on my MacBook.
• Disabling macOS power management to ensure USB ports stay active.
• Ensuring USB-CDC is enabled in the Arduino IDE settings.
• Testing with other sketches at lower baud rates.
The board continues to work flawlessly on my Windows PC. Does anyone have any advice on what could cause these issues on macOS or how to resolve them? Is there something specific I should configure for USB-CDC on macOS?
Thanks in advance for your help!