

The FT245RL, manufactured by FTDI Chip, is a USB FIFO (First In, First Out) Controller designed to facilitate seamless data transfer between USB devices and a host system. It provides a simple and efficient interface for high-speed communication, making it ideal for applications requiring reliable data buffering and transfer.








The FT245RL is a versatile and robust component with the following key technical details:
| Parameter | Value |
|---|---|
| USB Standard | USB 2.0 Full-Speed (12 Mbps) |
| Operating Voltage | 4.35V to 5.25V (USB-powered) |
| I/O Voltage | 3.3V (TTL-compatible) |
| Data Bus Width | 8-bit parallel FIFO |
| FIFO Buffer Size | 384 bytes (TX: 128 bytes, RX: 256 bytes) |
| Operating Temperature | -40°C to +85°C |
| Package Type | SSOP-28 |
The FT245RL comes in a 28-pin SSOP package. Below is the pin configuration and description:
| Pin No. | Pin Name | Type | Description |
|---|---|---|---|
| 1 | TXE# | Output | Indicates when the FIFO is empty (active low). |
| 2 | RXF# | Output | Indicates when data is available in the FIFO |
| (active low). | |||
| 3 | RD# | Input | Read strobe signal (active low). |
| 4 | WR | Input | Write strobe signal. |
| 5 | D0 | I/O | Data bus bit 0. |
| 6 | D1 | I/O | Data bus bit 1. |
| 7 | D2 | I/O | Data bus bit 2. |
| 8 | D3 | I/O | Data bus bit 3. |
| 9 | D4 | I/O | Data bus bit 4. |
| 10 | D5 | I/O | Data bus bit 5. |
| 11 | D6 | I/O | Data bus bit 6. |
| 12 | D7 | I/O | Data bus bit 7. |
| 13 | PWREN# | Output | Indicates when the device is powered (low). |
| 14 | GND | Ground | Ground connection. |
| 15 | VCC | Power | 4.35V to 5.25V power supply. |
| 16 | RESET# | Input | Resets the device (active low). |
| 17 | TEST | Input | Test pin (must be tied to GND). |
| 18 | 3V3OUT | Output | 3.3V regulator output. |
| 19 | USBDP | I/O | USB D+ line. |
| 20 | USBDM | I/O | USB D- line. |
| 21 | VCCIO | Power | I/O voltage supply (3.3V). |
| 22 | AGND | Ground | Analog ground. |
| 23 | OSCO | Output | Crystal oscillator output. |
| 24 | OSCI | Input | Crystal oscillator input. |
| 25 | EECS | I/O | EEPROM chip select. |
| 26 | EESK | Output | EEPROM clock. |
| 27 | EEDATA | I/O | EEPROM data. |
| 28 | NC | - | No connection. |
The FT245RL is straightforward to use in a circuit, thanks to its USB FIFO interface. Below are the steps and considerations for using the component effectively:
The FT245RL can be interfaced with an Arduino UNO for USB communication. Below is an example Arduino sketch:
// Example: Reading data from FT245RL FIFO using Arduino UNO
#define RXF 2 // Pin connected to RXF# of FT245RL
#define RD 3 // Pin connected to RD# of FT245RL
#define D0 4 // Pin connected to D0 of FT245RL
#define D1 5 // Pin connected to D1 of FT245RL
#define D2 6 // Pin connected to D2 of FT245RL
#define D3 7 // Pin connected to D3 of FT245RL
void setup() {
pinMode(RXF, INPUT); // RXF# is an output from FT245RL
pinMode(RD, OUTPUT); // RD# is an input to FT245RL
pinMode(D0, INPUT); // Data bus pins are inputs to Arduino
pinMode(D1, INPUT);
pinMode(D2, INPUT);
pinMode(D3, INPUT);
digitalWrite(RD, HIGH); // Set RD# high initially
Serial.begin(9600); // Initialize serial communication
}
void loop() {
if (digitalRead(RXF) == LOW) { // Check if data is available
digitalWrite(RD, LOW); // Assert RD# to read data
// Read 4 bits of data from the FIFO
int data = (digitalRead(D3) << 3) | (digitalRead(D2) << 2) |
(digitalRead(D1) << 1) | digitalRead(D0);
digitalWrite(RD, HIGH); // De-assert RD# after reading
Serial.println(data, HEX); // Print the data in hexadecimal
}
}
Device Not Recognized by USB Host:
No Data Transfer:
Erratic Behavior:
Q: Can the FT245RL operate at 3.3V?
A: The FT245RL requires a 5V power supply but provides a 3.3V output for I/O operations.
Q: Is an external EEPROM mandatory?
A: No, the FT245RL has an internal EEPROM for basic configurations. An external EEPROM is optional for custom settings.
Q: What is the maximum data transfer rate?
A: The FT245RL supports USB 2.0 Full-Speed, with a maximum transfer rate of 1 MByte/s.