Arduino Serial Monitor not displaying anything

Very new to Arduino. Been coding ESP32 chips mostly with ESP-IDF. Now using Qualia-ESP23-S3 with Arduino IDE 2.3.2 on Windows 11. This board has 1 USB-C port which I use to connect to port COM3. Uploaded the following sketch to the Qualia board:

String readString;

void setup() {
  Serial.begin(9600);
  Serial.println("serial test 0021"); // so I can keep track of what is loaded
}

void loop() {

  while (Serial.available()) {
    delay(2);  //delay to allow byte to arrive in input buffer
    char c = Serial.read();
    readString += c;
  }

  if (readString.length() >0) {
    Serial.println(readString);

    readString="";
  }
}

Code compiled and uploaded properly. Output window shows the following message:

Writing at 0x004354e5... (100 %)
Wrote 157728 bytes (101221 compressed) at 0x00410000 in 1.3 seconds (effective 964.9 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

But Serial monitor, which connects to port COM3 (the same port my board is connected to) does nothing at all.
Serial monitor Baud rate is set to 9600.
USB CDC on Boot is also Enabled.
Even if I enter a message in the input screen, it displays nothing at all.

I'm at a loss for how to proceed. Appreciate some help.

Did you click the Serial Monitor "spyglass" in the upper-right of the IDE?

Not sure what the purpose of the spyglass is. Pressing it simply takes the Serial Monitor away. Re-clicking it makes it reappear with the following:

15:04:15.106 -> ESP-ROM:esp32s3-20210327

Not sure what this is supposed to tell me. But when I write something in the Message area of the Serial Monitor, nothing appears as you'd expect to based on the sketch I uploaded.

1 Like

OK, I get that. But the Serial Monitor only displays a Message tab to enter messages in to send to the board, but doesn't display any output as expected. How do I fix that?

1 Like

Fix what? Did you open the Serial Monitor?

The issue isn't about not being able to open the serial monitor. It's that the serial monitor doesn't display any output from the attached dev board based on the sketch I have uploaded. I'd expect to be able to send a message to the board and for the serial monitor to display that message in it's output section. But it doesn't display anything besides the Message tab on top

I see output in the Serial Monitor, but my guess for the rest is Serial.available() is false.

Have you checked the Espressif forum?

Haven't look there.
THe only output in the serial monitor is

15:04:15.106 -> ESP-ROM:esp32s3-20210327

which I get when I click the Serial Monitor spy button in the top right of the IDE.

Even the following section from my sketch doesn't show anything in the Serial monitor. I'd expect the serial monitor to display "hello no serial" if the serial wasn't yet available:

  while(!Serial.available()) {
    Serial.println("hello no serial");
  }

Have you checked Espressif documentation?

https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/get-started/establish-serial-connection.html

Hi @karunt77. When I'm having trouble with serial output, I like to do a quick check with the most simple possible sketch. If this works, then I know the problem has something to do with my real sketch. If it doesn't work, then I know the problem is not related to my sketch code. It seems maybe a little silly, but it allows me to be sure I'm focusing my troubleshooting efforts in the right direction.

Try uploading this sketch to your Arduino board:

  1. Copy and paste this code as a new sketch in Arduino IDE:

    void setup() {
      Serial.begin(9600);
    }
    
    void loop() {
      Serial.println("hello");
      delay(1000);
    }
    
  2. Select Sketch > Upload from the Arduino IDE menus.
    Arduino IDE will start an upload operation.

  3. Wait for the upload to finish successfully.
    :exclamation: If it does not finish successfully, add a reply here on the forum thread to inform us of the failure and we'll investigate further.

  4. Select Tools > Serial Monitor from the Arduino IDE menus to open the Serial Monitor view if it is not already open.

  5. Make sure the baud rate menu at the top right corner of the Serial Monitor panel is set to "9600".

Do you now see the word "hello" being printed in the Serial Monitor's output field once a second?

@ptillisch Tried the simple code you provided. Compiled and uploaded correctly. But nothing gets printed to serial monitor. Here's a question - I've connected the Adafruit Qualia board using a USB cable to a USB port on my laptop. Is there any other connection I need to make or look out for? Is there a particular type of USB port on my laptop I need to connect the Qualia board to?

1 Like

Does your ESP have an built-in LED that can be "blinked" with this code?

byte ledPin = 13; // change 13 to your onboard LED pin
void setup() {
  pinMode(ledPin, OUTPUT);
}
void loop() {
  digitalwrite(ledPin, HIGH);
  delay(250);
  digitalwrite(ledPin, LOW);
  delay(500);
}

Unfortunately my board doesn’t come with a built in LED. Any other suggestions/options?

Ensure you have the right upload conditions told by Espressif:

USB CDC On Boot -> Enabled
Upload Mode -> UART0 / Hardware CDC

upload the code suggested in post #11 and

"After flashing for the first time, you need to manually reset the device."

1 Like

When I manually reset the board after uploading, the serial monitor fails to connect to the USB port altogether. How to resolve that then?

https://www.espressif.com/en/company/contact/

@xfpd This link leads to nowhere. Not sure what I'm supposed to do with it.

See the URL... then move your pointing device to find the link which suits your needs.

@xfpd No offense intended, but if I could have found a solution to my issue by browsing Espressif's entire website, I wouldn't have posted my question on this forum.