0

members

Easy USB to TTL serial converters review

of Acoptex.com (Not selected)

Basics: Project 050a

Project name: USB to TTL serial converters review

Tags: Arduino, USB to TTL, USB to Serial, converters, adaptors, PL2303, USB to UART, serial controllers, FTDI USB to TTL Serial, UART Converter Module, FT232RL, CP2103

In this project, you needed these parts (Dear visitors. You can support our project buy clicking on the links of parts and buying them or donate us to keep this website alive. Thank you):

1. USB to TTL/Serial adaptors/converters

General

We will learn how to connect different USB to TTL/Serial adaptors/converters and use them.

Understanding the terms

One of the tools we use most when debugging our projects is serial input/output. Serial is very easy to implement, and it allows you to send/receive any data you need from your microcontroller to a computer's serial port so it can be viewed using a terminal emulator. These two devices are compatible from a software perspective, however you can't just hook a microcontroller up to a computer because the hardware interfaces are not compatible.

A universal asynchronous receiver-transmitter (UART) is a computer hardware device for asynchronous serial communication in which the data format and transmission speeds are configurable. The electric signaling levels and methods are handled by a driver circuit external to the UART. A UART is usually an individual (or part of an) integrated circuit (IC) used for serial communications over a computer or peripheral device serial port. UARTs are now commonly included in microcontrollers. A related device, the universal synchronous and asynchronous receiver-transmitter (USART) also supports synchronous operation.

The universal asynchronous receiver-transmitter (UART) takes bytes of data and transmits the individual bits in a sequential fashion. At the destination, a second UART re-assembles the bits into complete bytes. Each UART contains a shift register, which is the fundamental method of conversion between serial and parallel forms. Serial transmission of digital information (bits) through a single wire or other medium is less costly than parallel transmission through multiple wires.

The UART usually does not directly generate or receive the external signals used between different items of equipment. Separate interface devices are used to convert the logic level signals of the UART to and from the external signalling levels, which may be standardized voltage levels, current levels, or other signals.

Most microcontrollers these days have built in UARTs (universally asynchronous receiver/transmitter) that can be used to receive and transmit data serially. UARTs transmit one bit at a time at a specified data rate (i.e. 9600bps, 115200bps, etc.). This method of serial communication is sometimes referred to as TTL serial (transistor-transistor logic). Serial communication at a TTL level will always remain between the limits of 0V and Vcc, which is often 5V or 3.3V. A logic high ('1') is represented by VCC, while a logic low ('0') is 0V.

The serial port on your computer (if it's lucky enough to have one, they're quickly becoming a relic) complies with the RS-232 (Recommended Standard 232) telecommunications standard. RS-232 signals are similar to your microcontroller's serial signals in that they transmit one bit at a time, at a specific baud rate, with or without parity and/or stop bits. The two differ solely at a hardware level. By the RS-232 standard a logic high ('1') is represented by a negative voltage – anywhere from -3 to -25V – while a logic low ('0') transmits a positive voltage that can be anywhere from +3 to +25V. On most PCs these signals swing from -13 to +13V.

The more extreme voltages of an RS-232 signal help to make it less susceptible to noise, interference, and degradation. This means that an RS-232 signal can generally travel longer physical distances than their TTL counterparts, while still providing a reliable data transmission.

Understanding the USB to TTL/Serial adaptors/convertors

Let's check different USB to TTL/serial converters/controllers.

1. USB to TTL serial converter, using the PL2303 chip. You can use it to connect your serial device (for example, ESP8266 or HC-06 or HC-05) to your PC via USB port.

Features:

Compatible with 32-bit & 64-bit Windows, Mac OS 8 to OS X, Linux and Android!

  • To test the unit use the shunt to connect TX and RX (loopback test)
  • 3.3V and 5.0V outputs are available to power your project directly from the adapter.

Supports three power modes: 5V external power supply; 3.3V external power supply; externally powered (requires 3.3V-5V)

It has 3 LEDs: TXD LED, RXD LED, POWER LED

You can read more about PL2303 chip here.

Before use PL2303 USB to TTL serial converter, you have to install the driver to your PC. You can download driver here. Windows 8/8.1/10 are NOT supported in PL-2303HXA and PL-2303X EOL chip versions with this driver. Run PL2303 CheckChipVersion tool program in Windows XP/Vista/7 to check chip version. Windows Vista, XP, 2000, 98 and Windows ME driver technical support are discontinued. Prolific recommends to use PL-2303HXD (HX Rev D) or PL2303TA chip. 

To use this USB to TTL converter with Windows 8/8.1/10 you need to download fix. Read more about it here.

