Issue with PWM with Jetson.GPIO and Orin Nano

Hi there,

i have a problem getting PWM working with the Jeton Orin Nano Developer Kit and the Jeson.GPIO Python library.

I have a scope connected to pin 33 on the Jetson Orin Nano board and try to run the following example i’ve got from github:

import RPi.GPIO as GPIO
import time

output_pins = {
    'JETSON_XAVIER': 18,
    'JETSON_NANO': 33,
    'JETSON_NX': 33,
    'CLARA_AGX_XAVIER': 18,
    'JETSON_TX2_NX': 32,
    'JETSON_ORIN': 18,
    'JETSON_ORIN_NX': 33,
    'JETSON_ORIN_NANO': 33
}
output_pin = output_pins.get(GPIO.model, None)
print(output_pin)
if output_pin is None:
    raise Exception('PWM not supported on this board')


def main():
    # Pin Setup:
    # Board pin-numbering scheme
    GPIO.setmode(GPIO.BOARD)
    # set pin as an output pin with optional initial state of HIGH
    GPIO.setup(output_pin, GPIO.OUT, initial=GPIO.HIGH)
    p = GPIO.PWM(output_pin, 50)
    val = 25
    incr = 5
    p.start(val)

    print("PWM running. Press CTRL+C to exit.")
    try:
        while True:
            time.sleep(0.25)
            if val >= 100:
                incr = -incr
            if val <= 0:
                incr = -incr
            val += incr
            p.ChangeDutyCycle(val)
    finally:
        p.stop()
        GPIO.cleanup()

if __name__ == '__main__':
    main()

If i run the code everything seems to look good, no errors whatsoever but if i look onto my scope, i don’t see any output. I have also tried to output the PWM on pin 15, which according to following site should also be a PWM capable pin:

With pin 15 i get the same result. No error if i run the code but nothing on the scope.

I have tried the PWM example with Linux JetPack 5.1.1 and with my own yocto image, both gave me the same result.

Do you guys can help me out or do i miss something?

Regards

Hi kai.kral,

Have you used Jetson-IO to enable PWM pins?

You could refer to the following topic about the usage for Jetson.GPIO with Orin Nano devkit.
Jetson.GPIO lib - PWM not working on Orin Nano Dev Kit - Jetson & Embedded Systems / Jetson Orin Nano - NVIDIA Developer Forums

Thanks for your input.

If i try to run jetson-io i get following error:

image

But the file /boot/tegra234-p3767-0000-p3509-a02-hdr40.dtbo is present.

Do you run Jetson-IO with sudo?

$ sudo /opt/nvidia/jetson-io/jetson-io.py

Yes, i have run Jetosn-IO with root permissions.

Could you decompile this dtbo manually?

$sudo dtc -I dtb -O dts -o jetson-io-overlay.dts /boot/tegra234-p3767-0000-p3509-a02-hdr40.dtbo

Thanks, it worked now. No idea what i did wrong the first few times.
PWM seems to work now.

Can anybody point me in the right direction, how i can integrate this into my yocto image?

Sorry that we don’t support yocto project and it is also not verified from us.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.