How to Convert USB to Serial TTL Level Signals

If you’re designing a device that spends most or all of it’s time connected to a PC through a USB port,  it is probably best to design USB connectivity right into the device.  However, if the device only needs to be connected occasionally to change settings or download data logs, it might be convenient to use a separate adapter that translates USB protocol to TTL level asynchronus serial signals that talk to the microcontroller’s UART.  Also, if you’re a hobbyist, you may not want to spend a lot of time understanding the details of USB interfacing hardware and protocols.  I recently stumbled upon an adapter that makes this easy.

Future Technology Devices International manufactures an interface chip called the FT232RQ which simplifies the task of interfacing a microcontroller to USB.  However, they didn’t stop there.  They took this chip and a small PCB with support components and molded it right into a USB connector with a cable coming out of it.

The TTL232R plugs into the USB port of your computer and the cable delivers logic-level TX and RX signals along with 5V power and ground and even CTS and RTS hardware flow control signals.  It is available with standard .1″ or 2mm header connectors, bare wires or a headhphone plug that carries only TX, RX and GND.  There is also a version that operates at 3.3V logic levels.

As you can see from the schematic, this product saves you a lot of work in selecting passive components and connectors, laying out the PCB and soldering it, and finally assembling it all into a neat little cable.  FTDI even provides royalty-free drivers that can be downloaded form their website.  One version creates a virtual serial COM port that can be recognised by any terminal program.  The other is a DLL the can be accessed from within your favorite programming language.

Unlike many products that are only available in high volumes, the TTL232R is readily found in-stock at suppliers like Digi-Key for about $20 in single quantities.

Leave a Reply

Your email address will not be published. Required fields are marked *