The CP2102 is a USB-to-UART bridge controller developed by Silicon Labs that enables communication between a computer and UART-based devices through a USB connection. It creates a virtual COM port, making it easy to program, debug, and exchange serial data with development boards such as ESP32, ESP8266, STM32, Arduino, and many other embedded systems. Its reliable performance and broad operating system support have made it one of the most widely used USB-to-serial solutions.
The CP2102 module includes power, communication, and control pins. VCC supplies power from the USB port, while 3V3 provides a regulated 3.3V output for low-power circuits. GND acts as the common reference for all connected devices. TXD and RXD are the primary UART communication pins used to transmit and receive serial data. Additional pins such as RTS, CTS, DTR, and DSR support hardware flow control and automatic reset functions used by compatible development boards.
The CP2102 is widely used in embedded system development, IoT projects, industrial controllers, serial debugging, firmware updates, and communication testing. It is commonly found on ESP32 and ESP8266 development boards, Arduino programming adapters, STM32 debugging tools, Raspberry Pi Pico programmers, USB serial adapters, and custom embedded hardware requiring reliable USB-to-UART communication.
For successful communication, connect the TXD pin to the target device’s RX pin and RXD to TX, while ensuring both devices share a common GND connection. If the module is not detected, verify that you are using a USB data cable instead of a charging-only cable, install the correct driver, and check that the selected baud rate matches the connected device. Most communication issues are caused by incorrect wiring, missing drivers, or mismatched serial settings.
| Pin | Name | Function | Type |
|---|---|---|---|
| GND | GND | Ground | GND |
| VCC | VCC | 5V input from USB | PWR |
| 3V3 | 3V3 | 3.3V output | PWR |
| TXD | TXD | UART transmit | BUS |
| RXD | RXD | UART receive | BUS |
| DTR | DTR | Data terminal ready | I/O |
| RTS | RTS | Request to send | I/O |
| CTS | CTS | Clear to send | I/O |
| DSR | DSR | Data set ready | I/O |