How to test it

For using this USB to UART Converter you need a software tool. Most of the development tools like MikroC Pro, Arduino has a UART Tool along with it. Here we are going to use a freeware called Terminal.

You can download UART Terminal here.

Unzip the downloaded zip file to get Terminal.exe

Terminal.exe is a portable tool, ie no need to install it. To demonstrate the working of this tool with PL2303 USB to UART Converter, just short the TX and RX pins using a jumber as shown below.

Now, data received by the device will be the data transmitted by the device.

2. USB to TTL serial converter, using the CH340G chip

It's a small USB to TTL serial tool, using the CH340G chip. You can use it to connect serial device (for example, Arduino Pro Mini or ESP8266 or HC-06 or HC-05 to your PC) via USB port.

Features:

  • Compatible with 32-bit & 64-bit Windows, Mac OS 8 to OS X, Linux and Android!
  • To test the unit use the shunt to connect TX and RX (loopback test)
  • 3.3V and 5.0V outputs are available to power your project directly from the adapter.

Before use USB to TTL serial converter, you need to download the manufacture's driver for this chip and install it in your PC. Here is the link. See the description of driver installation package below: CH340 / CH341 USB to serial WINDOWS driver installation package that supports 32/64 bit Windows 10 / 8.1 / 8/7 / VISTA / XP, SERVER 2016/2012/2008/2003, 2000 / ME / 98, through Microsoft digital signature authentication, support USB to 3-wire and 9-wire serial port, with the product release To the end user. Applicable scope: CH340G, CH340C, CH340B, CH340E, CH340T, CH340R, CH341A, CH341T, CH341H chips

How to test it

For using this USB to UART Converter you need a software tool. Most of the development tools like MikroC Pro, Arduino has a UART Tool along with it. Here we are going to use a freeware called Terminal.

You can download UART Terminal here.

Unzip the downloaded zip file to get Terminal.exe

Terminal.exe is a portable tool, ie no need to install it. To demonstrate the working of this tool with USB to UART Converter, just short the TX and RX pins using a jumber as shown below.

Now, data received by the device will be the data transmitted by the device.

3.USB to UART/ESP8266 Programmer with CH340G Chip

USB to ESP-01 adapter module has CH340G USB to TTL driver IC onboard, so you can easily use your computer to do ESP-01 functional debugging. ESP-01 serial wifi module can be directly plugged into the yellow pin header without any connection wires.

Features:
- Working voltage: 4.5V - 5.5V (On-board 3.3v LDO Regulator)
- Working current: 300mA(LDO regulator can supply)
- Selectable working mode: On-board toggle switch. UART side for serial TTL debugging by AT commands, PROG for firmware programming
- USB to serial TTL chip: CH340G
- Logic level: 3.3V
- Applications: Home automation, sensor networks, industrial wireless control
Szie: 5*1.4cm/1.97"*0.55"

USB to UART/ESP8266 Programmer used for ESP-01 module with ESP8266 chip. It has CH340G USB to TTL driver IC onboard, so you can easily use your computer to do ESP-01 functional debugging. ESP-01 serial wifi module can be directly plugged into the yellow pin header without any connection wires.

Features:

  • Working voltage: 4.5V - 5.5V (On-board 3.3v LDO Regulator)
  • Working current: 300mA (LDO regulator can supply)
  • Selectable working mode: On-board toggle switch. UART side for serial TTL debugging by AT commands, PROG for firmware programming
  • USB to serial TTL chip: CH340G
  • Logic level: 3.3V
  • Applications: Home automation, sensor networks, industrial wireless control
  • Size: 5*1.4cm/1.97"*0.55"

Before use USB to TTL serial converter, you need to download the manufacture's driver for this chip and install it in your PC. Here is the link. See the description of driver installation package below: CH340 / CH341 USB to serial WINDOWS driver installation package that supports 32/64 bit Windows 10 / 8.1 / 8/7 / VISTA / XP, SERVER 2016/2012/2008/2003, 2000 / ME / 98, through Microsoft digital signature authentication, support USB to 3-wire and 9-wire serial port, with the product release To the end user. Applicable scope: CH340G, CH340C, CH340B, CH340E, CH340T, CH340R, CH341A, CH341T, CH341H chips.

4. USB (or micro USB) to TTL serial converter with CP2102 chip. You can use it to connect serial device (for example, Arduino Pro Mini or ESP8266 or HC-06 or HC-05 to your PC) via USB port. It can be with or without DTR pin (5 pins or 6 pins version).

