Electronic – arduino – Does the system COM port baud setting matter for Arduino

arduinoserialwindows

I have a custom arduino board that is basically like any ATMega328P based setup. I'm using the FTDI friend from Adafruit to communicate with it and when the drivers for it are installed you can see in Device Manager (Windows 7 SP1) that the baud rate is set to 9600.

However, in my Arduino sketch, I have the baud rate set to 115200 and I can communicate with it at that speed from a python script.

So, does the setting on the driver properties actually matter?

Main reason I'm trying to figure this out is that this is for a kit that will be sold and I want a setup that will work for anyone with the default driver install. I'm quite happy if it just works by whatever you set in software, but just wanted to be sure that this was the case.

Best Answer

I don't have a good reference for this but when you setup a serial port within Windows using the Win32 SetCommState API (which sets the baud rate among other things) it doesn't show the currently selected baud rate in the device manager. That is a low-level Win32 call that Python, .NET and other platforms will still be using for serial communications.

I believe the traditional reason for having the baud setting within the device driver was just as a default for applications that didn't specify it. An example that comes to mind is when serial printers were more common piping data from a file or a command-line application to a COM port was useful.

While presumably it still functions that way, which you could confirm by typing a command such as copy test.txt com1: after changing the device manager settings, all modern applications I've seen for quite some time tend to explicity set the baud rate and other settings. So in summary I don't think you have anything to worry about, 9600 seems to be the default setting for most serial device drivers but most applications override it anyway as they open the port.