Jetson Orin Nano 5V power pin

I was trying to raise the signal pin voltage from 3.3V to 5V using a TX0108E level shifter. When I wired everything, I noticed that the 5V power pin had dropped it voltage to around 2.5V as soon as I had connected the signal pin to the breadboard.
I used both 5V pins (2 and 4).
In order to test the 5V pin, I setup a basic circuit on a breadboard where an LED was powered by the 5V pin via a 220 Ohm resistor and then just a wire to ground. Just like this image but using the Jetson Orin Nano instead of the Arduino:


However, the LED did not light up. I tried this same setup with an Arduino and the LED worked. I also tried the exact same setup but switched the power pin from 5V (pins 2 or 4) to 3.3V power (pin 1) and the LED lit up just fine.
I then checked the voltage at different points in the circuit using a multimeter and found that the power from the Orin Nano is at 5V till the LED is added when it drops to 1.6V. However when the Arduino is used, the power only drops to 2V.
This explains why the LED is not turning on, but why does this happen?

More than likely too much current draw from the led. I have not touched the 5v pins yet, so I cannot speak from for fact experience on this. Why???

Well I tried the exact same setup with the 3.3V pin and it worked. They are both rated for the same current, 1A, on the specifications sheet.

That would raise some concerns, by the specs it should be stiff enough if rated at 1 amp.

Do you have anything I could try to get this to work?

# Export the PWM channel
sudo echo 0 > /sys/class/pwm/pwmchip0/export

# Set period to 20ms
sudo echo 20000000 > /sys/class/pwm/pwmchip0/pwm0/period

# Set duty cycle to 1.5ms
sudo echo 1500000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle

# Enable the PWM
sudo echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable

# (To turn off)
sudo echo 0 > /sys/class/pwm/pwmchip0/pwm0/enable

Make sure you use jetson-io.py to set all 3 of the pwm. (just for testing)

Here is python
Set up your venv and pip install these requirements

requirements.txt

wheel==0.45.1
Jetson.GPIO==2.1.6

.py

This is quick test code, so don’t use it for production.



import Jetson.GPIO as GPIO
import time

# Define pins
output_pins = [15, 33, 32]


def setup_pins(pins):
    GPIO.setwarnings(False)  # Disable warnings
    GPIO.setmode(GPIO.BOARD)  # Use physical pin numbering
    for pin in pins:
        GPIO.setup(pin, GPIO.OUT, initial=GPIO.LOW)  # Setup pins as output


def pwm_control(pins):
    pwm_channels = []
    try:
        for pin in pins:
            pwm = GPIO.PWM(pin, 50)  # 50 Hz PWM frequency
            pwm.start(25)  # Start PWM at 25% duty cycle
            pwm_channels.append(pwm)

        print("PWM running on pins:", pins)
        duty_cycle = 25
        incr = 5
        while True:
            time.sleep(0.25)
            if duty_cycle >= 100 or duty_cycle <= 0:
                incr = -incr
            duty_cycle += incr
            for pwm in pwm_channels:
                pwm.ChangeDutyCycle(duty_cycle)
    finally:
        for pwm in pwm_channels:
            pwm.stop()
        GPIO.cleanup()


def main():
    setup_pins(output_pins)
    pwm_control(output_pins)


if __name__ == '__main__':
    main()


Make sure you use the option to create an overlay then reboot it. Watch the white boot screen and read the text in the middle, it will indicate if the .dtbo (custom) is loading.


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