The FTDI (Future Technology Devices International) USB-to-Serial interface chip is a versatile component designed to convert USB signals to various serial communication protocols such as UART, SPI, and I2C. This chip is widely used in applications where a USB interface is required to communicate with microcontrollers, sensors, and other serial devices. Common use cases include:
Parameter | Value |
---|---|
Supply Voltage | 3.3V or 5V |
Operating Current | 15mA (typical) |
Communication | UART, SPI, I2C |
Data Rate | Up to 3 Mbps (UART) |
USB Standard | USB 2.0 Full Speed |
Operating Temperature | -40°C to +85°C |
Package Types | SSOP-28, QFN-32, LQFP-48 |
Pin No. | Name | Type | Description |
---|---|---|---|
1 | TXD | Output | Transmit Data (UART) |
2 | RXD | Input | Receive Data (UART) |
3 | RTS# | Output | Request to Send (Active Low) |
4 | CTS# | Input | Clear to Send (Active Low) |
5 | DTR# | Output | Data Terminal Ready (Active Low) |
6 | DSR# | Input | Data Set Ready (Active Low) |
7 | DCD# | Input | Data Carrier Detect (Active Low) |
8 | RI# | Input | Ring Indicator (Active Low) |
9 | GND | Ground | Ground |
10 | VCC | Power | Supply Voltage (3.3V or 5V) |
11 | USB D+ | I/O | USB Data Positive |
12 | USB D- | I/O | USB Data Negative |
13 | RESET# | Input | Reset (Active Low) |
14 | 3V3OUT | Output | 3.3V Output |
15 | CBUS0 | I/O | Configurable I/O Pin 0 |
16 | CBUS1 | I/O | Configurable I/O Pin 1 |
17 | CBUS2 | I/O | Configurable I/O Pin 2 |
18 | CBUS3 | I/O | Configurable I/O Pin 3 |
19 | CBUS4 | I/O | Configurable I/O Pin 4 |
20 | TEST | Input | Test Pin (Leave Unconnected) |
21 | AGND | Ground | Analog Ground |
22 | VCCIO | Power | I/O Voltage Supply |
23 | TXLED# | Output | Transmit LED (Active Low) |
24 | RXLED# | Output | Receive LED (Active Low) |
25 | SUSPEND# | Output | Suspend (Active Low) |
26 | PWREN# | Output | Power Enable (Active Low) |
27 | SLEEP# | Output | Sleep (Active Low) |
28 | CLKOUT | Output | Clock Output |
#include <SoftwareSerial.h>
// RX and TX pins for FTDI
const int RX_PIN = 10;
const int TX_PIN = 11;
// Create a SoftwareSerial object
SoftwareSerial mySerial(RX_PIN, TX_PIN);
void setup() {
// Start the hardware serial communication
Serial.begin(9600);
// Start the software serial communication
mySerial.begin(9600);
}
void loop() {
if (mySerial.available()) {
// Read data from FTDI and send it to the Serial Monitor
Serial.write(mySerial.read());
}
if (Serial.available()) {
// Read data from Serial Monitor and send it to FTDI
mySerial.write(Serial.read());
}
}
By following this documentation, users can effectively integrate the FTDI USB-to-Serial interface chip into their projects, ensuring reliable and efficient communication between USB and serial devices.