Setting up your ESP32/ESP2866 for the first time? If your computer doesn’t recognize the device, or you’re running into errors, you’re not alone! Many ESP boards require additional USB drivers to communicate properly with your computer. This guide will walk you through how to install USB drivers for ESP32/ESP8266 microcontroller boards on Windows.
Why You Need USB Drivers for ESP32/ESP2866
Most ESP32/ESP2866 development boards use USB-to-Serial converter chips like the CP210x or CH340. More specifically, they function as USB-to-UART bridges.
These bridges convert your computer’s USB (Universal Serial Bridge) signals into UART (Universal Asynchronous Receiver/Transmitter) signals that the ESP microcontroller can understand. At the same time, they convert UART signals from the microcontroller back into USB signals that the computer can process, allowing communication in both ways.
However, if your computer doesn’t have these drivers pre-installed or if the drivers are outdated, you’ll need to download and install them manually. This is especially common with older operating systems or when using budget-friendly development boards that rely on less common USB-to-UART bridges.
Hint: Check out the differences between the ESP32 and the ESP8266 here.
Why Some Computers Don’t Need Additional Drivers
Some operating systems, particularly newer versions of Windows, macOS, and Linux distributions, come with pre-installed drivers for common USB-to-UART bridges. This means your board might be recognized automatically without any additional drivers.
Step 1: Identify Your ESP32 USB-to-Serial Chip
Depending on your development board, there are different USB-to-Serial chips. The two most common chips are Silicon Labs (CP210x) chips and WCH (CH340) chips. Both need different drivers, so we need to identify which chip we have and what driver we need to download.
As a rule of thumb, many ESP boards like the ESP32 DevKitC use CP210x chips, while the CH340 is found in most budget-friendly boards.
But to make sure, we look at the board directly or check its documentation to see which chip it uses. On the board, look at the chip next to the voltage regulator. The type of chip is usually written on it.
In my case of a budget ESP32 Dev Module, there is a WCH CH340 chip.
Step 2: Download and Install the USB Drivers
After you identified the USB-to-Serial chip on your board, you need to install the corresponding driver. In the following, I will explain how to install the USB drivers for ESP32/ESP2866 on Windows.
For CP210x (Silicon Labs) Chips
If you identified a Silicon Labs chip on your ESP32 development board, you need to download the CP210x Windows Drivers from the official Silicon Labs Drivers page.
Next, extract the downloaded ZIP file, run the CP210xVCPInstaller_x64.exe, and follow the steps in the installer.
That’s it! Your microcontroller board with a Silicon Labs USB-to-UART bridge is now ready for use!
For CH340 (WCH) Chips
If you identified a WCH (CH340) chip on your ESP32 development board, you need to download the CH341SER.exe file from the official WCH Drivers page.
Run the download .exe file and follow the steps in the installer.
That’s it! Your board with a WCH (CH340) USB-to-UART bridge is now ready for use!
Step 3: Verify the Installation
Open the device manager on your Windows computer and expand the Ports (COM & LPT) section. Then, plug in your ESP board.
You should see a COM port saying something like CH340 or CP210x. If that’s the case, the installation was successful!
It’s time to start programming your ESP32 board! Here’s how to set it up in the Arduino IDE.
Install USB Drivers for ESP32: Wrapping Up
Some computers might be missing the correct drivers for communicating with the USB-to-UART bridge on your development boards. Therefore, we need to install them manually.
Following these steps, you should have your ESP32/ESP2866 connected and ready for development. If the issues persist, double-check your drivers, cables, and IDE settings.
Did you know there’s a way of uploading code to your ESP over Wi-Fi without a USB cable? Check out this post about Over-the-Air Programming.
Share your thoughts and experiences with ESP32 boards in the comments below!
Happy coding!
Links marked with an asterisk (*) are affiliate links which means we may receive a commission for purchases made through these links at no extra cost to you. Read more on our Affiliate Disclosure Page.
The ESP32 board, developed by Espressif Systems, is a versatile and powerful microcontroller widely acclaimed for IoT and embedded projects. It integrates dual-core processors, Wi-Fi, Bluetooth connectivity, and a rich set of peripherals like GPIO, SPI, I2C, and UART. Its low-power capabilities, alongside robust processing abilities, make it ideal for diverse applications, from smart home devices to industrial automation. With ample memory and a range of development environments like Arduino IDE and ESP-IDF, the ESP32 offers a seamless development experience. Its affordability, extensive community support, and compatibility with various sensors make it a go-to choice for IoT enthusiasts and professionals alike.
Depending what chipset the cable you use to interface with the ESP32, it will most likely use CP210X USB to UART bridge but there is a chance that it may use CH9102 (CH340/CH341) in the new boards. All drivers below interface USB with RS232.
Drivers:
The CP210x USB chip turns a USB connection into a regular serial port which allows your computer to establish a serial communication with microcontrollers like the ESP32 or ESP8266. To program or exchange information between your computer and an ESP32/ESP8266 chip, you need to install the CP210x USB to UART Bridge Virtual COM Port drivers. This guide shows to install the drivers in a Windows PC.

