GPIO Pins on Jetson AGX Orin not working

Please provide the following info (tick the boxes after creating this topic):
Software Version
DRIVE OS 6.0.8.1
DRIVE OS 6.0.6
DRIVE OS 6.0.5
DRIVE OS 6.0.4 (rev. 1)
DRIVE OS 6.0.4 SDK
DRIVE OS 5.0.2

Target Operating System
Linux
QNX
other

Hardware Platform
DRIVE AGX Orin Developer Kit (940-63710-0010-300)
DRIVE AGX Orin Developer Kit (940-63710-0010-200)
DRIVE AGX Orin Developer Kit (940-63710-0010-100)
DRIVE AGX Orin Developer Kit (940-63710-0010-D00)
DRIVE AGX Orin Developer Kit (940-63710-0010-C00)
DRIVE AGX Orin Developer Kit (not sure its number)
DRIVE AGX Orin 32GB H01 Kit

Host Machine Version
native Ubuntu Linux 20.04 Host installed with SDK Manager
native Ubuntu Linux 20.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 18.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 20.04 Host installed with SEEED Studio files

Hi, we are trying to figure out how to use GPIO pins on the AGX Orin but they don’t seem to be configured.
We ran the command sudo /opt/nvidia/jetson-io/jetson-io.py to access a GUI that allows us to configure GPIO pins on the Jetson but got a fatal error message: “failed to get pin number for node”.

Afterwards we tried to run the same command again, but the GUI would open for 1 second before closing. Tried using sudo /opt/nvidia/jetson-io/config-by-pin.pybut got this error message:

Tried to delete the kernel file in “dtb” folder but it is a read only file.

Would appreciate any help, thank you.

Moving to Jetson AGX Orin forum

What exactly are you trying to do?
Change the direction of a GPIO pin?

Hi DaveYYY,

I’m trying to use GPIO pins to control a MD10C-R3 motor controller.
I ran a simple GPIO code:

import RPi.GPIO as GPIO
import time
output_pin = 18 # BCM pin 18, BOARD pin 12
def main():
# Pin Setup:
GPIO.setmode(GPIO.BCM) # BCM pin-numbering scheme from Raspberry Pi
# set pin as an output pin with optional initial state of HIGH
GPIO.setup(output_pin, GPIO.OUT, initial=GPIO.HIGH)
print(“Starting demo now! Press CTRL+C to exit”)
curr_value = GPIO.HIGH
try:
while True:
time.sleep(1)
# Toggle the output every second
print(“Outputting {} to pin {}”.format(curr_value, output_pin))
GPIO.output(output_pin, curr_value)
curr_value ^= GPIO.HIGH
finally:
GPIO.cleanup()
if name == ‘main’:
main()

The output voltage at pins 12 and 18 remained at -3.271V, and was not changing from low to high and vice versa every second. The polarity also seems to be reversed because connecting a multi meter shows a negative output voltage.

In summary, we want to use GPIO pins for multiple actions such as steering and controlling an ODrive controller for driving but we can’t seem to activate them through our code.

What JetPack version you are using?
Is it a DevKit or a custom board?

Using the board included with the orin from SEEED Studio (Nvidia Jetson AGX Orin 32gb H01).
Jetpack 5.0.2, Jetson Linux 35.1

Does directly setting the pin via GPIO sysfs work?

Hi, apparently the board was flipped and Pin 1 is on the opposite side of the labeling on the Jetson. The pins have a flipped configuration, which is opposite to the datasheet from SEEED studio.

We have fixed it after following the flipped configuration.

Thanks for your help, appreciate the quick replies.

1 Like

Well

OK, that’s good as long as you solve it.

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