The standard 4-pin UART cable pinout maps Black to GND, Red to VCC (3.3V or 5V), Green or White to TX, and Yellow or Orange to RX. The golden rule of UART wiring is that the cable's TX pin must connect to the microcontroller's RX pin, and vice versa. If you are interfacing a 3.3V microcontroller like an ESP32 or Raspberry Pi Pico, you must verify the adapter's logic level is set to 3.3V before applying power, or you risk permanently damaging the GPIO pins.

The Standard UART Cable Pinout & Color Code Reference

Most USB-to-TTL serial adapters (based on FTDI, CH340, or CP2102 chips) terminate in a 4-pin or 6-pin female header. Below is the definitive reference table for reading these cables. Note that while FTDI official cables adhere strictly to their color standard, cheap clone cables from overseas marketplaces frequently swap the Green and Yellow wires. Always verify with a multimeter if the cable lacks printed pin labels.

Pin Number Signal Name Standard FTDI Color Common Clone Color Direction (Host to Target) Practical Function
1 GND Black Black Common Reference Completes the circuit. Must be shared between adapter and MCU.
2 VCC / VDD Red Red Power Output Supplies 3.3V or 5V to target. Do not use to power high-draw loads.
3 TX / TXD Orange / Yellow Green / White Host Transmit Carries data from the PC to the MCU's RX pin.
4 RX / RXD Yellow / Orange Yellow / Orange Host Receive Carries data from the MCU's TX pin to the PC.
5 CTS Green White Flow Control Clear to Send. Used in hardware flow control (rare in hobby DIY).
6 DTR / RTS Green / Brown Blue Reset / Boot Used to auto-reset Arduino/ESP32 into bootloader mode.

The 'Rows People Get Wrong' & Voltage Traps

When debugging a dead serial console, 90% of failures trace back to misinterpreting the TX/RX crossover or ignoring logic level thresholds. Here is where the standard table fails you if applied blindly.

Row 3 & 4: The TX/RX Crossover Confusion

The most common mistake is wiring TX to TX and RX to RX. In serial communications, pins are named from the perspective of the device they are physically located on. The adapter's TX pin is its Transmit line. If you connect it to the microcontroller's TX pin, you have two outputs fighting each other, and zero inputs listening. Always cross the lines: Adapter TX to MCU RX, and Adapter RX to MCU TX.

Row 2: The 5V Logic Level Trap

VCC (Red wire) provides power, but the adapter's logic chips also use a VCCIO reference to determine the voltage of the TX data line. If you are using an FT232RL adapter with a 5V jumper setting, the TX line will output 5V logic highs. Feeding a 5V signal into a 3.3V-tolerant GPIO on an ESP32 or Raspberry Pi Pico will exceed the absolute maximum ratings and fry the silicon. Always verify the adapter's logic level jumper matches your microcontroller's VCC before connecting the data lines.

Callout Warning: Never rely on the USB port's 5V VBUS to power a target board drawing more than 500mA. The internal traces on cheap USB-to-TTL adapters are typically thin (equivalent to 28 AWG or smaller) and will overheat or cause a voltage brownout if used as a primary power supply for motors or high-power LED strips.

Protocol Variants: TTL vs RS-232 vs RS-485

While 'UART' defines the asynchronous data framing (start bit, data bits, parity, stop bit), the physical electrical layer varies wildly depending on the standard. Do not plug an RS-232 cable into a TTL microcontroller header; the voltage difference will instantly destroy your board.

Standard Voltage Levels Max Distance Typical Use Case Required Hardware
TTL (Logic) 0V (Low) to 3.3V/5V (High) ~1 meter On-board MCU comms, ESP32, Arduino, Pi Direct USB-to-TTL adapter (FT232, CH340)
RS-232 -3V to -15V (High), +3V to +15V (Low) 15 meters Legacy PC COM ports, industrial CNC routers MAX232 level shifter IC required
RS-485 Differential (-7V to +12V common mode) 1200 meters DMX lighting, Modbus industrial sensors MAX485 or SN75176 transceiver module

For a deep dive into the electrical differences between these physical layers, the Texas Instruments RS-232 vs RS-485 design guide provides excellent oscilloscope captures and termination resistor calculations.

Safe Interpretation: Identifying Faded or Unmarked Wires

If you have a salvaged serial cable with faded silk-screening or non-standard colors, do not guess. Use a digital multimeter (DMM) to map the pins safely while the adapter is plugged into a USB port but disconnected from your microcontroller.

  1. Find GND (Continuity Test): Set your DMM to continuity mode. Place one probe on the metal shield of the USB-A connector and probe the header pins with the other. The pin that beeps is your GND.
  2. Find VCC (DC Voltage Test): Set DMM to DC Volts. Place the black probe on your identified GND pin. Probe the remaining pins with the red probe. You will read either ~3.3V or ~5.0V. This is your VCC.
  3. Find TX vs RX (Idle Voltage Test): UART lines idle in a HIGH state. Both TX and RX will likely read close to the VCCIO logic voltage (e.g., 3.3V). To distinguish them, open a serial terminal on your PC (like PuTTY or screen) and continuously transmit a text string (e.g., holding down the 'U' key, which is 0x55 in ASCII, creating a perfect 50% duty cycle square wave). Probe the remaining pins. The pin whose average DC voltage drops to roughly half of VCCIO (e.g., ~1.65V) is the adapter's TX line, as it is actively toggling. The pin that stays solidly HIGH is the RX line.
Callout Tip: If your adapter uses the official FTDI FT232R chip, you can use the FT_PROG utility on Windows to read the EEPROM. Some manufacturers encode the pinout or custom vendor IDs that can help you identify the exact breakout board revision and its specific silk-screen mapping.

Decision Path: Which UART Adapter to Buy

Stop buying random USB-to-TTL cables and hoping they work. Use this decision tree to select the exact adapter module for your bench in 2026.

If your project requires... Then choose this chipset... Concrete Part / Module Recommendation
Flawless 3.3V logic for ESP32, STM32, or Raspberry Pi Pico, plus reliable drivers on all OS platforms. FTDI FT232RL SparkFun FTDI Basic Breakout - 3.3V (or official FTDI TTL-232R-3V3 cable).
Auto-reset capability for flashing Arduino Uno/Mega or ESP8266 without pressing the boot button manually. FTDI FT232RL or CP2102 Adafruit CP2104 Friend (Ensure DTR pin is broken out and wired to the MCU's RESET/EN pin via a 0.1µF capacitor).
Cheap, bulk 5V adapters for legacy Arduino 5V boards or basic sensor debugging where driver signing isn't critical. CH340G / CH340C Generic CH340 USB-to-TTL Module (Requires manual driver install on older Windows builds, but native on modern Linux/macOS).
Long-distance industrial wiring or noisy environments (factory floors, near VFDs). RS-485 Transceiver MAX485 TTL to RS-485 Module paired with a standard USB-to-TTL adapter. Use 120-ohm termination resistors.

For 95% of modern hobbyist and prototyping work involving 3.3V microcontrollers, the FT232RL-based adapter set to 3.3V is the definitive, default choice. It provides stable logic levels, native OS driver support, and the DTR pin required for automated bootloading.