What makes the Serial Monitor work?

Hello!

I have a general question to help me understand the Serial Monitor access under IDE 2.3.4 (or older versions too, if it matters for this request for guidance).

Running the IDE 2.3.4 under Ubuntu 24.10. Comfortable with the directed access to the Arduino devices via USB connections but, as mentioned above, Serial Monitor is a hit or miss more often than not. Done the basic checks regarding "baud rate" settings, but no luck in obtaining any consistent display. The forum threads that Search returned do not apply to my issue.

I experience quite a bit of challenge in obtaining any output in the Serial Monitor window, even though the sketches appear to be working (assumption based on flipping LEDs at timed intervals). Of course, Serial Plotter is missing in action too. I have cycled off/on the specific USB port but to no avail.

What are the basic preparatory steps to ensure that the Serial Monitor will display output repeatedly (and regularly)? Thanks.

Regards.

P.S.
USB Viewer displays the following properties for the port. It is beyond my job grade to understand all this except to state that USB Viewer lists this port in red color as a line item under xHCI Host Controller -> USB2.1 Hub -> USB 2.1 Hub -> USB JTAG/serial debug unit:
USB JTAG/serial debug unit
Manufacturer: Espressif
Serial Number: 54:32:04:0B:2C:4C
Speed: 12Mb/s (full)
Bus: 1
Address: 35
USB Version: 2.00
Device Class: ef
Device Subclass: 02
Device Protocol: 01
Maximum Default Endpoint Size: 64
Number of Configurations: 1
Vendor Id: 303a
Product Id: 1001
Revision Number: 01.02

Config Number: 1
Number of Interfaces: 3
Attributes: c0
MaxPower Needed: 500mA

Interface Number: 0
	Name: cdc_acm
	Alternate Number: 0
	Class: 02
	Sub Class: 02
	Protocol: 00
	Number of Endpoints: 1

		Endpoint Address: 82
		Direction: in
		Attribute: 3
		Type: Interrupt
		Max Packet Size: 64
		Interval: 1ms

Interface Number: 1
	Name: cdc_acm
	Alternate Number: 0
	Class: 0a
	Sub Class: 02
	Protocol: 00
	Number of Endpoints: 2

		Endpoint Address: 01
		Direction: out
		Attribute: 2
		Type: Bulk
		Max Packet Size: 64
		Interval: 0ms

		Endpoint Address: 81
		Direction: in
		Attribute: 2
		Type: Bulk
		Max Packet Size: 64
		Interval: 0ms

Interface Number: 2
	Name: (none)
	Alternate Number: 0
	Class: ff
	Sub Class: ff
	Protocol: 01
	Number of Endpoints: 2

		Endpoint Address: 02
		Direction: out
		Attribute: 2
		Type: Bulk
		Max Packet Size: 64
		Interval: 0ms

		Endpoint Address: 83
		Direction: in
		Attribute: 2
		Type: Bulk
		Max Packet Size: 64
		Interval: 0ms
  • use Serial.begin() in setup() with a sensible baud rate. I use 115200 but you decide
  • when you open the Serial monitor select the baud rate to match what you used in Serial,begin()
  • use Serial.print(), Serrial.println() or Serial.write() when you want to print something to the Serial monitor

If the IDE has managed to upload the sketch then the Serial monitor should just work. I an a Windows user so cannot offer any advice on using Ubuntu but the principles are the same. However, I don't like the sound of

Thanks, @UKHeliBob!

Which makes me suspect that you're not using IDE 2.3.4. I might be wrong but what is shown in the title bar of the IDE? 2.3.4 or 2.something?

Hello @sterretje,

Thanks for your reply.

The Title Bar displays (unedited) "voltage_read | Arduino IDE 2.3.4" where voltage_read is the name of the Arduino sketch.

The fact the sketches can be uploaded without error messages, but the Serial Monitor fails to display, may be apparent to more experienced users than myself - perhaps to more astute users as well. The sketch is loading, i.e. desktop connects to the board, but the "libraries" that are initialized in the sketch are not initializing the serial connection correctly.

My specific sketch does not have any include statements. I included "Wire.h" but that statement didn't make a difference.

Thank you again.

Regards.

FWIW:

  • The AppImage (Linux) was upgraded by the previous version through a pop-up notification display. The current name is arduino-ide_2.3.4_Linux_64bit.AppImage. The CLI version is 1.1.1. The date is 2024012-03T10:51:12.539Z.
  • The board is ESP32-C6 (DFRobot Firebeetle) and I don't have to tell others how poor the support from DFRobot has been since this board costs less than $6.
  • I've known, at least that is what I think, how to get Serial Monitor/Plotter working since 2009.
  • I'd prefer not to, unless expressly told by Arduino that I have to, revert to IDE 1.x to work on ESP32-C6 sketches. I'm not using the debugging features but find the easy management of diverse boards and libraries very helpful.

I suggest that you post your sketch and try this one

void setup()
{
    Serial.begin(115200);
}

void loop()
{
    static byte count = 0;
    Serial.println(count++);
    delay(1000);
}

I think this is all u want to understand?

Hello @UKHeliBob! Thanks your reply again.

Please do not misunderstand me. I've been using Serial Monitor since 2009. The issue is with the ESP32-C6 board (specifically the one from DFRobot called Firebeetle). In my cryptic plea for help, I left out these essential details.

Something in the ESP32-C6 fails to initialize that sends the Serial Monitor AWOL. I'm going to use other genuine Arduino boards with IDE 2.3.4 to ensure a firm footing for my request for help.

Regards.

Hello @flyex10!

You made me smile!!! :grinning: Since it is raining outside, your note cheered me up!

Thanks.
P.S.
Yessir, I'm from the old school of RT()M.

thanks

Now I prefer that you select one of the above posts on the topic as the solution of your question :grinning:

OK, my suspicion was wrong. Old versions of the IDE in the package manager did not have a serial plotter.

There should be a setting USB CDC on boot in the tools menu. Is it enabled? If not, enable it.

PS
Not sure what you mean by "Serial plotter missing in action".

1 Like

Hello @sterretje!

You taught an old dog a new trick. Also, taught me to stay current with Arduino. Many, many thanks!

Regards.

Note that that option is not available for every board.

@sterretje,

Understood. Thanks for the heads-up. Need to stay current with Arduino and not let the usage get stale.

Regards.

P.S.
For a moment, I thought Ubuntu had done something with their UDEV experiments.