Understanding com ports

(I hope this isn't too non-Arduino, but that the answer may be useful to other novices who run into problems connecting boards to PCs.)

I've just upgraded from a Nano to a Nano Every and from IDE v1.8 to v2.x
In the process, I've found that plugging the Nano into a USB port on my laptop, it comes up as COM3, where as if I plug the Nano Every into the same USB port, it comes up as COM8.
The brief bit of reading I've done on COM ports suggests they are physical connections. But if that's the case, why does a different board show up on a different COM port?

because the other board has a different port chip

The port number depends on your OS, USB connector number and sequence of plugging in the Arduinos. Multiple Nanos must use different ports, of course.

The IDE checks all COM ports for a response from an Arduino and indicates which type is found on which port.

Once upon a time communication ports were physical.
USB has changed physical to virtual ports. There is code that identifies the VID-PID of the external device, looks up that combination, and selects a unique software driver to emulate a serial port for Windows... all this is part of Microsoft's Plug 'n Play USB code.

Dig deeper here:
Plug and Play Manager - Windows drivers | Microsoft Learn

I am not an advocate for manually assigning ports, but you should be aware that it is possible:

how to assign static COM port number to a device - Microsoft Q&A

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.