OK, now let's look at "native USB" boards. They are not drastically different than the USB-to-serial converter boards discussed previously. The key feature is that the main processor has a dedicated USB peripheral and therefore can be connected directly to the host PC's USB port. Since the USB peripheral is a part of the main processor itself, it is referred to as "native", i.e. it's "native" to the processor.
As before, the main processor is where the Arduino sketch is loaded and runs. This is also still done via a COM port. However that COM port is now provided by the main processor itself. The USB peripheral on the processor is usually* general purpose - it's not "just" a COM port. So to show up as a COM port on the host PC, as needed for uploading an Arduino sketch, properly running firmware is needed on the main processor.
But the most important thing to notice is...
The reset behavior is very different relative to a board with a USB-to-serial converter.
When the reset button on the Arduino board is pressed, this resets the main processor. Since that also resets the firmware that was presenting the native USB as a COM port, from the point of view of the host PC it looks like a USB disconnect followed by a reconnect. This is like unplugging the USB cable, waiting a second, then plugging it back in.
This happens with every new sketch upload, since the board is reset after the sketch is uploaded so the new sketch code will run.
Example Boards
Here are some example boards that have processors with native USB. The host PC's USB connection goes directly to the main processor.
Drawbacks
The main drawback relates to the reset behavior. Since pressing reset and/or uploading a new sketch resets the processor, it also resets the native USB peripheral and the host PC sees that as a disconnect. Different operating systems handle this in different ways. On Windows, for example, this can end up leading to alternating between two COM ports with each sketch upload.
Another drawback is the dependence on properly running firmware on the main processor for the COM port to be functional and show up on the host PC. Unfortunately, it is possible for a user sketch to interfere with this, which then prevents any new sketch uploads.
Text editor powered by tinymce.