Serial Monitor Baud Rate Stuck at 9600 baud

Hello folks!
I am running into an issue that I cannot figure out. I have searched the forums, but haven't been able to find anything.

Yesterday I started setting up a new development board for some testing (an STM-32 Nucleo-64) and realized that I wasnt able to change the serial monitor's baud rate. The example code I am using call for 115200 but when I try to use the drop down menu for baud, i am unable to select anything else. I have reinstalled Arduino IDE (Version 2.0.2) but havent had any luck.

Does anyone have any idea what this might be? Im pulling my damn hair out trying to figure this out.

Thanks for any input!

1 Like

Hi @conrad-dundorf

Please provide more details about what you mean by this.

Is the baudrate menu missing from Serial Monitor entirely?

Or is the menu present, but 115200 is missing from the menu?

Or is 115200 present on the menu, but when you click on it the menu selection doesn't change?

Or ...???

Thanks for the response!

It is the last situation that you mentioned. Every baud rate option is visible, and when I mouse over any of them, there is even the highlight applied to the line-item, but when I click on anything, there is no change.

I was just doing some testing, and if I unplug the development board from its USB port and then click on a different baud rate, after reconnecting the dev board that change is reflected. However, even when selecting a different baud rate with the device disconnected, the change is only visible after reconnection, not after initial selection.

I hope that makes sense. Let me know if you want me to explain anything better or do a screen recording.

Thank you for your help

1 Like

I'm having the same issue. I'm interested in finding out the solution. I have been working on a Raspberry Pi where the sketch and board worked perfectly, but when I switched over to a machine running the most up to date version of Linux Mint, as well as the most up to date version of the Arduino IDE 2.xx, I'm unable to switch to other baud rate besides 9600. I read your post and tried unplugging the board, changing the baud rate, and then plugging it back in, which did eventually show the baud rate of 115200, but even though I could see my ESP8266 plugging along through it's sketch, turning on relays, etc., no information was coming through on the serial monitor. I like the 2.xx IDE better than the 1.xx, but mostly because the Library manager is so much faster. I wonder if I'll need to go back to the legacy IDE.

I am getting different results than those described.
I have a sketch that I have been using at 9600 baud, because: habit.
I changed the Serial.begin(9600); in my sketch to Serial.begin(115200);.
I uploaded the program and then the Serial Monitor connected and worked as expected, without changing anything on the IDE Serial Monitor program.
I'm not sure, maybe @ptillisch knows if this is a new feature, automatic serial rate recognition and configuration by IDE 2.0. Because that is what it looks like to me.
This very thing was, some while back, a serious source of frustration to me when I had my Arduino programmed to 115200 (from a sketch I typed in) and IDE 1.8.x on 9600, and nothing worked right. How to fix that is so clear in retrospect but was an intense frustration at the time.

  • Wes

Hi @weshowe. Which Arduino board are you using?

It was a Teensy 4.1. I have delved a little deeper into this, and when connected to the Teensy pins, the serial port simply works, at whatever baud you set it to in your sketch. When you are connected on the teensy ports, there is no drop-down to specify a baud rate.
My preliminary notes on this using the regular "COM4" port is that in order to actually make a speed change work, after uploading your new program, you have to disconnect the device and then reconnect it. It appears that as long as a connection is established, the serial monitor ignores the drop down change requested.
I am not sure what the expected behavior is, and it may be working as designed. However, to finalize a baud rate change, it seems you have to unplug and replug to make it happen.

  • Wes

The baud rate is irrelevant for the boards such as the Teensy that use a USB CDC serial port to communicate between the primary microcontroller and the computer. With those boards, the baud rate argument passed to the Serial.begin call and the baud rate menu in the Serial Monitor when a serial protocol port are not used for anything. The primary microcontroller is communicating directly via USB with the computer, so no actual UART communication that would require the two to have a predetermined baud rate ever occurs.

This is different from the boards such as the Uno, Mega, classic Nano, Nano Every, etc. that have a separate USB chip from the primary microcontroller. On those boards, it is essential that the sketch program and Serial Monitor be configured to use the same baud rate. The reason is that, even though the communication between the computer and the USB chip is still done via USB, the communication between the USB chip and the primary microcontroller on the board is really UART, so must be done at the correct baud rate.

This is because the teensy-monitor pluggable monitor tool created by Paul Stoffregen does not have a baud rate configuration parameter. The reason for that is that, unlike Arduino's serial-monitor pluggable discovery tool, which must support both types of board, teensy-monitor is only used with boards that communicate directly with the computer via USB, so there is never any need to set a baud rate.

Thanks for the clarification.

Which operating system are you using (e.g., "Windows")?

I ask because I would like to request you to provide some additional information and I want to give you the appropriate instructions for your operating system.

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