USB-C is becoming more and more popular. A straightforward assumption is that you can replace the old cable with a USB-A connector with USB-C, and everything should be the same. This assumption is wrong.
Some cables do not work well with ESP32, S2, S3, and C3. Here you can find information about cables which does not work and it’s not possible to flash dev boards with the chip with espflash, idf.py or esptool.py.
A typical error message looks like this:
Serial port: /dev/tty.usbserial-110 Connecting... Unable to connect, retrying with extra delay... Unable to connect, retrying with default delay... Unable to connect, retrying with extra delay... Error: espflash::connection_failed × Error while connecting to device ╰─▶ Failed to connect to the device help: Ensure that the device is connected and the reset and boot pins are not being held down
USB-C to micro-USB connected to boards ESP32-S2-USB-OTG and ESP32-S3-USB-OTG, length 60 cm, marks on cable “AWM 80 C 30V VW-1 USB 2.0 CABLE”:
- directly connected to mac M1 2020 – does not work
- workaround #1: press and hold boot button on the board, start flash command, release boot button after flashing process starts
- workaround #2: connect mac M1 to monitor/hub with USB-C and connect the cable there
- workaround #3: use computer with Windows or Linux, the cable seems to work correctly with these OSes