Portenta X8 + Breakout Board - Serial Monitor Blank / UART0 Only Works with Serial1, Not Serial

Hi everyone,

I'm currently working with the Arduino Portenta X8 along with the Breakout Board, and I’ve run into a serial communication issue that I could really use some help with.

Problem Description:

When I connect the Portenta X8 via USB and try to open the Serial Monitor (e.g., in Arduino IDE or TeraTerm), I get no output at all—the screen stays completely blank, and no input is accepted either.

As a workaround, I connected a CP2102C USB-to-UART converter to the UART0 pins on the Breakout Board (connecting TX ↔ RX and RX ↔ TX), and now I can at least see the logs. However:

  1. The controller does not accept input from the terminal.
  2. Even though I’m using UART0, I have to use Serial1 to print messages. If I use Serial, nothing shows up.
  3. It feels like something is mismatched between the Serial object and the actual UART lines.

Here’s the simple code I’m testing with:

cpp

CopyEdit

#include <SerialRPC.h>

void setup() {
  Serial1.begin(115200);
  while (!Serial1); 
  Serial1.println("Enter a number:");
}

void loop() {
  if (Serial1.available()) {
    String input = Serial.readStringUntil('\n');
    input.trim();
    Serial1.print("You entered: ");
    Serial1.println(input);
  }
}

Questions:

  • Why does Serial1 work on UART0, but not Serial?
  • Why does input not work even though I can see output through the UART?
  • Is there something special I need to configure on Portenta X8 or Breakout Board to get full bidirectional UART working?

Here i've attached snapshot of my tera term screen:

Any insights, advice, or configuration tips would be highly appreciated!

Thanks in advance :folded_hands:

Could you show a screenshot with Serial Monitor window open?

Hi @b707,

  • The Arduino Serial Monitor will not open automatically when I upload code to the Portenta X8.

  • If I open it manually, it stays completely blank (I’ve attached the snapshot below).


    However, when I connect a CP2102C USB-to-UART converter to UART0 on the Breakout Board, I can see the logs in TeraTerm — but in that case, it will not accept any keyboard input.

    One more interesting thing:

  • If I switch from UART0 to UART2 (or any other UART), I get an error.

  • While looking into the core files (pins_arduino.h and Serial.cpp), I noticed that Serial is hardcoded to use UART1 and all other UART instances are blocked because of this line:

#define SERIAL_HOWMANY 1

This seems to limit the number of accessible hardware Serial instances. Because of that, any other UART besides UART1 isn’t usable through Serial.

Right now, I’m stuck on what’s the correct way to:

  1. Map Serial to the UART I want, or
  2. Increase SERIAL_HOWMANY so I can use more than one hardware UART — but those files are read-only, so I can’t just edit them directly.

Do you know if it’s safe to override this setting, or if there’s an official way to remap the Serial ports on the Portenta X8?

Thanks in advance!