FTDI Basic Quick Start Guide

The FTDI Basic makes USB communication with a microcontroller or serial device a snap. The chip on the board translates the serial data coming from a device into USB data and vice-versa. It is widely used to upload firmware to the Arduino Pro Mini, but it can communicate with any serial-enabled device. For a quick tutorial on basic serial connections see our Mini TX and RX Signals Tutorial.

If you plug in your FTDI basic right out of the box, your computer will not immediately recognize it. In order to function with a terminal program, the FTDI requires special device drivers. The drivers for various operating systems can be found on the FTDI website. The particular driver one needs is Virtual COM Port, or VCP. It allows the USB device to appear as a COM port to be used with a terminal.

Once you've installed the driver, the device will appear as “USB Serial Port” under the device manager when connected.

The FTDI Device is "USB Serial Port (COM 12)"

The device is now configured, but now we need a computer-side program that will allow us to send and receive characters to and from the device. The Arduino IDE includes a terminal utility, and there are also standalone terminal programs such as TeraTerm. For an example, we'll use the Arduino IDE to program and communicate with an Arduino Pro Mini.The pins on the FTDI board are arranged to connect directly to the programming pins on the Arduino. To connect the devices, you can wire them together, solder male headers to the Arduino, or connect a male header to the FTDI female header and just hold the header pins in the Arduino. With light pressure, the pins will make enough of a connection to properly program the device

Once the hardware is connected, open the Arduino IDE. Click on Tools->Serial Port and select the COM port of the FTDI device (it's usually the last one on the list). Once that's done, you can open this sketch that demonstrates a simple serial connection. Make sure the Arduino is connected to the FTDI board, and click the upload button. The IDE will compile the code, and then upload it to the board. When the upload is in progress, the two LED's on the FTDI board will blink, indicating that data is being sent on the TX and RX lines. When finished, the Arduino IDE will print “Done Uploading”. Now, with the board still attached, click Tools->Serial Monitor to open the Terminal window. Make sure the box at the bottom right hand corner says “9600 baud”. Opening the terminal will automatically reset the Arduino, and it should print “Hello World!”. After that it will echo any characters typed.

This kind of connection can be used on any serial-enabled device that one wants to communicate with over USB. Connect the TX, RX, and Ground lines from the FTDI board to the device (as shown in the example schematic below), power the device, and open a terminal.

It's usually that easy. However, there are a few things to watch out for:

  • Always connect the TX line on the FTDI board to the RX line of the device, and vice-versa. A common mistake for beginners is to connect TX to TX. This will not work.
  • The 5 volts coming from the USB cable is only spec'd to deliver about 100mA, anything higher than this can burn out the USB controller, so don't try to power a toaster with your FTDI board!
  • Some terminal programs can only connect to devices up to COM4, but the FTDI might initialize on COM12. To change the COM port (in Windows). Click on the USB Serial Port in the Windows Device Manager, click the “Port Settings” tab, click “Advanced” and then change the COM port number using the drop-down menu. Remember, only one device can be on a COM port at a time.
  • Only one program can connect to a COM port at a time. For example, if a terminal program is connected while you're trying to upload firmware to the same COM port, the uploader will throw an error. Disconnect the terminal program and then upload.

Happy Hacking!

Comments 3 comments