XAVIER NX PWM board pin 33 no signal

I used the jetson-io.py to configure pin 33 as pwm, reboot. But no signal on my scope on pin 33.

I see other posts on this here, but I wonder why it is necessary to do those long unfamiliar risky configs.

My code in Code-OSS:

import RPi.GPIO as GPIO


hello sikuq20,

please access Jetson Xavier NX Pinmux Table through download center for reference,
it looks CAN1_DOUT had set as unused, you may have to update board configuration to make it works, please also check developer guide, Jetson Xavier NX and Jetson AGX Xavier Series MB1 Platform Configuration for reference,

1 Like

Thanks. We tried but with no success.

Your Xavier NX works great with our camera AI solutions, but we are having too many time consuming problems making the SPI and PWM ports work for us so we are reluctantly going to do those on another platform via i2c. We realize that we may not have enough experience to be using the NX/AGX platform in a way you indicate is necessary.

Your document links indicate to us, that the Xavier AGX has the same setup as the NX so we cannot upgrade to the AGX either.

Are you planning on changing the NX/AGX GPIO to a more user friendly interface in the near future?

We do like your products, and hope for a quick fix.

Hi sikuq20,
Can you tell me after choosing pin 33 as PWM on jetson io tool, and after system reboots, what is the value in this register 0x02440020. you can use devmem tool to read this.


Many thanks for your reply about my NX PWM issues. Right now I’m using pin 33 (“unused”) as a CS/Write-Protect pin for one of my 4 SPI 4Mega FRAM 20Mhz memory modules. I will dismantle that setup and try your suggestion in a few days.

Currently I’m storing servo angle 8-bit integers and other fast 32-bit data numbers in those FRAMs, and by using multiple i2c PCA9685 servo driver boards I achieve near unlimited PWM channels, albeit not as controllable as an actual PWM pin (preferred) which I can send to multiple addresses with different PWMs.

Shgarg, can you possibly also point me to a NVIDIA datasheet about any NX/AGX interrupt function pins? I need to intercept fast 32-bit Geiger counter clicks using such a function for AI homing.

Thanks in advance.



I found the simple_pwm.py file in my jetson-gpio folder. Using the jetson-io.py I activated all 3 pwm pins: pwm1, pwm5, pwm8. Now it actually works; in fact, I modified the code and I am now running different PWM frequencies simultaneously on two pins = 32, 33.

So, inspired by your forum help I am now using PWM, i2c, and SPI, although not tested all together yet.

I thus consider this thread as SOLVED, thanks.

However, one issue is still outstanding, i.e., the fast data acquisition through a fast function interrupt pin to measure 32-bit radiation data, as mentioned in my entry of a few hours ago. Can you suggest a NVIDIA datasheet solution reference, perhaps?

I am very happy with your help, thanks again.


Can you try using PIN15 as GPIO and enable interrupts and GTE function on this pin. Clock speed is 31.25MHz and ~32ns time stamp tick granularity, see if this suits your usecase?

Thanks for responding Shgarg. I have been scanning different ports on my scope and your numbers look interesting. I’ll give it a try.

I have a question. All of the sudden the SPI and i2c completely went non responsive. So, if I inadvertently messed up, those settings are they stored on the SD card or internally on the Xavier NX. In other words, if I make another 4.4 or 4.5 SD card will the NX be reset? Is there a reset to factory condition method?

Hi sikuq,
Can you raise a separate request for this query? It will be directed to the right person.

Hi shgarg,

Thanks for your kind response. We have given up on the Xavier NX. We are unable to maintain it as a stable platform. Things work great and lightning fast on i2c and SPI until they suddenly don’t. We are moving on. I hasten to say that this could very well be our own lack of knowledge required to make it a stable platform. We love NVIDIA, you guys make great stuff. Thanks.