This USB-to-serial adapter lets you easily connect a TTL serial device to a PC by acting as a virtual serial port. The board is a Micro-USB carrier for the Silicon Labs CP2104 USB-to-UART bridge that provides access to all of its control signal pins and GPIO pins.
|Description||Specs (3)||Pictures (9)||Resources (4)||FAQs (0)||On the blog (1)|
|CP2104 USB-to-serial adapter carrier, bottom view with dimensions.|
This USB-to-serial adapter is a breakout board for the Silicon Labs CP2104 USB-to-UART bridge, and it is a great solution for connecting microcontroller projects and other logic-level serial devices to a personal computer. The tiny unit measures only 0.6″ × 0.95″ including its Micro-USB connector. It offers several options for accessing the data, control, and GPIO pins on the CP2104, all of which are made available on a 0.1″ spacing.
This board uses 3.45 V signal levels by default, but the signal pins can tolerate higher voltages, allowing the adapter to be used with 5 V systems that see 3.45 V as a logic high. The green LED on the SUSPEND line indicates an active USB connection when lit.
The adapter looks like a standard virtual serial port (COM port) to the computer’s operating system, which means it can be used with any software designed to work with a serial port (even a legacy RS-232 port). The CP2104 is a full-speed USB 2.0 device and allows baud rates of up to 2 Mbps. Drivers are available from Silicon Labs for Windows XP, Windows Vista, Windows 7, Windows 8, Linux, and Mac OS X.
This product requires a USB A to Micro-B cable (not included) to connect to a computer.
For a similar adapter with a USB Mini-B connector, please see the Pololu USB-to-Serial Adapter.
- Dimensions: 0.6″ × 0.95″ including connector
- USB standard: USB 2.0 (full speed)
- Connector: USB Micro-B
- Logic voltage level: 3.45 V (5 V tolerant)
- Supported baud rates: 300 bps to 2 Mbps
- Supply current: 25 mA
Using the adapter
|VDD||Power||3.45 V voltage regulator output|
|VBUS||Power||USB bus voltage (5 V)|
|TX||Out||Asynchronous serial data transmit (idle high)|
|RX||In||Asynchronous serial data receive|
|CTS||In||“Clear to send” control input
(often used with RTS)
|RTS||Out||“Ready to send” control output
(often used with CTS)
|DSR||In||"Data set ready" control input (active low)
(often used with DTR)
|DTR||Out||"Data terminal ready" control output (active low)
(often used with DSR)
|DCD||In||"Data carrier detect" control input (active low)|
|RI||In||"Ring indicator" control input (active low)|
|SUSPEND||Out||Driven high when in USB suspend state|
|SUSPEND||Out||Driven low when in USB suspend state
(connected to green LED)
|GPIO.0||I/O||User-configurable inputs or outputs
All of the adapter’s pins are available in two rows spaced 0.5″ apart along the sides of the board. This allows any pin to be accessed easily while the adapter is plugged into a solderless breadboard, as shown in the left picture below.
Alternatively, a 1×6 header can be soldered to the end of the board, as shown in the right picture below. This gives access to six signals (RTS, RX, TX, VBUS, CTS, and GND) that are commonly found on FTDI cables and other similar USB-to-serial adapters. As a result, this CP2104 adapter board can be used as a drop-in replacement for an FTDI cable in many applications, such as programming Arduino-compatible boards.
The carrier board ships with a 1×25 straight male header strip, a 1×6 right-angle male header strip, and a 1×6 right-angle female header as shown below. You can also solder wires directly to the pads for the smallest installation.
Using a different VIO
This carrier board connects the VIO pin of the CP2104 to VDD by default, setting its logic voltage level to the 3.45 V provided by the IC’s built-in voltage regulator. If you want to use a lower logic voltage, you can disconnect VIO from VDD by cutting the thin trace between the two pads of the surface-mount jumper shown to the right. You can then solder a thin wire to the exposed via labeled “VIO” and connect it to a separate voltage supply (as low as 1.8 V).
This schematic is also available as a downloadable PDF (188k pdf).
You do not need to be familiar with details of the CP2104 to use this board as a basic USB-to-serial adapter, but the CP2104 also has specialized features including four general-purpose I/O (GPIO) pins and the ability to be customized via its one-time programmable ROM. For advanced users interested in these features, we recommend careful reading of the CP2104 datasheet (224k pdf). Additional resources, including application notes referenced by the datasheet, can also be found on the CP21xx product page of the Silicon Labs website.
People often buy this product together with:
|USB Cable A to Micro-B, 5 ft|
|Pololu USB AVR Programmer|
|Thin (2mm) USB Cable A to Micro-B, 5 ft, Low/Full-Speed Only|