When I was reading the official documentation, I found that there is something confusing: In one place states that don't use Serial1 or the Bridge will fail; however in another place, it states that Serial1 can be used as general UART interface for other modules.
After a series of experiments and research into the source code, I found that Serial1 can be used with only 1 side effect: When the MCU of the Uno Q resets, a Zephyr OS boot message will be sent across Serial1.
It is nothing if another programmable MCU is connected to Uno Q's Serial1 because we can just tell that MCU to ignore that boot message. However, if the connected device cannot be reprogrammed, we need to make sure that it just ignores invalid messages, or Serial1 can't be used reliably.
You can safely use Serial1 from the Hedaer pin of UNO Q (Fig-2).
Header pins TX/RX are driven by USART1 port of the MCU; whereas, the Router Bridge is driven by LPUART1 port of the MCU (Fig-1b). These two ports are totally sepeate ports. The operation of one port cnnot inerfere with the operation of the other port. For your better understanding, I have gievn beow some evidences from datasheet and my experience.
1.
Header pins 0 and 1 of UNO Q works as Serial_RX1 and Serial_TX1 respectively at Bd = 9600 when we include the following code in the sketch:
Serial1.begin(9600);
2.
The Serial1 port of Step-1 gets connected with the USART1 port of the MCU (Fig-1).
Thanks for taking the time to share your findings @swanjeng.
Thanks for bringing this to our attention. This information was correct some time ago, but the behavior of the "Arduino UNO Q Board" core (arduino:zephyr) and "Arduino_RouterBridge" library were changed since that time:
There was an update to the documentation to reflect that change:
However, the note about Serial1 you noticed was overlooked during that work.
I submitted a formal report on your behalf to the people at Arduino responsible for maintaining this content. They will take care of correcting the documentation.
I noticed that the Uno Q doesn't support SoftwareSerial. Then how do we use UART modules with Uno Q without being affected by that boot message? Thanks.
Have you tried Fig-2 of post #2. It works. You can have another Hardware Port (Serial3) on Header pun: SDA/SCL = RX3/TX3 (discovered by @KurtE which I have not yet tested).
Serial1 works, but Zephyr boot message will be received by anything connected to it when the MCU resets. It's nothing under most circumstances but there are still risks.
Note: you may also receive other messages here depending on if for example some zephyr driver decides to output Warning or Error messages and/or if there is code that uses
the printk (print kernel) statement.
Note: with new release Serial3 should be available on the same pins as the Wire object...