Features:

  • Built-in USB to RS232 Transfer chip.
  • Designed to be used for USB to TTL electronic projects.
  • TTL interface output, easy to connect to your MCU.
  • Status LED.
  • Dual 3.3V and 5V Power output, work with 3.3v and 5v target device.
  • Compact design.
  • Dimension: 42 mm x 17 mm

You can read more about CP2102 chip here.

Before use USB to TTL serial converter, you need to download the manufacture's driver for this chip and install it in your PC. Driver for Mac, Windows, Linux or more.

How to test it

For using this USB to UART Converter you need a software tool. Most of the development tools like MikroC Pro, Arduino has a UART Tool along with it. Here we are going to use a freeware called Terminal.

You can download UART Terminal here.

Unzip the downloaded zip file to get Terminal.exe

Terminal.exe is a portable tool, ie no need to install it. To demonstrate the working of this tool with USB to UART Converter, just short the TX and RX pins using a jumber as shown below.

Now, data received by the device will be the data transmitted by the device.

If you have USB to TTL converter with CP2102 chip but without an auto-reset pin - DTR pin you can do a small modification and get it. We will use the DTR pin on the CP2102 chip. The pin-out can be found here. So, its pin 28 terminal ready control output (active low). Desoldering the pin header. Then cut a piece of perfboard. Use a piece of steel wool to remove the oxidation layer of the copper to make soldering easier. Insert the Male pin header with 5 pins from the bottom of perfboard and then solder it on the top. Using the very thin enameled wire, burn the tip of the wire applying tin to it using the iron. Then remove all solder from the tip of your iron. This can be done with naked eye, but if you find it difficult some magnification may help here. Place the enameled wire on to of the pin 28, there's no solder pad, it is small but it's there. Them just touch the iron on top, it will solder instantly. Don't move it, it's very fragile, so just glue it with a drop of super glue, (not on top of the pin) just to give some mechanical strength. Solder the additional Male Pin Header 6 pins to the perfboard and connect both Male Pin headers with wires together - you can get your own configuration.

Let's have  a look at one more case.

This USB to TTL converter with CP2102 chip has an extra pin called RST pin, which is not connected to DTR pin of the CP2102 IC. If you use this RST pin as the Arduino reset pin, you will get the  following error (avrdude: stk500_getsync(): not in sync: resp=0x00) because this RST pin is actually connected to the Reset pin of the CP2102 IC. So, If you have did this and got this error this guide will help you to correct it and program your Arduino with this board. If you check the CP2102 datasheet you will see that the actual DTR pin is at pin 28 of the QFN-28 package. You will need to modify this converter a little if you want to use the same (RST) pin as DTR pin - see two methods below:

1 Method.Cut the trace from the CP2102 IC to the RST header pin and solder a tiny wire from the RST header pin to pin 28 (DTR) on the CP2102 IC. Some people use pin 24 (RTS) instead of pin 28 (DTR) for auto-reset.

2.Method. The trace from the RST header pin through the passage hole connected to the CP2102 IC and SMD-resistor 1001 with name on the top of converter board. Cut the trace between the passage hole and the CP2102 IC and unsolder/remove the SMD-resistor 1001. Then connect with wire pin 28 DTR of CP2102 IC and the contact place close to POW name on the top of converter board (where SMD-resistor was before) - see on the picture above. It will connect DTR pin of CP2102 IC and RST header pin of converter board.

Please note that the QFN-28 is a really small IC package and you need to have good soldering skills to solder it using a normal soldering iron. You can test the DTR pin using a terminal program - RealTerm.

You can read how to use Real term here. Just set the port number on Port tab and toggle the DTR as shown on the picture using DTR Set & Clear buttons. Just measure voltage between DTR & Ground pins when you toggle this.It should be Set=0V and Clear=3.3V if you have done everything correctly. You can use this USB to TTL converter with CP2102 chip to program your Arduino board now.

You can also change lots of parameters for your commercial projects:

  • Vendor ID (VID) - a four digit hexadecimal number that is unique to a particular vendor and is used by the host operating system, in conjunction with a unique Product ID (PID), to determine which driver to use with a device. 0x10C4, for example, is the Silicon Labs Vendor ID.
  • Product ID (PID) -  a four digit hexadecimal number that identifies the vendor's device and is used by the host operating system, along with the Vendor ID (VID), to determine which driver to use with a device. 0xEA60, for example, is the Product ID for Silicon Labs' CP210x USB to UART Bridge devices.
  • Manufacturer String -  an optional string that describes the manufacturer of the device. This string is limited to 45 characters on most devices. On CP2102N devices, this string is limited to 63 characters. Note: The Manufacturer String cannot be changed on some devices.
  • Product String - an optional string that describes the product. It is limited to 126 characters on all devices except for the CP2105, where it is limited to 47 characters.
  • Serial String - an optional string that is used by the host to distinguish between multiple devices with the same VID and PID combination. It is limited to 63 characters on all devices except for the CP2105, where it is limited to 16 characters.
  • Release Version - a binary-coded-decimal value that is assigned by the device manufacturer. It can be used by the host to determine which driver to use.
  • Max Power - this describes the maximum amount of power that the device will draw from the host, in mA. Maximum: 500mA. Note: On CP2102N devices, this setting must be 500mA when using battery charging set to 500mA or above.
  • Power Mode - this setting determines whether the device is Bus-Powered, i.e. it is powered by the host, or Self-Powered, i.e. it is powered from a supply on the device.
  • Lock Device - locks the device from further configuration.

