top

Long gone are the days of parallel ports and serial ports. Now the USB port reigns supreme! But USB is hard, and you just want to transfer your every-day serial data from a microcontroller to computer. What now? Enter the Adafruit CP2104 and CP2102N Friends!

breadboard

The high-quality CP2104 USB-Serial chip can upload code at a blistering 2Mbit/s for fast development time. It also has auto-reset for Arduino/ATmega328 boards so no noodling with pins and reset button pressings. The CP2104 has better driver support than the CH340 and can do very high speeds, and variable speeds without stability issues. Compared to the FT232RL and FT231X, the CP2104 has the same capabilities or better, at a great price! It even has the RX/TX LEDs to help you debug your data, they'll blink when the chip receives/transmits data.

top

The CP2104 Friend has a Micro B port, while the updated CP2102N has USB C instead. The CP2102N is otherwise 'drop in compatible' and anywhere you would use the CP2104 for uploading firmware to microcontrollers, it'll work exactly the same.

usb

The CP2102N is very similar to the CP2104. Despite having a name with a lower number, its actually considered the successor/next generation to the CP2104. Compared to the CP2104, the CP2102N can:

  • Transfer data at a faster rate: CP2104 is 2Mbps max, the CP2102N is 3Mbps max
  • Reprogram the internal settings: CP2104 has a one-time-programmable memory and the CP2102N has reprogrammable settings memory. 99% of people don't use this capability but it is there if you need it.
  • The CP2102N improves over the CP2012 (no N) by having the same RS-485 and GPIO support that the CP2104 has
  • More details in the SiLabs CP2104 to CP2102N migration guide.

The high-quality CP2102N USB-Serial chip can upload code at a blistering 3Mbit/s for fast development time. It also has auto-reset for Arduino/ATmega328 boards, so no noodling with pins and reset button pressings. The CP2102N has better driver support than the CH340 and can do very high speeds, and variable speeds without stability issues. Compared to the FT232RL and FT231X, the CP2102N has the same capabilities or better, at a great price! It even has the RX/TX LEDs to help you debug your data, they'll blink when the chip receives/transmits data.

back

By default, we've set the CP2104 and CP2102N up so that they match our FTDI cables. The 6th pin is RTS, the power wire is +5V and the signal levels are 3.3V (they are 5V compliant, and should work in the vast majority of 3.3V and 5V signal systems). Works excellently with any Arduino, ESP8266, ESP32 or any other microcontroller that uses an 'FTDI port' for communications and upload. You can also purchase a 6-pin extension cable from us, which will let you rearrange the wire order.

There's also a full collection of all the modem control pins you may need on the side, in case you need the DTR, RI, DSR, etc. pins.

with

Each order comes with a fully assembled and tested board. We give you a right-angle socket header and some male header strip. You can solder in the socket header on the edge to make it 'FTDI-like' or solder the male headers in to plug it into a breadboard and get access to all the pins.

For Linux you won't need a driver. For Windows, it will automatically grab the driver from Windows Update. For Mac OS X you can check out SiLabs driver page for the latest and greatest.

The CP2104 is discontinued but is very similar to the CP2102N and has an identical pinout.
top

This guide was first published on May 17, 2022. It was last updated on 2022-05-17 10:31:28 -0400.

This page (Overview) was last updated on Jun 14, 2022.

Text editor powered by tinymce.