Adafruit CP2104 Friend - USB to Serial Converter

Slicon Labs Single-chip USB to UART bridge



Info

This board is very handy if you use the smaller, more minimalistic, ESP32/ESP8266 boards, without USB connections. This is only to program the boards not for communicating with other serial devices.

This is a high-quality CP2104 USB-Serial chip that can upload code at a max of 2Mbit/s for fast development time. It also has auto-reset for Arduino/ATmega328 boards. The CP2104 has better driver support than the CH340. It even has the RX/TX LEDs to help you debug your data, they'll blink when the chip receives/transmits data.

By default, Adafruit has set it up so that it matches Adafruit's 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 very well with any Arduino, ESP8266, ESP32 or any other microcontroller that uses an FTDI port for communications and upload.

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.

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 driver (see link at the bottom of the page).


Some afterthoughts

The CP2104 circuit board is actually a fancy null-modem. So I think if you have already an USB-to-serial cable and a spare female DB-9 connector, you can make your own null-modem cable.

  • Solder a header on the ESP32/8266 board
  • Use three female breadboard jumper wires (TX, RX & GND)
  • Cut the connectors from one side
  • And solder these wires onto the DB-9 connetor
  • That creates a female DB-9 connector on one side and three female jumper wires to the other side.
I have not tested this. But in my opinion it should work.


Links