Just download the EEPROM CP1202 parameters customization utility here. You will need to download the Java Runtime if it's not installed in your PC. Or you can use Simplicity Studio 4 program which you can download here. It will be more complicated and long process as you need to register first, then donload and install the program and get Xpress Configurator tool installed too.

Details about obtaining a unique VID can be found at http://www.usb.org/developers/vendor. To request a unique PID for your CP210x/CP211x/CP2130-based product using Silicon Labs' Vendor ID, visit http://www.silabs.com/RequestPID. 

If you changed PID and VID then you need to make another set of drivers. Download the program here. Run through the wizard, replace the necessary fields with your data and generate a new set of drivers.

5. FTDI micro USB (or USB) to TTL Serial UART Converter Module FT232RL. This is a basic breakout board for the FTDI FT232RL USB to serial IC. You can use it to connect serial device (for example, Arduino Pro, LilyPad, Arduino Pro Mini or ESP8266 or HC-06 or HC-05 to your PC) via USB port. The pinout of this board matches the FTDI cable to work with official Arduino and cloned 3.3V Arduino boards. It can also be used for general serial applications. The major difference with this board is that it brings out the DTR pin as opposed to the RTS pin of the FTDI cable. The DTR pin allows an Arduino target to auto-reset when a new Sketch is downloaded. This is a really nice feature to have and allows a sketch to be downloaded without having to hit the reset button. This board will auto reset any Arduino board that has the reset pin brought out to a 6-pin connector.

The pins labeled BLK and GRN correspond to the colored wires on the FTDI cable. The black wire on the FTDI cable is GND, green is CTS. Use these BLK and GRN pins to align the FTDI basic board with your Arduino target.

This board has TX and RX LEDs that make it a bit better to use over the FTDI cable. You can actually see serial traffic on the LEDs to verify if the board is working.

You can read more about FT232RL chip here. You need a cable to connect to USB port.

Features:

  • DTR, DCD, RTS, CTS all available
  • Can be configured for 3.3v or 5v operation by setting jumper.
  • This board includes a DTR pin needed to auto-reset your Arduino or ESP8266 when downloading to your device.
  • Includes over-current protection, using a 500ma self-restoring fuse
  • RXD/TXD led indicators
  • Size: 43x17mm

Before use USB to TTL serial converter, you need to download the manufacture's driver for this chip and install it in your PC. Drivers for Mac, Windows, Linux you can download here.

How to test it

For using this USB to UART Converter you need a software tool. Most of the development tools like MikroC Pro, Arduino has a UART Tool along with it. Here we are going to use a freeware called Terminal.

You can download UART Terminal here.

Unzip the downloaded zip file to get Terminal.exe

Terminal.exe is a portable tool, ie no need to install it. To demonstrate the working of this tool with USB to UART Converter, just short the TX and RX pins using a jumber as shown below.

Now, data received by the device will be the data transmitted by the device.

6. Foca V2.0 is a USB to serial UART board with XBee interface socket. It’s the essential tools for establishing communication between PC and mostly MCU or use XBee. Especially, it’s the optimum tool for the board which basic Arduino but without USB interface, like Sniffer Nano, Colorduino and etc.

Features:

  • Single chip USB to asynchronous serial data transfer interface. Tiny volume
  • Entire USB protocol handled on the chip – No firmware programming require
  • 5V Single Supply Operation and compatible with 3.3V/5V operation voltage.
  • USB 2.0 Full Speed compatible
  • Compatible with Xbee

Specifications:

PCB size 45.72mm X 29.21mm X 1.6mm

Power supply 5V DC

Indicators TX,RX,PWR

RoHS Yes

You can read about it here. It has FT232RL chip. You can read more about FT232RL chip here

