First, make sure the USB ports at the rear of the computer work by connecting a USB device to the rear port. If the device is not recognized in the rear port, then use the other sections in this document to resolve the problem. Use the following steps to see if the front USB ports have become disconnected from the motherboard.
This section provides guidance how to establish serial connection between ESP32 and PC.
Connect ESP32 to PC¶
- Right click your existing Bluetooth radio and select “Disable device” from the available choices; Insert the CSR 4 or any other USB Bluetooth Adapter into an available USB or USB 2.0 port (USB 3 ports are not recommended).
- Open Start Settings Devices Printers & scanners. Select the name of the printer, and then choose Remove device. To reinstall the printer, select Add a printer or scanner and then select the name of the printer you want to add. If Windows doesn’t automatically find a new driver after the printer is added, look for one on the device.
- Check port on Linux and macOS¶ 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: Linux.
Connect the ESP32 board to the PC using the USB cable. If device driver does not install automatically, identify USB to serial converter chip on your ESP32 board (or external converter dongle), search for drivers in internet and install them.
Below are the links to drivers for ESP32 boards produced by Espressif:
Development Board | USB Driver | Remarks |
---|---|---|
Programmer board (w/o ESP32) | ||
n/a | Use with ESP-Prog | |
n/a | Use with ESP-Prog |
CP210x: CP210x USB to UART Bridge VCP Drivers
FTDI: FTDI Virtual COM Port Drivers
The drivers above are primarily for reference. Under normal circumstances, the drivers should be bundled with an operating system and automatically installed upon connecting one of the listed boards to the PC.
Check port on Windows¶
Check the list of identified COM ports in the Windows Device Manager. Disconnect ESP32 and connect it back, to verify which port disappears from the list and then shows back again.
Figures below show serial port for ESP32 DevKitC and ESP32 WROVER KIT
USB to UART bridge of ESP32-DevKitC in Windows Device Manager¶
Two USB Serial Ports of ESP-WROVER-KIT in Windows Device Manager¶
Check port on Linux and macOS¶
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:
Linux
macOS
Note
macOS users: if you don’t see the serial port then check you have the USB/serial drivers installed as shown in the Getting Started guide for your particular development board. For macOS High Sierra (10.13), you may also have to explicitly allow the drivers to load. Open System Preferences -> Security & Privacy -> General and check if there is a message shown here about “System Software from developer …” where the developer name is Silicon Labs or FTDI.
Adding user to dialout
on Linux¶
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:
on Arch Linux this is done by adding the user to uucp
group with the following command:
Make sure you re-login to enable read and write permissions for the serial port.
Verify serial connection¶
Now verify that the serial connection is operational. You can do this using a serial terminal program by checking if you get any output on the terminal after reseting ESP32.
Windows and Linux¶
In this example we will use PuTTY SSH Client that is available for both Windows and Linux. You can use other serial program and set communication parameters like below.
Run terminal, set identified serial port, baud rate = 115200, data bits = 8, stop bits = 1, and parity = N. Below are example screen shots of setting the port and such transmission parameters (in short described as 115200-8-1-N) on Windows and Linux. Remember to select exactly the same serial port you have identified in steps above.
Setting Serial Communication in PuTTY on Linux¶
Then open serial port in terminal and check, if you see any log printed out by ESP32. The log contents will depend on application loaded to ESP32, see Example Output.
Note
Close the serial terminal after verification that communication is working. If you keep the terminal session open, the serial port will be inaccessible for uploading firmware later.
macOS¶
To spare you the trouble of installing a serial terminal program, macOS offers the screen command.
As discussed in Check port on Linux and macOS, run:
You should see similar output:
The output will vary depending on the type and the number of boards connected to your PC. Then pick the device name of your board and run:
Replace
device_name
with the name found runningls/dev/cu.*
.What you are looking for is some log displayed by the screen. The log contents will depend on application loaded to ESP32, see Example Output. To exit the screen session type Ctrl-A + .
Note
Do not forget to exit the screen session after verifying that the communication is working. If you fail to do it and just close the terminal window, the serial port will be inaccessible for uploading firmware later.
Example Output¶
An example log by ESP32 is shown below. Reset the board if you do not see anything.
Stihl Port Devices Driver Manual
If you can see readable log output, it means serial connection is working and you are ready to proceed with installation and finally upload of application to ESP32.
Note
Stihl Port Devices Driver
For some serial port wiring configurations, the serial RTS & DTR pins need to be disabled in the terminal program before the ESP32 will boot and produce serial output. This depends on the hardware itself, most development boards (including all Espressif boards) do not have this issue. The issue is present if RTS & DTR are wired directly to the EN & GPIO0 pins. See the esptool documentation for more details.
Stihl Port Devices Driver Updater
If you got here from Step 6. Connect Your Device when installing s/w for ESP32 development, then you can continue with Step 7. Configure.