Jetson Orin Nano TX not working

Hi everyone,

I have a set up which consists on a Jetson Orin Nano (Jetpack version 5.1.4), connected to a Pixhawk via UART using pin 8 and 10 for “/dev/ttyTHS0” port at 921600 baudrate. I’m able to receive data to the RX pin, but not to send any request to the Pixhawk via TX pin (all my request do not reach the Pixhawk since I have no response back).

I have to note that I also followed the same diagram connection (and same cables) but using an old Jetson Nano (Jetpack 4.5.1) and I’m able to receive and send data to my Pixhawk.

So with this test I can confirm that in Jetson Orin Nano, the TX pin is not working (whereas in the old Jetson Nano it does work perfectly).

How can I fix this? Is this a hardware failed design? Do I have to set any option to enable the TX?

I also have to mention that I had to update the firmware of my Jetson Orin Nano to try JP6, but then I changed to JP5 using the Nvidia SDK (I don’t know if this has something related).

Thanks.

Hi martineznovo,

Are you using the devkit or custom board for Orin Nano?

You can also update to the latest JP6.2 (r36.4.3) to verify.

Do you connect the GND pin between Orin Nano and Pixhawk?
Have you also tried to get a scope to check if there’s data or perform the loopback test to verify?

Hi Kevin, @KevinFFF
We met the same issue.
When we short the UART1 TXD and RXD for loopback test with 115200 baud rate. It is pass.
Even we use the cutecom to loopback, it is also ok.
But when we connect to host PC(USB to UART), orin nano can receive the PC data, but the PC cant, it seem that the orin nano TXD have some problems.
Thanks.
Best Regrads

Do you enable HW flow control?

You can simply disable RTS/CTS at both side and get a scope to check the signal to clarify which side causes the issue.

Hi kevin,
Thanks for your reply.
We had disabled the hardware flow control.
115200 8N1. Even 9600 baud rate also failed.
The cable had verified.
Thanks.
Best Regards.

Do you mean that you’ve confirmed that HW flow control has been disabled from both sides, but the transaction still failed?
Could you get a scope to check if there’s data on TX/RX?

Please run the following command on your board.

$ sudo dtc -I fs -O dts -o extracted_proc.dts /proc/device-tree

And share extracted_proc.dts for further check.

Hi Kevin,
Thanks for your reply.
Yes, we had confirmed that HW flow control has been disabled from both sides, but the transaction still failed.
We also use jetson nano communicate with PC to check the whole linked and it is ok.
I attched the dts, we use jetson 5.1.4.
Could you get a scope to check if there’s data on TX/RX?
Sorry, we haven’t scope beside. But the loopback(Short TXD/RXD), orin nano can received the data which sent.
extracted_proc.dts.txt (427.8 KB)
Thanks.
Best Regards.

@KevinFFF
Hi Kevin,
Can you tried it and check in internal?
Thanks.
Best Regards.

We can reproduce this issue locally, let me check it with internal.

Hi Kevin,
Thanks for your reply.
I will wait for your resolution.
Thanks.
Best Regards.

@KevinFFF
Hi Kevin,
Are there any progress?
Thanks.
Best Regards.

Sorry that I’m still checking this issue with internal and I will update to you once I get any result.

Hi Kevin, @KevinFFF
Thanks for your reply.
Can you give a resolution date? This problem have broken our develop progress.
Thanks.
Best Regards.

Sorry that we have few holidays recently so that it may take more time.

As my understanding, UART should work as expected in loopback mode or connecting with other UART devices.
The current issue is specific to the communication with host PC through serail console cable.

It seems you are connecting Pixhawk as UART device.
Could you get a scope or LA to check if there’s any output when you send data from Orin Nano?

And I would suggest using 115200 to verify first.

Hi Kevin, @KevinFFF
Thanks for your reply.
Since NVIDIA has reproduced this issue, I think you will be able to find a solution faster. We don’t have an oscilloscope on hand.
Your reference is other user, we are connecting to PC but not Pixhawk.
Thanks.
Best Regards.

Hi iyric,

It seems the issue is relating to USB-to-TTL cable since I can transmit/receive UART data after switching another serial console cable connected between host PC and Orin Nano devkit.
I’m using the USB-to-TTL cable with the chip as following:

Bus 005 Device 116: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC

How about yours?
Please check if using the similar cable could help for your case.

Hi Kevin @KevinFFF
Thanks for your info.
We will use other USB-to-TTL to test it.
But the USB-to-TTL which we used communicated with Jetson Nano and Jetson TX2NX normal, but failed in Jetson Orin.
Thanks.
Best Regards

There are so many kinds of chip in USB-to-TTL cable.
In my case, the original one cannot work with both Jetson Nano and Orin Nano.

We had a similar issues. The issue is not the cable or adapter, the issue is the JETSON TX design is complete garbage/crap. The TX pin is so very very very weak (in other words, WEAK), it a can barely drive a spec of dust. Many adapter boards that work fine with any other decent systems, draw too much miniscule current from the pathetic Jetson TX pin, that it fails. But the same adapter will work with any other device you can possibly try. So it is a luck of the draw to get an adapter that sips almost zero current from the weak TX pin. Any adapter can send plenty of current TO the Jetson RX pin, so there is never trouble in that direction. Why Jetson had to install the world’s weakest level shifter/adapter is complete “nonsense” (a polite term).

Hi nnovotney,

Sorry for the inconvenience.
The level shifter we use is CMOS and there is a doc for this: Log in | NVIDIA Developer
Please refer to this document to check if it could help for your use case.