# UNO Q Serial Monitor, strange output

**URL:** <https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225>\
**Category:** UNO Q\
**Created:** [February 5, 2026, 1:14pm UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225 "2026-02-05T13:14:48Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![legoexpert2011](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/legoexpert2011/32/1126685_2.png) [@legoexpert2011](https://forum.arduino.cc/u/legoexpert2011)\
**Post date:** [February 5, 2026, 1:14pm UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/1 "2026-02-05T13:14:48Z")

</div>

Experienced strange output in a complex motor controller sketch. So I wrote the following sketch to see what happens. Same garbled output.

```arduino
#include "Arduino_RouterBridge.h"
int a = 0;
int b = 1;

void setup() {
  // put your setup code here, to run once:
  Monitor.begin();
}

void loop() {
  // put your main code here, to run repeatedly:
  Monitor.print("a = ");
  Monitor.println(a);
  Monitor.print("b = ");
  Monitor.println(b);  
  Monitor.print("a + b = ");
  Monitor.println(a+b);  
  a += 1;
  b += 1;
  delay(1000);
}

```

Screenshot Output in AppLab:

 ![ScreenShotCalculations1](https://europe1.discourse-cdn.com/arduino/original/4X/5/b/5/5b5c169df144bc4a4ad31930e9134f7ef8bc601d.jpeg)  
Screenshot Output in Arduino IDE:  
 ![ScreenShotCalculationsIDE](https://europe1.discourse-cdn.com/arduino/original/4X/6/8/9/689de155f78e1268e5aab6052bee63c94aa859ca.jpeg)

Any idea, what's wrong

---

<div class="post-metadata">

**Author:** ![extender777](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/extender777/32/1244470_2.png) [@extender777](https://forum.arduino.cc/u/extender777)\
**Post date:** [February 5, 2026, 1:43pm UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/2 "2026-02-05T13:43:33Z")

</div>

If you upload your sketch by Arduino IDE, output will be perfect

---

<div class="post-metadata">

**Author:** ![legoexpert2011](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/legoexpert2011/32/1126685_2.png) [@legoexpert2011](https://forum.arduino.cc/u/legoexpert2011)\
**Post date:** [February 5, 2026, 4:52pm UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/4 "2026-02-05T16:52:20Z")

</div>

Unfortunately not, see screenshot above. Did you use Serial.println()?

---

<div class="post-metadata">

**Author:** ![GolamMostafa](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/golammostafa/32/239011_2.png) [@GolamMostafa](https://forum.arduino.cc/u/GolamMostafa)\
**Post date:** [February 5, 2026, 4:58pm UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/5 "2026-02-05T16:58:49Z")

</div>

> [@legoexpert2011](#):
>
> ```arduino
> void setup() {
> // put your setup code here, to run once:
> Monitor.begin();
> }
> 
> ```

Why not `Bridge.begin();` code?

Message/data from MCU goes to MPU through router bridge and then goes to Console\>\>python over the USB-C/USB-A connector.

---

<div class="post-metadata">

**Author:** ![legoexpert2011](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/legoexpert2011/32/1126685_2.png) [@legoexpert2011](https://forum.arduino.cc/u/legoexpert2011)\
**Post date:** [February 5, 2026, 5:28pm UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/6 "2026-02-05T17:28:30Z")

</div>

I wanted to port a more complex sketch for motor controller from Uno to Uno Q.  
This is only a test for calculations and output in the Serial Monitor.  
Bridge.begin() alone did not change the situation with wrong end of line commands.  
I will try data relay to Python and output in the shell later.

---

<div class="post-metadata">

**Author:** ![legoexpert2011](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/legoexpert2011/32/1126685_2.png) [@legoexpert2011](https://forum.arduino.cc/u/legoexpert2011)\
**Post date:** [February 5, 2026, 5:29pm UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/7 "2026-02-05T17:29:17Z")

</div>

And I will try SBC mode.

---

<div class="post-metadata">

**Author:** ![GolamMostafa](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/golammostafa/32/239011_2.png) [@GolamMostafa](https://forum.arduino.cc/u/GolamMostafa)\
**Post date:** [February 5, 2026, 5:30pm UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/8 "2026-02-05T17:30:52Z")

</div>

Follow SSS (start with Small Step) Strategy to see success!

---

<div class="post-metadata">

**Author:** ![ptillisch](https://avatars.discourse-cdn.com/v4/letter/p/ad7895/32.png) [@ptillisch](https://forum.arduino.cc/u/ptillisch)\
**Post date:** [February 5, 2026, 6:02pm UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/9 "2026-02-05T18:02:39Z")

</div>

Hi @legoexpert2011. I think you are encountering this bug:

> <https://github.com/arduino-libraries/Arduino_RouterBridge/issues/52>
>
> \### Describe the problem
> 
> When a sketch transmits data via the \`Monitor\` object,… the messages arrive out of order and with incorrectly placed line breaks.
> 
> \### To reproduce
> 
> 1. Create the following sketch:
> \`\`\`cpp
> #include \<Arduino\_RouterBridge.h\>
>    
> void setup() {
> Monitor.begin();
> }
>    
> void loop() {
> Monitor.print("Reading 1: ");
> Monitor.println(1234);
> Monitor.print("Reading 2: ");
> Monitor.println(4567);
> delay(500);
> }
> \`\`\`
> 1. Upload the sketch to an UNO Q board.
> 1. Open Serial Monitor.
> 
> 🐛 The output from the sketch is not as expected:
> 
> \`\`\`text
> Reading 1: 1234Reading 2: 4567
> 1234Reading 2: 4567
> Reading 1: 
> 
> Reading 2: 4567Reading 1: 1234
> 
> Reading 2: 4567Reading 1: 1234
> 
> Reading 2: 45671234Reading 1: 
> Reading 2: 4567
> 1234Reading 1: 1234Reading 2: 
> Reading 1: 4567
> Reading 1: 
> 
> 1234Reading 2: 4567
> Reading 2: 4567Reading 1: 1234
> Reading 1: 
> 1234Reading 2: 4567
> 
> \[...\]
> \`\`\`
> 
> \### Expected behavior
> 
> Output is received in order:
> 
> \`\`\`text
> Reading 1: 1234
> Reading 2: 4567
> Reading 1: 1234
> Reading 2: 4567
> Reading 1: 1234
> Reading 2: 4567
> Reading 1: 1234
> Reading 2: 4567
> 
> \[...\]
> \`\`\`
> 
> \### Arduino\_RouterBridge version
> 
> 0.3.0
> 
> \### Additional context
> 
> We are seeing a spike of reports over the course of last few days. This seems to correlate with recent releases
> 
> \- "\*\*Arduino UNO Q Board\*\*" platform (\`arduino:zephyr\`) version 0.53.0
> \- Arduino App Bricks version 0.6.4
> 
> \---
> 
> Originally reported at:
> https://forum.arduino.cc/t/why-an-update-messed-up-monitor-print/1427515
> 
> Note this:
> 
> \> I had my first simple sketch working then updated with a new patch for the MCU. Now the print formatting using Monitor is all over the place
> 
> \#### Additional reports
> 
> \- https://forum.arduino.cc/t/zephyr-wish-there-was-standard-way-to-speed-up-spi-operations/1426772/3
> \- https://forum.arduino.cc/t/arduino-uno-q-serial-monitor-broken/1427596
> - They reported the following result from rolling back their \`arduino:zephyr\` installation to 0.52.0:
> \> Working fine in Arduino App Lab
>   
> \- https://forum.arduino.cc/t/uno-q-monitor-garbled/1427874
> \> I uploaded extensive code, monitor worked GREAT. Flawless!!
> \> Then I downloaded app lab, set up the linux side.
> \> No apps are running. Yet, monitor is now completely garbled
> \- https://github.com/arduino/ArduinoCore-zephyr/issues/322#issuecomment-3816480239
> \- https://forum.arduino.cc/t/stable-multiprocessing-readme/1427828/53

The developers are working on a fix:

> <https://github.com/arduino/arduino-router/pull/27>
>
> \### Motivation
> 
> We were exploiting too much parallelism; every RPC command was… concurrently executed, which led to out of order message for the same rpc call.
> 
> Instead, we should serialize all the requests for the same rpc call. Concurrent requests by multiple parties will not guarantee an ordering, but at least all the requests from the same party will be locally ordered.
> 
> 
> \### Change description
> 
> The proposed implementation uses a fixed number of concurrent worker and the requests will be distributed enforcing that the same RPC request is always sent to the same worker. The change also permits customizing the distribution by a key, that allow to handler tcp request for different sockets in parallel.
> 
> \### Additional Notes
> 
> \- https://github.com/arduino-libraries/Arduino\_RouterBridge/issues/52
> 
> \### Reviewer checklist
> 
> \- \[\] PR addresses a single concern.
> \- \[\] PR title and description are properly filled.
> \- \[\] Changes will be merged in \`main\`.
> \- \[\] Changes are covered by tests.
> \- \[\] Logging is meaningful in case of troubleshooting.

If you have a [**GitHub**](https://github.com/) account, you can subscribe to that thread to get [notifications](https://docs.github.com/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications) of any new developments related to this subject:

 ![screenshot of Subscribe button](https://europe1.discourse-cdn.com/arduino/original/4X/9/c/5/9c5eac15a84288b3eb990b7234c9149fbeb5d142.png)

---

<div class="post-metadata">

**Author:** ![legoexpert2011](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/legoexpert2011/32/1126685_2.png) [@legoexpert2011](https://forum.arduino.cc/u/legoexpert2011)\
**Post date:** [February 6, 2026, 7:26am UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/10 "2026-02-06T07:26:00Z")

</div>

Thanks, I subscribed

---

<div class="post-metadata">

**Author:** ![thweight](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/thweight/32/1254985_2.png) [@thweight](https://forum.arduino.cc/u/thweight)\
**Post date:** [February 7, 2026, 11:45pm UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/11 "2026-02-07T23:45:40Z")

</div>

I also had lots of issues with printing out results. Here is what worked for me:

```arduino
void setup() {
  Monitor.begin();
  delay(1000);

}

```

Give Monitor a chance to get its act together.

Get rid of the println’s since they don’t appear to work.

Use this instead:

```arduino
    Monitor.print(" ****************** \n");
    Monitor.flush();

```

Get rid of all ambiguity to avoid shuffling outputs as follows: Compose your string, then print it out.

```arduino
    String tm_out = "Elapsed time = " + tm_elt + "\n end loop\n";
    Monitor.print(tm_out);

```

instead of something like:

```arduino
Monitor.print("Elapsed time = ")
Monitor.println(tm_elt)
Monitor.println(" end loop")

```

Good luck.

---

<div class="post-metadata">

**Author:** ![legoexpert2011](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/legoexpert2011/32/1126685_2.png) [@legoexpert2011](https://forum.arduino.cc/u/legoexpert2011)\
**Post date:** [February 8, 2026, 10:31am UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/12 "2026-02-08T10:31:48Z")

</div>

Thanks for your support.  
Unfortunately, the line feed with "\n" did not work. See photo

 ![20260208screenShot_output](https://europe1.discourse-cdn.com/arduino/original/4X/4/9/a/49a3a7b928db323b3ae166904bb21a87c1045d9d.jpeg)

And here the code snippet:

```arduino
  printout = "Code = " + String(code) + "\n";
  Monitor.print(printout);
  delay(500);
  Monitor.flush();
  int forward = int(code/1000);
  printout = "forward = " + String(forward) + "\n";
  Monitor.print(printout);
  delay(500);
  Monitor.flush();
  int curve = int((code-1000*forward)/10);
  printout = "curve = " + String(curve) + "\n";
  Monitor.print(printout);
  delay(500);
  Monitor.flush();
  int button = int((code-1000*forward) - 10* curve);
  printout = "button = " + String(button) + "\n";
  Monitor.print(printout);
  delay(500);
  Monitor.flush();

```

The good thing is: all this is preliminary code. Overall objective is a remote control of a robot car, where a 5-digit-code must be split into 3 components for "forward", "curve" and "button". I could see that this works properly.

Thanks again.

---

<div class="post-metadata">

**Author:** ![GolamMostafa](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/golammostafa/32/239011_2.png) [@GolamMostafa](https://forum.arduino.cc/u/GolamMostafa)\
**Post date:** [February 8, 2026, 10:50am UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/13 "2026-02-08T10:50:41Z")

</div>

> [@legoexpert2011](#):
>
> ` printout = "curve = " + String(curve) + "\n";`

The C-code for Linefeed/Newline character is '\n' and NOT "\n".

---

<div class="post-metadata">

**Author:** ![legoexpert2011](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/legoexpert2011/32/1126685_2.png) [@legoexpert2011](https://forum.arduino.cc/u/legoexpert2011)\
**Post date:** [February 8, 2026, 11:58am UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/14 "2026-02-08T11:58:00Z")

</div>

Does not make a difference. Neither as part of the string concatenation nor as stand-alone print statement.  
Conclusion: FIFO and line feed are not yet working properly.

---

<div class="post-metadata">

**Author:** ![qubits-us](https://avatars.discourse-cdn.com/v4/letter/q/5daacb/32.png) [@qubits-us](https://forum.arduino.cc/u/qubits-us)\
**Post date:** [February 8, 2026, 7:08pm UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/15 "2026-02-08T19:08:53Z")

</div>

curious,  
what happens if you replace all the '\n' with '\r' ??  
Monitor.print("loop\r");// seems to work..  
~q

---

<div class="post-metadata">

**Author:** ![legoexpert2011](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/legoexpert2011/32/1126685_2.png) [@legoexpert2011](https://forum.arduino.cc/u/legoexpert2011)\
**Post date:** [February 8, 2026, 8:03pm UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/16 "2026-02-08T20:03:19Z")

</div>

Much better. Thank you. 🙂  
However, FIFO still has some hick-ups (random). See ScreenShot.

 ![20260208screenShot_backslash_r](https://europe1.discourse-cdn.com/arduino/original/4X/2/3/1/231006b69edd3cec8071ee7e3f748e474a705cbc.jpeg)  
"Code - forward - curve - button" is one block per iteration.

---

<div class="post-metadata">

**Author:** ![qubits-us](https://avatars.discourse-cdn.com/v4/letter/q/5daacb/32.png) [@qubits-us](https://forum.arduino.cc/u/qubits-us)\
**Post date:** [February 8, 2026, 8:04pm UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/17 "2026-02-08T20:04:34Z")

</div>

watch out for any println's..  
seems like \n blows it up??  
~q

---

<div class="post-metadata">

**Author:** ![legoexpert2011](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/legoexpert2011/32/1126685_2.png) [@legoexpert2011](https://forum.arduino.cc/u/legoexpert2011)\
**Post date:** [February 8, 2026, 9:18pm UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/18 "2026-02-08T21:18:52Z")

</div>

```arduino
void Code(int code) {
  printout = "Code = " + String(code) + '\r';
  Monitor.print(printout);
  delay(300);
  int forward = int(code/1000);
  printout = "forward = " + String(forward) + '\r';
  Monitor.print(printout);
  delay(300);
  int curve = int((code-1000*forward)/10);
  printout = "curve = " + String(curve) + '\r';
  Monitor.print(printout);
  delay(300);
  int button = int((code-1000*forward) - 10* curve);
  printout = "button = " + String(button) + '\r';
  Monitor.print(printout);
  delay(300);
  printout = "\r";
  Monitor.print(printout);
  delay(300);
}

```

Now, this part is excellent. Printout as expected, Code seperated in its components.  
No println(), an empty line produced with  
printout = "\r";  
Monitor.print(printout);

But here, the code stems from the Python program through the Bridge. The overall objective is a remote control with HC-12 (433MHz). That's another issue.

Thanks

---

<div class="post-metadata">

**Author:** ![qubits-us](https://avatars.discourse-cdn.com/v4/letter/q/5daacb/32.png) [@qubits-us](https://forum.arduino.cc/u/qubits-us)\
**Post date:** [February 8, 2026, 10:01pm UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/19 "2026-02-08T22:01:20Z")

</div>

sorry can't help with the python..  
but i would try ending the lines with carriage returns, like we are printing..  
i'm sure it's being worked on..  
~q

---

<div class="post-metadata">

**Author:** ![qubits-us](https://avatars.discourse-cdn.com/v4/letter/q/5daacb/32.png) [@qubits-us](https://forum.arduino.cc/u/qubits-us)\
**Post date:** [February 11, 2026, 1:16am UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/20 "2026-02-11T01:16:49Z")

</div>

If anyone is curious..  
I've been looking real hard at this for few days now..  
println calls monitor write twice not necessarily a newline issue..  
1st call we get the string..  
the next call has 2 chars, i haven't bothered to check i'm sure it's just a newline and carriage return..  
i think i'm starting to get my bridge to a stable state..  
i would like to override println and see if I can get that to just one call to write??  
my write is tight, blocking with the mutex, current code is loose..  
need more testing time myself..  
my test sketch..

```arduino
#include <Arduino_RouterBridge.h>

void setup() {
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
  Monitor.begin();
}

void loop() {
  static unsigned long count = 1;
  Monitor.println("Start of loop..");
  Monitor.print("Loop:"); Monitor.println(count);
  count++;
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  Monitor.println("End of loop");
}

```

results thus far..  
orig bridge on left, modified on right..

 ![BridgeTest](https://europe1.discourse-cdn.com/arduino/original/4X/a/a/8/aa84f206f3cc148da288595e7d86ef56506734ef.jpeg)

sorry.. ~q

---

<div class="post-metadata">

**Author:** ![qubits-us](https://avatars.discourse-cdn.com/v4/letter/q/5daacb/32.png) [@qubits-us](https://forum.arduino.cc/u/qubits-us)\
**Post date:** [February 11, 2026, 1:46pm UTC](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225/21 "2026-02-11T13:46:05Z")

</div>

I've determined it's probably somewhere else..  
Quite easy to see add a k\_msleep(10) to the top of monitor write..  
After taking out my debug prints, it went sideways..  
If I insert a 10ms delay, added it to the end before releasing mutex then it all got better..  
Was my first test to try this morning, installed orig code and added the delay..  
added it to the top..  
cleaned it right up..  
println does try to clobber with two quick punches..  
the other end not fast enough??  
or we need a sequence added..  
just another episode of as the code compiles..  
[src.zip](https://forum.arduino.cc/uploads/short-url/jFBcCxvoCCF2gYAUUekWkE7gy8Y.zip) (11.3 KB)

sorry.. ~q

[Next page](https://forum.arduino.cc/t/uno-q-serial-monitor-strange-output/1429225.md?page=2)