7. Foca Pro is a USB to serial UART board with XBee interface socket. It’s the essential tools for establishing communication between PC and mostly MCU or use XBee. Especially, it’s a optimum tool for some Arduino based boards without USB interface, like Sniffer Nano, Colorduino and etc.

Specification:

PCB size 26mm X 49.6mm X 1.6mm

Voltage Input 5V

Interface UART

Indicator PWR

Features:

  • Single chip USB to asynchronous serial data transfer interface
  • Entire USB protocol handled on the chip – No firmware programming require
  • 5V Single Supply Operation and compatible with 3.3V/5V operation voltage
  • USB 2.0 Full Speed compatible
  • Compatible with Xbee
  • Compatible with 2.00mm Grove Electronic Interface

Foca Pro is using CP2102 chip. Look for other details above in USB to TTL converter number 4 description.

8. XBee USB to Serial Adapter V1.2 Board Module with FT232RL chip

XBee Adapter V1.2 is a compact USB to serial adapter equipped with BEE (20pin 2.0mm) sockets. With integrated FT232RL IC, It can be used for programming or communicating with board which basic Arduino but without USB interface, like Sniffer Nano. On the other hand, you may connect your PC to various wireless applications via the BEE compatible modules.

The Adapter also could support XBee interface.

Dimensions: 2.09 in x 1.18 in x 0.20 in (5.3 cm x 3.0 cm x 0.5 cm)

Weight: 0.28 oz (8 g)

It has FT232RL chip. You can read more about FT232RL chip here. Look for other details above in USB to TTL converter number 5 description.

9. DFRobot USB to TTL Converter with CP2102 chip. This USB to TTL converter combine the USB-232-1 (USB to Single RS232 Adapter) and TTL-232-1 (Port-powered RS232/TTL converter) allows you to convert USB to TTL/CMOS compatible levels and vice versa.

It can be used to set up APC220 RF wireless module.

It can be used as STC microcontroller program downloader.

Specification:

Voltage: 5V

Chip: Silicon Laboratories CP210x chip

Before use USB to TTL serial converter, you need to download the manufacture's driver for this chip and install it in your PC. Driver for MacWindowsLinux or more. 

Look for other details above in USB to TTL converter number 4 description.

Signals and connections of the USB to TTL serial convertors

3.3V (or 3V3) - power supply 3.3V DC.

5.0V (or +5V) - power supply 5V DC. 

GND - ground. 

VIO (or VCC) - power supply. Can be connected with jumper to 5V or 3V3.

TXD - TX transmit pin. TxD pin is set for output when the serial I/O enable bit is "1" and the transmit enable bit is "1", regardless of the port direction register setting.

RXD - RX receive pin. RxD pin is set for input when the serial I/O enable bit is "1" and the receive enable bit is "1", regardless of the port direction register setting.

DTR - DTR pin. Data Terminal Ready (DTR) is a control signal in RS-232 serial communications, transmitted from data terminal equipment (DTE), such as a computer, to data communications equipment (DCE). Basically DTR is used to indicate the presence of some equipment. Connected to Arduino board RESET (RST) pin.

RTS - RTS pin. RTS means Request To Send and indicates to the connected device that it wants to send data.The DTE asserts RTS to indicate a desire to transmit to the DCE, and in response the DCE asserts CTS to grant permission, once synchronization with the DCE at the far end is achieved. Basically RTS is one half of hardware flow control (along with CTS) to start and stop communication.

RST  - Reset pin of the CP2102 IC.

CTS - Clear To send pin. RTS/CTS protocol is a method of handshaking which uses one wire in each direction to allow each device to indicate to the other whether or not it is ready to receive data at any given moment. One device sends on RTS and listens on CTS; the other does the reverse. A device should drive its handshake-output wire low when it is ready to receive data, and high when it is not. A device that wishes to send data should not start sending any bytes while the handshake-input wire is low; if it sees the handshake wire go high, it should finish transmitting the current byte and then wait for the handshake wire to go low before transmitting any more.

Summary

We have learnt how to connect different USB to TTL/Serial adaptors/converters and use them.

Libraries:

  • N/A

Sketch:

  • N/A


Other projects of Acoptex.com
Easy Basics: Project 083d Sipeed Maixduino Kit for RISC-V AI and IoT of Acoptex.com in ESP8266 ESP-32 16-06-2019
Easy Basics: Project 076f ESP32 Development board - How to use GPIO pins of Acoptex.com in ESP8266 ESP-32 03-06-2019
Easy Basics: Project 082a Lithum battery charger TP4056 of Acoptex.com in UNO 01-06-2019

« Go back to category
Is this project fake? Report it!   
Recommend to a friend
Published at 28-12-2017
Viewed: 3965 times