Force FTDI FT232 USB to serial converters to use a single Windows COM port

Posted on Wednesday, April 13th, 2016 in idle by DP

Ever notice that each new FT232 inserted into each USB port is assigned a unique COM port number under Windows? When we’re developing hardware with lots of prototypes flying around Windows quickly hits COM 100. Each FT232 has a unique serial number and the driver creates a new COM port for each by default.

FTDI has a quick knowledge base item  about editing a registry key to disable this and stick with a single COM number.

“For a default FTDI device ID (VID 0x0403, PID 0x6001), add the following registry REG_BINARY value set to 01:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags\IgnoreHWSerNum04036001 ”

It’s not difficult to do, but it is impossible to find with Bing* so we’re posting it here for reference.

*Bing is the most reachable English search engine in China at the moment, though reachable doesn’t infer quality search results.

This entry was posted on Wednesday, April 13th, 2016 at 4:59 pm and is filed under idle. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

6 Responses to “Force FTDI FT232 USB to serial converters to use a single Windows COM port”

  1. Vlad says:

    What if you need to use multiple devices at the same time, wouldn’t this cause a conflict ?

    Even if you have the same device but you change the usb port sometimes it gives you a new com port. Anyway nice trick, thanks

    • Andrew says:

      This work around assigns a com port per physical USB slot. So the same device type will have the same com port for each USB port on your computer.

  2. kaspar says:

    Have you tried Startpage ? It has Google results without the tracking and might not be blocked in China.

  3. J. Peterson says:

    Thanks for digging this up. If you already have additional ports piled up, Here’s the recipe for getting rid of the spurious ones. (Note this answer is from Windows 7, I’m assuming it still works on Win 8/10).

  4. drojf says:

    I’ve had to deal with this same problem at work, so here’s what I know:

    FTDI actually has a utility to help you edit the registry. You MUST run it as ADMINISTRATOR, or it won’t work! . They also recommend you apply the fix before installing the driver.

    J. Peterson’s example works for a few com ports, but if you want to remove them in bulk instead of one at a time, there is Microsoft utility called “devcon”. You can define a pattern of devices to remove (be careful!):

    devcon status *VID_0403* //check what you’re removing
    devcon /r remove *VID_0403* //remove all FTDI devices (all devices with usb VID = 0403)

    Devcon download link (as part of windows driver kit) devcon.exe is a standalone program, but unfortunately Microsoft doesn’t provide a download link to just that executable – you need to download the whole package.

    Microsoft example of removing device using a pattern

    Finally, you can program an FTDI chip using FTProg, to “hide” its serial number from the computer. I wouldn’t recommend doing this, as ALL your chips will appear identically to the computer, but there may be some use case for it (for example, your customers may also have 100’s of these devices, and you want them all to behave the same without installing additional software). See section 5.4 of AN_124 . Untick the “Serial number enabled” checkbox in FTProg.

    If you’re having lots of problems setting up your environment, I would recommend downloading Microsoft’s free virtual machines and installing your setup there, making a volume snapshots/save states as you go along. Then you always have a production ready setup at all times, simply by restoring the virtual machine. I use Virtualbox – you can setup Virtualbox to automatically pass through FTDI devices to the VM. Make sure to enable USB 2.0 if you’re running at high speed.

  5. Adrian says:

    Didn’t work for me with a non-FTDI CDC serial USB device on Windows 10. But adding IgnoreHwSerNum registry key within the device specific registry folder did the trick.

    Documented by Microsoft here:

Leave a Reply

Notify me of followup comments via e-mail. You can also subscribe without commenting.

Recent Comments

  • KH: Kerry Wong has big brass balls. Bundles of large cells wrapped in cardboard, placed in what, a wooden frame? Terminals pushing 100A. He thinks: "But...
  • Clive: Yes please!!
  • Daniel: Let's try again...
  • David: Please!
  • mike: 1st timer