We are trying to connect Cubepilot Orange to Jetson Xavier NX’s UART.
But it wasn’t work while Pixhawk v4 works.
Is there any known problem?
We identified that, the RX of AP (autopilot) is not fully on/off when we connect Jetson UART while Pixhawk v4 works totally fine. Any idea?
Have you set the baud rate and protocol parameters correctly?
We probe the signal with oscilloscope, it seems that Jetson’s UART TX doesn’t fully drive the RX of Cubepilot orange.
Has anyone experienced same problem?
We are using Jetson Xavier NX board as is.
Do you have telemetry or anything else so that you could verify the telem port on Cube? The telem port should be almost plug-and-play. There is nothing special on it compared to other autopilots.
I am having a similar issue. To expand on hyonlim’s comment – the Jetson documentation indicates a maximum allowable pullup of 50 kOhm as it has a very weak driver on the logic level shifter. What is the pullup value on the Telem ports? (can’t find it in documentation)
Can you show the setup of your system? like how you power them.
Is it normal if you connect them with USB?
I have tried powering both via USB and via the power input module. The same symptoms occur in both configurations – the jetson is able to receive from the cube with no difficulty but the cube does not receive anything from the jetson.
I can connect with full bidirectional communication using an FT231X USB<->UART chip, which has an internal 75kOhm pullup, but this is not an ideal solution as it requires additional components and a usb cable hanging around.
Can you try to change
serialx_protocol to mavlink2? Also, does it work with raspberry pi? I don’t have a Jetson Xavier NX so I can’t test with it.
If it doesn’t work with pi as well, we can verify the Cube is somehow not set up correctly.
I don’t have a pi to try, and am not set up to use mavlink (connection is via rtps to the cube running px4). Based on the Jetson documentation I am pretty sure the issue is with the pullups on the cube board being too strong for the Jetson – from the Jetson documentation:
Unfortunately the available schematics and documentation on the cube are not detailed enough to determine what the pullup values are on the TX lines. I can put together a driver, but would like confirmation about the pullup values to provide confidence that this is the appropriate solution.
Does this pull up/down resistor required for other Jetson boards as well?
I don’t see anyone having problem when connecting TX1 to Cubes.
I don’t have a Jetson Xavier NX so I can’t test this for you.
I found that someone on Ardupilot forum successfully connected the Cube with Nvidia Xavier
Maybe you can also raise a topic there and see if anyone made a similar setup.
I don’t know if this applies to other boards – the NX on a dev kit carrier is the only one I’ve worked with. This is a function of the level shifter used on the NX dev kit carrier so it would presumably apply to the Nano and the new TX2 NX dev kit which share the same carrier board. Since I don’t have an AGX or a TX I’m not familiar with the hardware on their carriers.
I’m not asking for this to be tested, just for some additional information from the cubepilot team regarding what the pullup strength is on the telem lines since this isn’t in the available documentation. I’m relatively certain this is the issue, but I haven’t had a chance to breadboard a driver circuit to see if that resolves things. Even if it does, I’d like to get confirmation from the cubepilot side before relying on this in a flying aircraft.
For serial ports on Cube,
40k ohm pullup when low; 4k ohm pull up when high.
I don’t think this is related as other Jetson series are working fine, xavier nx should have the same hardware characteristics.
The issue is not on the NX exactly, but rather with the logic level shifters on the dev kit carrier board. The shifter (TXB0108) has weak drivers so it won’t work with pull up / down greater than 50 kOhm per the datasheet. Multiple jetson users have reported having issues that seem to stem from this when using the Xavier NX and Nano (e.g.).
I hacked a rough driver circuit together and am now able to tx to the cubepilot.
I believe that I am having this problem with the Telem 1 and 2 ports on my Cube Orange as well. However, I am only trying to communicate with an ESP8266 Wifi telemetry radio that was working perfectly fine in a pixhawk installation.
The o-scope tells me that the cube is sending, but nothing is receiving. This behavior is also there when using a generic 900mhz telemetry radio.
How did you solve this?
Would you be able to send some information through regarding the driver circuit you were able to build. We are also trying to achieve tx comms from the jetson to the cube. Thanks heaps!
Thanks to this thread, figured out the uart issues I was having (I kept thinking it was my usb3 cord to the realsense camera causing interference).
While I didn’t have the right stuff immediately on hand to build a driver circuit, I did have several spare msp430 microcontrollers (msp430g2553, ~$1 a piece, also can get via launchpad dev kit https://www.ti.com/tool/MSP-EXP430G2ET ).
So I just wrote a quick program to relay the signal back and forth using simple interrupts. Works for me at 115200 baud on the uart.