Develop your own driver based on FTDI part 1

Hello everybody :)

We recently posted to you on the blog "Read out and change FTDI serial number"describes how to change and read out the serial number of an FT232R.

Today we want to go one step further and create our own driver for our projects. We use various FTDI tools for this.

ATTENTION: Flashing your FTDI adapter with the wrong settings may make it unusable for end users.

For today's project we need:

- FT232R chip (e.g. FTDI serial adapter, Arduino FTDI-Nano)

- FT_Prog software (https://www.ftdichip.com/Support/Utilities.htm#FT_PROG)

 

Now that we have downloaded and installed all the necessary components, we can start configuring and assembling the driver.

 

First we connect our FTDI chip to the computer. The driver is now automatically installed in the device manager by Windows via Windows Update. Windows should automatically create a Com-Port and it should look like this:

 

Now we start the FT_Prog software and first look for the connected FTDI chip.

 

The search is started with "Scan and Parse":

The connected FTDI chip is found and can now be edited:

Since we want to create our own driver, we now have to adjust and change a few more parameters.

To ensure that the chip can be recognized correctly, Windows checks the vendor ID and product ID and uses this information to find the drivers. If we now use any fantasy IDs, this can lead to license violations and driver problems. Officially, the VID and PID are awarded by the USB organization for expensive money. But since we just want to experiment with it, you can find different providers of free VIDs and PIDs on the Internet or you can register for them. Therefore here again the note, only use IDs that you are allowed to use and you are sure that this works!

We use for our driver VOTI  IDs.

The PID 5824 (0x16C0) can be used with these VIDs: 1000 - 1009

So we have 10 different PID / VID combinations that should be sufficient to start with.

Now for the configuration of the FTDI chip:

We change the vendor ID from 0403 to 1000 and the product ID 6001 to 5824. We find this under the item "USB Device Descriptor".

In addition, we can also adjust the manufacturer and the product description under "USB String Descriptors". For example, "Florians Device" can appear here ...

Once we have entered all the changes, we can transfer the settings to the FTDI chip by clicking on "Scan and Parse".

The following overview summarizes all the information again and starts the flash process by clicking on Program:

A few seconds later, the successful flashing is shown in the status bar:

If we remove the chip from the computer and connect it again, it will be recognized as a new device in the device manager and will be titled "Florians Device":

If we now read the hardware information, we get our PID and VID:

Now we are sure that the flash process of the FTDI chip was successful.

Tomorrow in part 2 we will show you how we can use this chip again and put together a driver.

Have fun experimenting and see you tomorrow ...

Basics software

Leave a comment

All comments are moderated before being published

Recommended blog posts

  1. Install ESP32 now from the board manager
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA - Over the Air - ESP programming via WLAN