Introduction to FTDI
FTDI (Future Technology Devices International) is a company that specializes in designing and manufacturing USB-to-serial converter chips and modules. These devices are widely used in various electronic projects, enabling communication between USB-enabled computers and serial devices such as microcontrollers, sensors, and displays.
One of the most popular FTDI chips is the FT232R, which is commonly found on Arduino boards and USB-to-TTL serial converter modules. Understanding the FTDI Pinout is crucial for anyone working with these devices, as it allows for proper connections and communication between the computer and the serial device.
FTDI Chip Overview
FT232R
The FT232R is a highly versatile USB-to-serial converter chip that supports a wide range of baud rates and communication protocols. It features a USB 2.0 Full Speed interface and a UART (Universal Asynchronous Receiver/Transmitter) interface, making it compatible with most serial devices.
Key features of the FT232R include:
- USB 2.0 Full Speed interface (12 Mbps)
- UART interface with support for 7 or 8 data bits, 1 or 2 stop bits, and odd/even/mark/space parity
- Baud rates from 300 baud to 3 Mbaud
- 256-byte receive buffer and 128-byte transmit buffer
- Integrated 3.3V LDO regulator for USB IO
- FTDI’s royalty-free Virtual COM Port (VCP) and Direct (D2XX) drivers
Other FTDI Chips
In addition to the FT232R, FTDI offers several other USB-to-serial converter chips, each with its own unique features and pinouts. Some of these include:
- FT231X: A more compact and energy-efficient version of the FT232R
- FT2232H: A dual-channel USB-to-serial converter with support for high-speed communication protocols like JTAG and SPI
- FT4232H: A quad-channel USB-to-serial converter with support for high-speed communication protocols
- FT260: A USB 2.0 to I2C/UART/GPIO converter
FTDI Pinout
FT232R Pinout
The FT232R chip comes in various package types, including SSOP-28 and QFN-32. The most common package used in USB-to-TTL serial converter modules is the SSOP-28. Here’s a table showing the FT232R SSOP-28 pinout:
Pin | Name | Type | Description |
---|---|---|---|
1 | TXD | Output | Transmit Data (UART) |
2 | DTR# | Output | Data Terminal Ready |
3 | RTS# | Output | Request to Send |
4 | VCCIO | Power | IO Supply Voltage (1.8V to 5V) |
5 | RXD | Input | Receive Data (UART) |
6 | RI# | Input | Ring Indicator |
7 | GND | Power | Ground |
8 | DCR# | Output | Data Carrier Detect |
9 | DCD# | Input | Data Set Ready |
10 | CTS# | Input | Clear to Send |
11 | CBUS4 | I/O | Configurable CBUS pin |
12 | CBUS2 | I/O | Configurable CBUS pin |
13 | CBUS3 | I/O | Configurable CBUS pin |
14 | RESET# | Input | Active-low reset |
15 | GND | Power | Ground |
16 | GND | Power | Ground |
17 | 3V3OUT | Output | 3.3V output (max 50mA) |
18 | USBDP | I/O | USB Data Plus |
19 | USBDM | I/O | USB Data Minus |
20 | VCC | Power | Supply Voltage (4.35V to 5.25V) |
21 | GND | Power | Ground |
22 | CBUS1 | I/O | Configurable CBUS pin |
23 | CBUS0 | I/O | Configurable CBUS pin |
24 | AGND | Power | Analog Ground |
25 | TEST | Input | Factory test pin (pull to GND) |
26 | OSCI | Input | Oscillator input (12MHz) |
27 | OSCO | Output | Oscillator output |
28 | EE | Power | EEPROM write enable (pull to VCC) |
The CBUS pins (CBUS0-4) are configurable and can be used for various functions such as GPIO, TXDEN, PWREN, TXLED, RXLED, SLEEP, and CLK.
Other FTDI Chip Pinouts
Each FTDI chip has its own unique pinout, depending on the package type and the specific features of the chip. It’s essential to refer to the datasheets for the specific chip you are using to ensure proper connections.
Here are some links to the datasheets for popular FTDI chips:
Connecting FTDI to Serial Devices
When connecting an FTDI USB-to-serial converter to a serial device, it’s crucial to ensure that the voltage levels are compatible and that the connections are made correctly. Most FTDI modules have a built-in 3.3V regulator, which can be used to power the serial device if it operates at 3.3V.
Basic Connections
For a basic UART communication setup, you’ll need to make the following connections:
- Connect the FTDI’s TXD pin to the serial device’s RXD pin
- Connect the FTDI’s RXD pin to the serial device’s TXD pin
- Connect the FTDI’s GND pin to the serial device’s GND pin
- If the serial device operates at 3.3V, connect the FTDI’s 3V3OUT pin to the serial device’s VCC pin. If the serial device operates at 5V, connect the FTDI’s VCCIO pin to the serial device’s VCC pin
Additional Connections
Depending on your specific application, you may need to make additional connections, such as:
- Connecting the FTDI’s RTS# and CTS# pins to the serial device’s CTS and RTS pins for hardware flow control
- Connecting the FTDI’s DTR# pin to the serial device’s reset pin for automatic reset on connection
- Configuring the CBUS pins for specific functions like GPIO or LED control
FTDI Drivers and Software
To use an FTDI USB-to-serial converter, you’ll need to install the appropriate drivers on your computer. FTDI provides two types of drivers: Virtual COM Port (VCP) and Direct (D2XX).
Virtual COM Port (VCP) Drivers
VCP drivers create a virtual COM port on your computer, allowing you to communicate with the serial device using standard serial port software. This is the most common driver type and is supported by most operating systems, including Windows, macOS, and Linux.
You can download the latest VCP drivers from the FTDI website.
Direct (D2XX) Drivers
D2XX drivers provide a direct interface to the FTDI chip, allowing for more advanced features and faster communication speeds. These drivers are typically used in custom applications and require programming knowledge to implement.
You can download the latest D2XX drivers from the FTDI website.
Software and Libraries
In addition to the drivers, FTDI provides various software tools and libraries for working with their USB-to-serial converters. Some of these include:
- FT_PROG: A utility for programming and configuring FTDI chips
- FTD2XX: A library for accessing the FTDI chip’s advanced features using the D2XX drivers
- LibFT4222: A library for working with the FT4222 USB-to-I2C/SPI/UART/GPIO converter
- LibMPSSE: A library for working with the MPSSE (Multi-Protocol Synchronous Serial Engine) interface on chips like the FT2232H and FT4232H
You can find more information about FTDI’s software and libraries on their website.
Troubleshooting FTDI Issues
If you encounter issues when working with an FTDI USB-to-serial converter, here are some troubleshooting steps you can try:
- Check the connections: Ensure that all connections between the FTDI module and the serial device are correct and secure
- Verify voltage levels: Make sure that the voltage levels of the FTDI module and the serial device are compatible. If necessary, use a logic level converter to match the voltage levels
- Update drivers: Install the latest drivers for your FTDI chip from the official FTDI website
- Check device manager: In Windows, open the Device Manager and verify that the FTDI device is recognized and not showing any error messages
- Try a different USB port: Connect the FTDI module to a different USB port on your computer to rule out any port-specific issues
- Check baud rate and other settings: Ensure that the baud rate and other communication settings in your software match those of the serial device
- Test with a different serial device: Connect the FTDI module to a known working serial device to isolate the issue
If you continue to experience problems after trying these troubleshooting steps, consult the FTDI support resources or seek assistance from the FTDI community forums.
FAQs
1. What is the difference between FTDI and USB-to-TTL?
USB-to-TTL is a general term for any device that converts USB signals to TTL (Transistor-Transistor Logic) serial signals. FTDI is a specific company that designs and manufactures USB-to-serial converter chips, which are often used in USB-to-TTL modules. While all FTDI chips are USB-to-TTL converters, not all USB-to-TTL converters use FTDI chips.
2. Can I use an FTDI module to program an Arduino?
Yes, FTDI modules are commonly used to program Arduino boards that don’t have a built-in USB-to-serial converter. Simply connect the FTDI module to the Arduino’s serial header (RXD, TXD, and GND pins) and select the appropriate board and port in the Arduino IDE.
3. How do I determine the FTDI chip on my module?
Most FTDI modules have the chip model printed on the PCB. If not, you can usually identify the chip by its package type (e.g., SSOP-28 for FT232R) and the pinout of the module. You can also check the documentation or product description from the vendor where you purchased the module.
4. Are FTDI drivers free?
Yes, FTDI provides free drivers (VCP and D2XX) for their USB-to-serial converter chips. You can download the drivers from the official FTDI website.
5. Can I use an FTDI module to communicate with a 5V serial device?
Yes, most FTDI modules have a 5V-tolerant VCCIO pin, which can be connected to the 5V supply of the serial device. However, it’s essential to ensure that the serial device’s RXD pin is 5V-tolerant or use a logic level converter to step down the FTDI’s TXD signal from 5V to 3.3V.
Conclusion
FTDI USB-to-serial converters are versatile tools for connecting serial devices to USB-enabled computers. By understanding the FTDI pinout and how to make the necessary connections, you can easily integrate these converters into your projects. Remember to select the appropriate drivers for your operating system and chip, and follow proper troubleshooting steps if you encounter any issues. With the knowledge gained from this article, you should be well-equipped to work with FTDI chips and modules in your future projects.
Leave a Reply