This is an old revision of the document!
Table of Contents
Serial USB Connection
KVM Virtual Machine USB
ESP32 development environment is running inside Virtual Machine. To forward the USB port to the VM do the following steps in Virtual Machine Manager on the host:
- Connect the ESP32 board to the PC using the USB cable.
- Select Virtual Machine –> Redirect USB device
- Select Silicon Labs CP2102 USB or similar. A WROOM-32U is recognized as a CP210x: CP210x USB to UART Bridge.
Check USB device in client
Check if the USB port is not recognized within the Virtual Machine:
# lsusb ------- Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 10c4:ea60 Silicon Labs CP210x UART Bridge Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd QEMU Tablet Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Find USB Port used
When plugged in ESP boards might use different tty ports, based upon the UART chipset and driver used. Some examples:
- original ESP32-Devkit-WROOM –> /dev/ttyUSB0
- ESP32-C3 mini –> /dev/ttyACM0
To find out which port is used, run the following command and unplug/plug the ESP32 board:
sudo udevadm monitor -u
Check port on Linux
To check the device name for the serial port of your ESP32 board (or external converter dongle), run this command two times, first with the board / dongle unplugged, then with plugged in. The port which appears the second time is the one you need:
ls /dev/tty*
Adding user to dialout
The currently logged user should have read and write access the serial port over USB. On most Linux distributions, this is done by adding the user to dialout group with the following command:
sudo usermod -a -G dialout $USER
Connect with Miniterm
Connect to the ESP with the miniterm that is part of the ESP-IDF installation:
~/development/esp32/idf-tools/python_env/idf4.2_py3.7_env/bin/miniterm.py /dev/ttyUSB0 115200