We have a similar guide for Mac OS X: Install ESP32/ESP8266 USB Drivers – CP210x USB to UART Bridge
ESP32/ESP8266 USB Chip – CP2102/CP2104
If it’s your first time using an ESP32/ESP8266, it’s probably that if you plug the ESP board into your computer, you don’t see your ESP’s COM port available. This means you don’t have the drivers installed. Take a closer look at the chip next to the voltage regulator on the board and check its name. For this board, it comes with the Silabs CP2102 chip.

For example, the ESP32 DEVKIT V1 DOIT board and many other ESP32 and ESP8266 modules use the CP2102 or the CP2104 chips.
If you install the CP210x drivers as explained in this blog post, you’ll ensure that the USB connection and communication will work for any ESP board that uses those USB chips (starting with ‘CP210’).
Note: another popular USB chip used by many ESP32 and ESP8266 modules is the CH340. Always check the datasheet of your board to make sure you identify the right USB to UART communication chip that’s being used in your board.
Installing CP210x USB to UART Bridge VCP Drivers (Windows PC)
Start by downloading the CP210x USB Drivers from the official website. If you are on a Windows PC, you need to download the CP210x Windows Drivers folder highlighted in the image below.

After downloading the CP210x Windows Drivers, right-click the folder and unzip the installation files.
Open the unzipped folder and double-click the CP210xVCPInstaller_x64.exe file to start the installation process.
Follow the installation wizard, click the “Next” button, and agree with the terms of use to complete the installation process.
The CP210x USB drivers have been installed successfully.
Testing the CP210x USB Drivers
Click the search bar.
Search for “Device Manager” and open the control panel:
Having an ESP32/ESP8266 board connected to your Windows PC with a USB cable, under the “Ports” section you should see a device “Silicon Labs CP210x USB to UART Bridge (COM5)” (or with a different COM port number).
To program the ESP32/ESP8266 board with Arduino IDE, remember the COM port number, in our case it’s 5, COM5.
In the Arduino IDE, select your ESP32/ESP8266 board COMX Port, as shown earlier. Ours is COM5 Serial Port (USB).
That’s it! You should now be able to see the COMX Serial Port of the ESP32/ESP8266 in Arduino IDE. You can upload a new code to your ESP board to test it.
Wrapping Up
We hope you’ve found this quick guide useful. Want to learn more about the ESP32? We recommend the following ESP32 tutorials to get started:
- Getting Started with the ESP32 Development Board
- ESP32 Digital Inputs and Digital Outputs (Arduino IDE)
- ESP32 Web Server Tutorial
- ESP32 Pinout Reference: Which GPIO pins should you use?
If you’re serious about learning about the ESP32, we recommend taking a look at our best-selling eBook:
- Learn ESP32 with Arduino IDE eBook
If you like ESP32 make sure you subscribe to our blog, so you don’t miss upcoming projects.
Thanks for reading.
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
Appearance settings
Installing the CH343 Driver (Importance)
Windows
Check whether CH343 has been installed
ESP32-S3 WROOM uses CH343 to download codes. So before using it, we need to
install CH343 driver in our computers.
-
Connect your computer and ESP32-S3 WROOM with a USB cable.
1. Turn to the main interface of your computer, select “This PC” and right-click
to select “Manage”.
3. Click “Device Manager”. If your computer has installed CH343, you can see“USB
-Enhances-SERIAL CH343 (COMx)”. And you can click here to move to the next step.
Installing CH343
-
First, download CH343 driver, click HERE to download the appropriate one based on your operating system.
If you would not like to download the installation package, you can open
“Lafvin_Super_Starter_Kit_for_ESP32_S3/CH343”, we have prepared the installation package.
-
Open the folder “Lafvin_Super_Starter_Kit_for_ESP32_S3/CH343/Windows/”
-
Double click “CH343SER.EXE”.
-
Click “INSTALL” and wait for the installation to complete.
-
Install successfully. Close all interfaces.
6. When ESP32-S3 WROOM is connected to computer, select “This PC”, right-click
to select “Manage” and click “Device Manager” in the newly pop-up dialog box,
and you can see the following interface.
-
So far, CH343 has been installed successfully. Close all dialog boxes.
MacOS
-
First, download CH343 driver, click HERE to download the appropriate one based on your operating system.
If you would not like to download the installation package, you can open
“Lafvin_Super_Starter_Kit_for_ESP32_S3/CH343”, we have prepared the installation package.
Second, open the folder “Lafvin_Super_Starter_Kit_for_ESP32_S3/CH343/MAC/”
Third, click Continue.
Fourth, click Install.
Then, waiting Finsh.
Finally, restart your PC.
If you still haven’t installed the CH340 by following the steps above, you can
view readme.pdf to install it.
Programming Software
The Arduino IDE, known as Arduino Integrated Development Environment, provides
all the software support needed to complete an Arduino project. It is a programming
software specifically designed for Arduino, provided by the Arduino team, that
allows us to write programs and upload them to the Arduino board.
The Arduino IDE 2.0 is an open-source project. It is a big step from its sturdy
predecessor, Arduino IDE 1.x, and comes with revamped UI, improved board & library
manager, debugger, autocomplete feature and much more.
In this tutorial, we will show how to download and install the Arduino IDE 2.0
on your Windows, Mac, or Linux computer.
Requirements
-
Windows — Win 10 and newer, 64 bits
-
Linux — 64 bits
-
Mac OS Intel — Version 10.14: “Mojave” or newer, 64 bits
-
Mac OS Apple Silicon — Version 11: “Big Sur” or newer, 64 bits