Welcome to the FTDI Knowledgebase |
Documentation |
Application Notes |
ANVNC1L-01 Vinculum VNC1L Bootloader |
Vinculum VNC1L Bootloader |
VNC1L Bootloader Commands |
Set Data Variables |
Read Flash Block |
Write Flash Block |
Echo |
VNC1L Bootloader Pseudo Code |
VNC1L Bootloader Hardware Interface |
VNC1L Programming Over USB |
VNC1L Programming From a COM Port |
VNC1L Programming From an MCU |
Revision History |
Contact |
Disclaimer |
AN232R-01 Bit Bang Modes for the FT232R and FT245R |
Bit Bang Modes for the FT232R and FT245R |
Overview |
Asynchronous Bit Bang Mode |
Synchronous Bit Bang Mode |
CBUS Bit Bang Mode |
References |
History, Disclaimer, Contact |
Document Revision History |
Disclaimer |
Contact Information |
AN232R-02 FTDIChip-ID for the FT232R and FT245R |
FTDIChip-ID for the FT232R and FT245R |
Overview |
Using the FTDIChip-ID |
Considerations |
FT232R/FT245R Web Registration Example |
References |
History, Disclaimer, Contact |
Document Revision History |
Disclaimer |
Contact Information |
AN232R-03 FTDI Windows Driver Pre-Installation |
FTDI Windows Driver Pre-Installation |
Overview |
DIFx Driver Package Requirements |
Sample DPInst.xml File |
Uninstalling Drivers |
References |
History, Disclaimer, Contact |
Document Revision History |
Disclaimer |
Contact Information |
AN232R-04 Windows Combined Driver Model |
Introduction |
Background |
Architecture |
Advantages |
Document Revision History |
Disclaimer |
Contact Information |
AN2232C-01 Command Processor for MPSSE and MCU Host Bus Emualtion Modes |
Command Processor for MPSSE and MCU Host Bus Emulation |
Overview |
Data and Clock Definition |
Data Bit Defintion |
Clock Operation |
Command Definitions |
Bad Commands |
Data Shifting Command Overview |
MSB First |
Clock Data Bytes Out on +ve Clock Edge MSB First (no Read) |
Clock Data Bytes Out on -ve Clock Edge MSB First (no read) |
Clock Data Bits Out on +ve Clock Edge MSB First (no Read) |
Clock Data Bits Out on -ve Clock Edge MSB First (no Read) |
Clock Data Bytes In on +ve Clock Edge MSB First (no Write) |
Clock Data Bytes In on -ve Clock Edge MSB First (no Write) |
Clock Data Bits In on +ve Clock Edge MSB First (no Write) |
Clock Data Bits In on -ve Clock Edge MSB First (no Write) |
Clock Data Bytes In and Out MSB First |
Clock Data Bits In and Out MSB First |
LSB First |
Clock Data Bytes Out on +ve Clock Edge LSB First (no Read) |
Clock Data Bytes Out on -ve Clock Edge LSB First (no Read) |
Clock Data Bits Out on +ve Clock Edge LSB First (no Read) |
Clock Data Bits Out on -ve Clock Edge LSB First (no Read) |
Clock Data Bytes In on +ve Clock Edge LSB First (no Write) |
Clock Data Bytes In on -ve Clock Edge LSB First (no Write) |
Clock Data Bits In on +ve Clock Edge LSB First (no Write) |
Clock Data Bits In on -ve Clock Edge LSB First (no Write) |
Clock Data Bytes In and Out LSB First |
Clock Data Bits In and Out LSB First |
TMS Commands |
Clock Data to TMS/CS Pin (no Read) |
Clock Data to TMS/CS Pin with Read |
Set / Read Data Bits High / Low Bytes |
Set Data Bits Low Byte |
Set Data Bits High Byte |
Read Data Bits Low Byte |
Read Data Bits High Byte |
Loopback Commands |
Connect TDI/DO to TDO/DI for Loopback |
Disconnect TDI/DO to TDO/DI for Loopback |
Clock Divisor |
Set TCK/SK Divisor |
Instructions for MCU Host Bus Emulation Mode |
Overview |
MCU Host Emulation Mode Read Short Address |
MCU Host Emulation Mode Read Extended Address |
MCU Host Emulation Mode Write Short Address |
MCU Host Emulation Mode Write Extended Address |
Instructions for use in both MPSSE and MCU Host Emulation Modes |
Send Immediate |
Wait On I/O High |
Wait On I/O Low |
History, Disclaimer, Contact Information |
Document Revision History |
Disclaimer |
Contact Information |
AN2232C-02 Bit Mode Functions for the FT2232C |
Bit Mode Functions For the FT2232 |
Overview |
FT_SetBitMode |
FT_SetBitMode Example |
FT_GetBitMode |
FT_GetBitMode Example |
References |
History, Disclaimer, Contact |
Document Revision History |
Disclaimer |
Contact Information |
AN232B-03 Optimizing D2XX Data Throughput |
D2XX Applications - Optimizing Data Throughput Over USB |
Introduction |
Transfer Sizes |
Driver Operation |
Optimizing Performance |
Revision History, Disclaimer, and Contact Information |
Document Revision History |
Disclaimer |
Contact Information |
AN232B-04 Data Throughput, Latency and Handshaking |
Data Throughput, Latency and Handshaking |
Background |
Data Transfer |
The Need For Handshaking |
Data Transfer Comparison |
Continuous Data - Smoothing the Lumps |
Buffers and the Latency Timer |
Small Amounts of Data and End of Buffer Conditions |
Adjusting the Receive Buffer Latency Timer |
Effect of USB Buffer Size and the Latency Timer on Data Throughput |
Adjusting the USB Transfer Size |
Events and Flow Control |
Event Characters |
Flushing the Receive Buffer Using the Modem Status Lines |
Flow Control |
History, Disclaimer, Contact Information |
Document Revision History |
Disclaimer |
Contact Information |
AN232B-05 Configuring FT232R, FT2232C and FT232BM Baud Rates |
Setting Baud Rates for FT232R, FT2232 and FT232BM Devices |
Introduction |
Setting the Baud Rate |
Baud Rate Calculation |
Aliasing Baud Rates |
Aliasing |
Aliasing Using the Original Sub-Integer Divisors |
Aliasing Using the Additional FT232B Sub-Integer Divisors |
Revision History, Disclaimer, Contact Information |
Document Revision History |
Disclaimer |
Contact Information |
AN232B-07 Configuring FTDI's VCP Drivers to use Location IDs |
How To Configure VCP to Use a Specific COM Port |
Introduction |
Location IDs |
Implementation |
USBView |
Limitations |
Requirements |
History, Disclaimer, and Contact Information |
Document Revision History |
Disclaimer |
Contact Information |
AN232B-10 Advanced Driver Options |
Introduction |
CDM USB Serial Converter Properties Page |
CDM COM Port Advanced Properties Page |
Modification of INF Files for Non-Default VID and PID Values |
FTDIBUS.INF |
FTDIPORT.INF |
FTDIBUS.INF Options |
Adjusting the Reset Pipe Retry Count |
Using Location IDs |
Limiting the Number of COM Ports That Can Be Installed |
Override EEPROM Driver Setting |
Power Management Options |
USB Timeout |
Disable EEPROM Writes |
FTDIPORT.INF Options |
Aliasing Baud Rates |
Changing the Default USB Transfer Size |
Setting a Custom Default Latency Timer Value |
Enabling Modem Emulation Mode |
Buffered Writes |
Miscellaneous Options |
Timeouts |
Serial Enumerator |
Serial Printer |
Cancel If Power Off |
Event On Surprise Removal |
Set RTS On Close |
Disable Modem Ctrl At Startup |
System Options |
Ignore Hardware Serial Number |
Phantom Devices |
Foreign Language Support |
Co-Installer |
Renaming Driver Files |
Driver Pre-Installation |
DPInst Packages |
Uninstalling Drivers |
Revision History |
Disclaimer |
Contact Information |
Appendix |
FTDIBUS.INF |
FTDIPORT.INF |
Data Sheets |
Installation Guides |
Mac OS X Installation Guide |
Welcome to the Mac OS X Installation Guide |
VCP Drivers |
Installing VCP Drivers |
Uninstalling VCP Drivers |
D2XX Drivers |
Installing D2XX Drivers |
Uninstalling D2XX Drivers |
Multiple VIDs/PIDs |
Configuration Settings |
VCP Troubleshooting |
How do I know what my deviceID is? |
The device does not appear in the /dev directory or the text "New Port Detected" is not displayed in SystemPreferences-Network |
The device cannot be accessed even though the deviceID is supported in FTDIUSBSerialDriver |
How do I open a Terminal window? |
D2XX Troubleshooting |
I can't open a port even though the installation has been successful |
After running an application two or three times, communication stops |
Problems upgrading to the latest D2XX driver |
Revision History |
Windows CE Installation Guide |
Welcome to the Windows CE Installation Guide |
Installing FT2232C, FT232BM, FT245BM, FT8U232AM and FT8U245AM Devices |
Installing D2XX Drivers |
Installing VCP Drivers |
Troubleshooting |
"Unidentified USB Device" dialog is not displayed when device is connected for the first time |
"Error installing USB driver ftdi_d2xx.dll" message |
"Error installing USB driver ftdi_ser.dll" message |
"Unidentified USB Device" appears each time the driver name is entered |
Device can write but cannot read |
Bytes missing or data corrupt |
Driver isn't sending or receiving any data |
Revision History |
Windows XP Installation Guide |
Welcome to the Windows XP Installation Guide |
Installing FTDI Device Drivers |
Installing CDM Drivers |
Uninstalling FTDI Devices |
Uninstalling CDM Drivers |
Troubleshooting |
Windows XP cannot find drivers for my device |
Windows XP forces a reboot after installing a device |
Driver installation fails and Windows XP gives error code 10 |
FT232BM or FT245BM device hangs randomly during operation under Windows XP |
Windows XP displays an error and then terminates installation |
Revision History |
Contact Information |
Disclaimer |
Windows 2000 Installation Guide |
Welcome to the Windows 2000 Installation Guide |
Installing FTDI Device Drivers |
Installing CDM Drivers via the Found New Hardware Wizard |
Uninstalling FTDI Devices |
Uninstalling CDM Drivers |
Troubleshooting |
Windows 2000 cannot find drivers for my device |
Windows 2000 forces a reboot after installing a device |
Driver installation fails and Windows 2000 gives error code 10 |
FT232BM or FT245BM device hangs randomly during operation under Windows 2000 |
Revision History |
Contact Information |
Disclaimer |
Windows 98 Installation Guide |
Welcome to the Windows 98 Installation Guide |
Installing FT232BM, FT245BM, FT8U232AM and FT8U245AM Devices |
Installing D2XX Drivers |
Installing VCP Drivers |
Installing FT2232C Devices |
Installing D2XX Drivers |
Installing VCP Drivers |
Uninstalling FT232BM, FT245BM, FT8U232AM and FT8U245AM Devices |
Uninstalling D2XX Drivers |
Uninstalling VCP Drivers |
Uninstalling FT2232C Devices |
Uninstalling D2XX Drivers |
Uninstalling VCP Drivers |
Troubleshooting |
Windows 98 cannot find drivers for my device |
Windows 98 forces a reboot after installing a device |
Driver installation fails and Windows 98 gives error code 10 |
FT232BM or FT245BM device hangs randomly during operation under Windows 98 |
Windows 98 complains about missing .CAT files |
Windows 98 complains about missing ftccomms.vxd file |
Windows 98 installs FT2232C device as VCP even though D2XX drivers are selected in the EEPROM |
Revision History |
Programming Guides |
D2XX Programmer's Guide |
Welcome to the FTD2XX Programmer's Guide |
Classic Interface Functions |
FT_SetVIDPID |
FT_GetVIDPID |
FT_ListDevices |
FT_Open |
FT_OpenEx |
FT_Close |
FT_Read |
FT_Write |
FT_ResetDevice |
FT_SetBaudRate |
FT_SetDivisor |
FT_SetDataCharacteristics |
FT_SetFlowControl |
FT_SetDtr |
FT_ClrDtr |
FT_SetRts |
FT_ClrRts |
FT_GetModemStatus |
FT_SetChars |
FT_Purge |
FT_SetTimeouts |
FT_GetQueueStatus |
FT_SetBreakOn |
FT_SetBreakOff |
FT_GetStatus |
FT_SetEventNotification |
FT_IoCtl |
FT_SetWaitMask |
FT_WaitOnMask |
FT_GetDeviceInfo |
FT_SetResetPipeRetryCount |
FT_StopInTask |
FT_RestartInTask |
FT_ResetPort |
FT_CyclePort |
FT_CreateDeviceInfoList |
FT_GetDeviceInfoList |
FT_GetDeviceInfoDetail |
FT_GetDriverVersion |
FT_GetLibraryVersion |
FT_SetDeadmanTimeout |
EEPROM Programming Interface Functions |
FT_ReadEE |
FT_WriteEE |
FT_EraseEE |
FT_EE_Read |
FT_EE_ReadEx |
FT_EE_Program |
FT_EE_ProgramEx |
FT_EE_UARead |
FT_EE_UAWrite |
FT_EE_UASize |
Extended API Functions |
FT_GetLatencyTimer |
FT_SetLatencyTimer |
FT_GetBitMode |
FT_SetBitMode |
FT_SetUSBParameters |
FT-Win32 API Functions |
FT_W32_CreateFile |
FT_W32_CloseHandle |
FT_W32_ReadFile |
FT_W32_WriteFile |
FT_W32_GetLastError |
FT_W32_GetOverlappedResult |
FT_W32_ClearCommBreak |
FT_W32_ClearCommError |
FT_W32_EscapeCommFunction |
FT_W32_GetCommModemStatus |
FT_W32_GetCommState |
FT_W32_GetCommTimeouts |
FT_W32_PurgeComm |
FT_W32_SetCommBreak |
FT_W32_SetCommMask |
FT_W32_SetCommState |
FT_W32_SetCommTimeouts |
FT_W32_SetupComm |
FT_W32_WaitCommEvent |
Appendix |
Type Definitions |
FTD2XX.H |
FTCI2C Programmer's Guide |
Welcome to the FTCI2C Programmer's Guide |
I2C Interface Functions |
I2C_GetNumDevices |
I2C_GetDeviceNameLocID |
I2C_Open |
I2C_OpenEx |
I2C_Close |
I2C_InitDevice |
I2C_GetClock |
I2C_SetClock |
I2C_SetLoopback |
I2C_SetMode |
I2C_Write |
I2C_Read |
I2C_GetDllVersion |
I2C_GetErrorCodeString |
Appendix |
Type Definitions |
FTCI2C.H |
FTCJTAG Programmer's Guide |
Welcome to the FTCJTAG Programmer's Guide |
JTAG Interface Functions |
JTAG_GetNumDevices |
JTAG_GetDeviceNameLocID |
JTAG_Open |
JTAG_OpenEx |
JTAG_Close |
JTAG_InitDevice |
JTAG_GetClock |
JTAG_SetClock |
JTAG_SetLoopback |
JTAG_GetGPIOs |
JTAG_SetGPIOs |
JTAG_Write |
JTAG_Read |
JTAG_WriteRead |
JTAG_GenerateClockPulses |
JTAG_ClearCmdSequence |
JTAG_ClearDeviceCmdSequence |
JTAG_AddWriteCmd |
JTAG_AddDeviceWriteCmd |
JTAG_AddReadCmd |
JTAG_AddDeviceReadCmd |
JTAG_AddWriteReadCmd |
JTAG_AddDeviceWriteReadCmd |
JTAG_ExecuteCmdSequence |
JTAG_GetDllVersion |
JTAG_GetErrorCodeString |
Appendix |
Type Definitions |
FTCJTAG.H |
FTCSPI Programmer's Guide |
Welcome to the FTCSPI Programmer's Guide |
SPI Interface Functions |
SPI_GetNumDevices |
SPI_GetDeviceNameLocID |
SPI_Open |
SPI_OpenEx |
SPI_Close |
SPI_InitDevice |
SPI_GetClock |
SPI_SetClock |
SPI_SetLoopback |
SPI_GetGPIOs |
SPI_SetGPIOs |
SPI_Write |
SPI_Read |
SPI_ClearDeviceCmdSequence |
SPI_AddDeviceWriteCmd |
SPI_AddDeviceReadCmd |
SPI_ExecuteCmdSequence |
SPI_GetDllVersion |
SPI_GetErrorCodeString |
Appendix |
Type Definitions |
FTCSPI.H |
FTChipID Programmer's Guide |
Welcome to the FTChipID Programmer's Guide |
FTChipID Functions |
FTID_GetNumDevices |
FTID_GetDeviceSerialNumber |
FTID_GetDeviceDescription |
FTID_GetDeviceLocationID |
FTID_GetDeviceChipID |
FTID_GetChipIDFromHandle |
FTID_GetDllVersion |
FTID_GetErrorCodeString |
Appendix |
Type Definitions |
FTChipID.H |
Schematics |
Solder Profiles |
Utility Manuals |
MProg |
MProg Introduction |
Installing MProg |
Installing D2XX (CDM) Drivers |
MProg Basics |
Modes of Operation |
Edit Mode Functions |
Create a New EEPROM Template |
Modify an Existing EEPROM Template |
Device EEPROM Parameters |
Basic Details |
USB Power Options |
USB Serial Number Control |
USB Remote Wake Up |
Plug & Play (FT232 Series Only) |
BM/C Device Specific Options |
FT2232C Device Options |
FT232R Device Options |
FT245R Device Options |
FT2232D Device Options |
Product and Manufacturer Descriptor Strings |
Programming Options |
Program Mode Functions |
Scan for Devices |
Erase All Existing Devices |
Program All Existing Devices |
Cycle Device |
Read Devices |
Read and Parse Devices |
Appendix |
Customising FTDI's CDM Drivers |
Changing the FTDIBUS.INF File |
Changing the FTDIPORT.INF File |
Changing the CDM Uninstaller INI Files |
Uninstalling MProg |
VPROG |
VPROG VNC1L Reflasher |
VPROG VNC1L Reflasher Application |
VPROG VNC1L Reflasher Hardware Considerations |
Revision History |
Contact |
Disclaimer |
VPLAY |
VPLAY Application for VMUSIC |
VPLAY Application |
VPLAY Hardware Requirements |
Revision History |
Contact |
Disclaimer |
Drivers |
FT232R |
FT245R |
FT2232C |
FT232BM |
FT245BM |
FT8U232AM |
FT8U245AM |
FT8U100AX |
Technical Support |
General |
Is the FT2232C a replacement for the FT232BM and the FT245BM? |
Are lead free versions of FTDI devices available? |
Application Software |
General |
Why is my device not detected by FT_ListDevices when a device is connected? |
Is there a VCP Programmer's Guide? |
How do I open COM10 or higher under Windows XP? |
How can I open a port on the FT2232C using D2XX drivers? |
C++ Builder |
Why do I get a linker error? |
LabVIEW |
Why can't I run the FTDI LabVIEW examples? |
LabWindows/CVI |
Why doesn't my LabWindows/CVI project compile? |
Utilities |
MProg |
Why does MProg not detect my device? |
Where can I get MProg? |
Drivers |
General |
Can I use FTDI's VID for my own product? |
If I use FTDI's VID, will customers think my device is an FTDI device? |
Are there drivers for MS-DOS available? |
Are there drivers for Windows NT available? |
Why do I get a 30 second delay when booting with FT232/FT245 devices attached? |
Where can I find ports in the registry? |
Do FTDI distribute driver source code? |
Can I make FTDI devices appear as a different device class? |
How do I enable asynchronous vendor commands? |
How is the automatic serial number generated? |
What Baud rates are achieveable? |
Can I install VCP and D2XX drivers at the same time? |
Why does my mouse not work when I connect my FTDI based GPS unit? |
FT2232C |
Can I set individual descriptors for each channel? |
Can I use one port in VCP mode and the other in D2XX mode? |
Why can't I install VCP drivers for my FT2232C? |
Why can't I install D2XX drivers for my FT2232C? |
FT232BM |
Why can't I install D2XX drivers for my FT232BM under Windows XP? |
FT245BM |
Why can't I install D2XX drivers for my FT245BM under Windows XP? |
Hardware |
General |
PCB Layout |
How far can the USB connector be from the FTDI device? |
Can FTDI devices be powered in a "mixed" mode? |
What are the trace geometry requirements? |
Should the 27Ohm series resistors be located next to the IC or the USB connector? |
How long can my USB cable be? |
What does the 1.5kOhm resistor on the USB DP line do? |
Which oscillators/resonators are compatible with the reference designs? |
Why doesn't my crystal oscillate? |
Why doesn't my FT232BM/FT245BM work when connected to a USB 2.0 host controller or USB 2.0 hub? |
Why do I get repeated data when I read from the FT245BM? |
How can I tell if there is data available to read in the FT245BM? |
Which EEPROM should I choose for my design? |
How is the EEPROM data organised? |
When do FTDI devices read the EEPROM? |
Is there an IBIS model for FTDI devices? |
What are the packing, handling and storage instructions for FTDI devices? |
What is the material content of FTDI devices? |
Modules |
Why doesn't my DLP board power-up? |
The LEDs don't flash on my US232B cable. Is it broken? |