Documentation

FT232RL USB to TTL Serial Cable Adapter with CTS/RTS 6-Pin | ShillehTek Product Manual
Documentation / FT232RL USB to TTL Serial Cable Adapter with CTS/RTS 6-Pin | ShillehTek Product Manual

FT232RL USB to TTL Serial Cable Adapter with CTS/RTS 6-Pin | ShillehTek Product Manual

Overview

The FT232RL USB-to-TTL serial cable is a self-contained USB-to-UART bridge built around FTDI's FT232RL chip — plug one end into your computer's USB port, and the other end gives you 6 pre-wired serial signals (TX, RX, VCC, GND, CTS, RTS) on a 0.1" header that drops straight onto a breadboard or directly onto a header pin row. It eliminates the need for an external USB-to-serial breakout and is one of the most reliable ways to talk to bare microcontrollers (ATmega328, ATtiny, ESP8266/ESP32 in bootloader mode), legacy serial peripherals, GPS modules, or to simply add a USB serial port to your project for debugging.

FTDI drivers are bundled with Windows, macOS, and Linux out of the box, and the chip is recognised by every Arduino IDE, esptool, PlatformIO, screen, minicom, and PuTTY. CTS and RTS are exposed in addition to the basic TX/RX pair, which makes this cable suitable for hardware-flow-control applications and for triggering DTR-style auto-reset on Arduino-compatible boards.

Common use cases: programming bootloader-only microcontrollers, debugging headless Raspberry Pi or router consoles, talking to GPS / GSM / LoRa modules, communicating with industrial PLCs through a TTL converter, and as a general-purpose serial diagnostic tool.

At a Glance

Chipset
FTDI FT232RL
Logic Level
5V TTL
Pins
6 (TX, RX, VCC, GND, CTS, RTS)
VCC Output
5V @ up to 500 mA
USB
USB 2.0 Full Speed
Baud Rates
300 bps to 3 Mbps

Specifications

Parameter Value
Bridge IC FTDI FT232RL
USB Standard USB 2.0 Full Speed (12 Mbps)
USB Connector Type-A male
TTL Connector 6-pin 0.1" (2.54 mm) female header
Logic Voltage 5V TTL
VCC Pin Output 5V from USB bus, ~500 mA max (USB-limited)
Baud Rate Range 300 bps to 3 Mbps
Cable Length ~1 m
Driver FTDI VCP (built into Windows 10/11, macOS, Linux)
Operating Temperature -40°C to +85°C

Pin Assignments

The 6-pin header follows FTDI's standard wire-color convention. Look at the header from the side that faces the PCB:

Pin Color Signal Description
1 Black GND Ground (common reference)
2 Brown CTS Clear To Send (input to PC)
3 Red VCC +5V power output (from USB)
4 Orange TXD Transmit data (output from PC)
5 Yellow RXD Receive data (input to PC)
6 Green RTS Request To Send (output from PC)

Wiring Guide

Programming a Bare ATmega328 / Arduino Pro Mini (5V)

Connect TX-to-RX (cross-over) and feed power directly from the cable's VCC pin.

FT232RL ATmega / Pro Mini
VCC (Red) VCC
GND (Black) GND
TXD (Orange) RXD
RXD (Yellow) TXD
RTS or DTR (Green) RST (via 0.1 µF cap for auto-reset)

ESP8266 / ESP32 (3.3V Logic)

Voltage Warning: This cable outputs 5V TTL on TX/RX. Most ESP modules and Pi GPIO are 3.3V. Use a level shifter or a series resistor divider on the cable's TX line, and never feed 5V VCC into an ESP's 3.3V pin. Power the ESP from its own 3.3V regulator and only connect TX/RX/GND.
FT232RL ESP Module
GND (Black) GND
TXD (Orange) RX (through 1k / 2.2k divider)
RXD (Yellow) TX (3.3V is read fine as logic-high by 5V FTDI)
VCC Do NOT connect to ESP 3.3V

Raspberry Pi Headless Console

Use this cable to access a Pi serial console without a monitor. Enable serial in raspi-config first.

FT232RL Raspberry Pi (40-pin header)
GND (Black) Pin 6 (GND)
TXD (Orange) Pin 10 (GPIO15 / RXD)
RXD (Yellow) Pin 8 (GPIO14 / TXD)
VCC Leave disconnected — Pi has its own power
Tip: Open the console at 115200 baud (default for newer Pi OS) using screen /dev/tty.usbserial-* 115200 on macOS/Linux or PuTTY on Windows.

Code Examples

Arduino IDE: upload to a Pro Mini / bare ATmega328

upload-procedure.txt
1. Wire the cable per the table above (TX-to-RX, RX-to-TX, plus VCC, GND).
2. In Arduino IDE: Tools → Board → "Arduino Pro or Pro Mini".
3. Tools → Processor → ATmega328P (5V, 16 MHz).
4. Tools → Port → choose the FTDI device (usually "USB Serial" / "/dev/tty.usbserial-XXXX").
5. Click Upload. The cable's RTS line auto-resets the board (with the 0.1uF cap) and uploads.

Linux / macOS: open a serial monitor with screen

terminal.sh
# List available FTDI devices (macOS)
ls /dev/tty.usbserial-*

# Open at 115200 baud
screen /dev/tty.usbserial-A50285BI 115200

# Linux equivalent
ls /dev/ttyUSB*
screen /dev/ttyUSB0 115200

# Exit screen with: Ctrl+A then K, confirm with y

Python (pyserial): scripted communication

serial_example.py
import serial
import time

# Open the FTDI cable at 9600 baud
ser = serial.Serial('/dev/tty.usbserial-A50285BI', 9600, timeout=1)
time.sleep(2)  # let the connection settle

ser.write(b'AT
')        # send a command
response = ser.readline()    # read one line back
print(response.decode().strip())

ser.close()

Frequently Asked Questions

My computer doesn't see the cable. What's wrong?
On Windows 10/11, macOS Catalina+, and modern Linux distros the FTDI driver is built in. If you see no device, plug into a different USB port or directly into the computer (avoid unpowered hubs). On older Windows, install the FTDI VCP driver from ftdichip.com/drivers. Counterfeit FT232 chips will fail with the genuine driver — this cable uses authentic FTDI silicon.
Is the logic level 3.3V or 5V?
5V TTL. The TX line idles at 5V and the VCC pin outputs 5V from USB. For 3.3V devices (ESP, Pi, STM32) you must use a level shifter or a resistor divider on the cable's TX line, and you should NOT connect VCC to a 3.3V rail.
Can I power my project from this cable?
Yes — the VCC pin supplies 5V from the USB bus, up to about 500 mA (the USB 2.0 limit). Plenty for an Arduino, a small ESP, a few sensors, or a couple of LEDs. Don't try to drive a motor or anything with high inrush current from this pin.
Why are TX and RX swapped in the wiring tables?
TX (transmit) on one device must connect to RX (receive) on the other — data goes "out one, in the other". Connecting TX-to-TX gives you nothing. Always cross over.
Can I do auto-reset for Arduino-style uploads?
Yes — wire the green RTS line through a 0.1 µF capacitor to the target's RST pin. When the FTDI driver toggles RTS at the start of an upload, the cap pulses RST low for a moment, resetting the chip into bootloader mode. Some configurations use DTR via an FT232's DTR pin instead, depending on the cable variant.
What baud rates are supported?
300 bps up to 3 Mbps. Standard rates are 9600, 19200, 38400, 57600, 115200, and 230400. The chip supports non-standard divisors as well (useful for some legacy peripherals), which the FTDI driver exposes through its API.