Connecting to ESP32

Note

The hardware in this example is the ESP32-C3-DevKit-RUST-1 on Arch

espflash

espflash list-ports
/dev/ttyACM0  1001:303A  Espressif  USB JTAG/serial debug unit

For more info:

espflash board-info
[2026-06-09T08:01:24Z INFO ] Serial port: '/dev/ttyACM0'
[2026-06-09T08:01:24Z INFO ] Connecting...
[2026-06-09T08:01:25Z INFO ] Using flash stub
Chip type:         esp32c3 (revision v1.1)
Crystal frequency: 40 MHz
Flash size:        4MB
Features:          WiFi, BLE
MAC address:       XX:XX:XX:XX:XX:XX

Security Information:
=====================
Flags: 0x00000000 (0)
Key Purposes: [0, 0, 0, 0, 0, 0, 12]
Chip ID: 5
API Version: 7
Secure Boot: Disabled
Flash Encryption: Disabled
SPI Boot Crypt Count (SPI_BOOT_CRYPT_CNT): 0x0

Common issues

User not in the correct group

sudo usermod -aG dialout $USER
sudo usermod -aG uucp $USER

Check the USB cable

If when listing serial ports with espflash list-ports:

No known serial ports found.

Make sure you’re using a data-capable USB cable, and some cables only provide power and can’t transfer data.

Unless you’re 100% sure the cable works with data, try others. For the love of god, try others.

Run espflash list-ports again:

/dev/ttyACM0  1001:303A  Espressif  USB JTAG/serial debug unit

Waiting for download

When flashing to a board, if it’s stuck at “waiting for download”, check if the board is in boot mode. Unplug/plug it back in, or press the reset button. Basically turning it off and on again fixes it like it fixes almost anything.

[2026-06-08T17:02:07Z INFO ] Flashing has completed!
Commands:
    CTRL+R    Reset chip
    CTRL+C    Exit

ESP-ROM:esp32c3-eco7-20230720
Build:Jul 20 2023
rst:0x15 (USB_UART_CHIP_RESET),boot:0x4 (DOWNLOAD(USB/UART0))
Saved PC:0x4038085e
waiting for download
 

cmac4603

A random assortment of notes.


Categories


2026-06-09