Multiple Arduino Uno use same COM port on Windows 10

I have multiple (3) Arduino Uno connected to same Windows 10 PC. The boards are made in Italy, come in a box with a transparent piece of plastic attached to them. Device Manager shows 2 of them use same COM port and 3rd one is on a different port.

To make things even more weird, I had two boards straight out of the box, they both initially were assigned COM3 and 3rd board that I used before was using COM4. After loading same sketch from old board to both new boards and disconnecting and reconnecting them few times, one new board got its COM port swapped with the old board, so now I have old board and one new board on COM3 and second new board on COM4.

Windows 8.1 assigns all boards different COM ports. I disconnected any board from the PC and connected through a hub, same COM port that disappeared reappeared when the board was reconnected.

I have seen this issue only with 'italian' Arduino UNO. I have few Arduino UNO R3 made by Inland, I haven't seen anything like this COM issue with them.

Anyone else experienced same problems? What could be a workaround? Replacing Windows 10 is not an option...

I did have this problem once. It just appeared out of nowhere.

You can assign the board to a new COM port:

  • Open Windows Device Manager
  • Plug in one of the problematic boards. It should now appear in the device tree under "Ports (COM & LPT).
  • Double click on the board's device tree item.
  • Click the "Port Settings" tab.
  • Click the "Advanced" button.
  • From the "COM port number" dropdown menu, select an new unused port.
  • Click the "OK" button.
  • Click the "OK" button.
  • Now plug in the other problematic board. It should show up on a different COM port from the one you just configured.
  • Close Device Manager.

After doing this, I sometimes have needed to restart the computer before I can use the device on the reassigned port.

The problem is in Windows 10 serial USB driver, and is not specific to Arduino. Same issue was seen with MCP2221 serial/USB chip.

This is the usual sequence to reassign the port. However, it needs to be done each time when Windows decides to pile all devices up on single COM port again.

By default MCP2221 was assigned to COM3, and at same time there was already an Arduino on COM3. So I moved MCP2221 to COM10. So far so good. When I moved MCP2221 to a different USB port, it again ended up using COM3. When I moved the MCP2221 back to the previous USB port, it used COM10 again.