Configuring new additional UART pins for my Jetson Xavier NX using pinmux or jetson-io.py

Hello, I’m new to the NVIDIA Jetson Xavier NX development board, and I’m working on a project that involves using four UART sensors. However, I noticed that the board only officially supports three UARTs, and I’m running into an issue where I can’t use a fourth sensor because the pins are not available.

I want to know if it is possible to configure an additional UART (like UART4) by using any other available pins on the board. I’m unsure about how to use tools like Pinmux or jetson-io.py to configure new UART pins, and I would appreciate any guidance or suggestions for adding an additional UART for my sensor.

Thanks in advance for your help!

Hi fsqazi99,

What’s the Jetpack version in use?

You can refer to Jetson/L4T/peripheral/ - eLinux.org for the UART mapping on Xavier NX.
There’re 3 UART interface available on Xavier NX, but one is used for debug purpose by default.
I would suggest you using USB serial console cable or UART expansion modules like SC16IC7x2/MAX14830 from I2C/SPI interface for more UART interfaces.

Hey,
Thanks for replying. The jetpack version in use is : nvidia-l4t-core 35.6.0-20240828020325
So, you are saying that I can only use 2 UARTS for my sensors?
and one more question ,for additional UART can i use this sensor :

Yes, only 2 UART interfaces are available for custom usage on Xavier NX by default.

It seems a USB to TTL cable and you can connect it on the Xavier NX as following:

Xavier NX (USB) → USB to miniUSB cable → WWZMDiB module → TX/RX/GND for UART interface

It should be recognized after you connect it on Xavier NX.
You can simply run ls /dev/tty* to check if there’s new node appear after connecting the module.