Jetson Orin GPIO gives only 1.5 Volt even in HIGH

well I am trying to make a simple tutorial with Nvidia jetson agx orin gpio HIGH and LOW tutorial with GitHub - NVIDIA/jetson-gpio: A Python library that enables the use of Jetson's GPIOs · GitHub but output is only 1.5V instead of 3v3. also not stable sometimes pin can goes low 0v but sometimes not and staying 1.5v. pins like floating.

~/jetson-gpio/samples$ cat /etc/nv_tegra_release
# R39 (release), REVISION: 2.1, GCID: 46758480, BOARD: generic, EABI: aarch64, DATE: Fri Aug  7 05:54:22 AM UTC 2026
# KERNEL_VARIANT: oot
TARGET_USERSPACE_LIB_DIR=nvidia
TARGET_USERSPACE_LIB_DIR_PATH=usr/lib/aarch64-linux-gnu/nvidia
nvidia-l4t-core 39.2.1-20260806224157
6.8.12-1021-tegra

I have test 7.th and 15 nıt working properly but if I try 32. th pin it works with this code:

import RPi.GPIO as GPIO

import time




output_pin = 32

  # Fiziksel 40-pin header PIN 15




def main():




    GPIO.setmode(GPIO.BOARD)




    GPIO.setup(

        output_pin,

        GPIO.OUT,

        initial=GPIO.LOW

    )




    print("PIN 15 GPIO testi - CTRL+C ile cik")




    try:

        print("PIN 15 HIGH - olcum icin Enter'a basana kadar HIGH kalacak")

        GPIO.output(output_pin, GPIO.HIGH)

        input("Olcumu tamamlayinca Enter'a basin; sonra HIGH/LOW testi baslayacak.")




        while True:




            print("HIGH")

            GPIO.output(output_pin, GPIO.HIGH)

            time.sleep(2)




            print("LOW")

            GPIO.output(output_pin, GPIO.LOW)

            time.sleep(2)




    finally:

        GPIO.cleanup()





if __name__ == '__main__':

    main()

hello memet569,

please refer to developer guide for 40-pin header.
may I double check which pin you’re going to use?

7.th pin not working but 32.th pin working properly. why?

Some pins can not give 3v3 volt i think

hello FIXAJ,

you may dig into pinmux spreadsheet for pin configuration.

while I was checking the docs I saw some pins max output current is 20uA (such as 7,15,18 and 22). those pins also giving 1.5v output if I mesure those pins. but some pins can give 1ma or 24ma (16, 29,31,32 and 33) , those pins can give 3.3v properly. So it think the problem is max output current. but the critical point I2S pin also max output current is onlu 20uA. so I will not connect any other peripheril or stm32 chip over the i2s, isnt it?

can u check my last reply

Please try the probing with a oscilloscope and see if it is just steady at either LOW or HIGH.

And put a pull up or pull down register to the GPIO and probe again with the multi-meter and see how it works ?

This request is from the assumption that the pin is configured as input without a pull.

Please share your test result and let’s go the next step based on your test results.

Neither low nor high this is the direct connection nvidia to osc, 7.th pin as gpio

Well you said pull up but docs said much more than 50k pulled up. What should i add resistance for pull up or down?

Reply adedd.

Can you perform the same test to the pin #13 (PWM1_40PIN_LVS), #8 (UART1_TX_LVS), #24 (SPI_CS1_LVS) and #40 (I2S2_DOUT_LVS) and share us the results ?

Hi FIXAJ, just to add:
This may be a pinmux configuration issue. Setting GPIO.OUT in Python does not necessarily configure the physical pad correctly.

For AGX Orin, NVIDIA documents a configuration example for physical header pin 7, SOC_GPIO33 / PQ.06, which is the pin you reported as failing. I suggest testing that configuration before concluding that the output-current limit is responsible.
1. Read the current pinmux configuration

sudo busybox devmem 0x02430070

Save the returned value. NVIDIA’s example shows 0x00000054 before configuring this pad for output.

If available, you can also verify the physical-pin mapping with:

jetson-gpio-pinmux-lookup 7

The expected register address for this mapping is 0x02430070. Jetson.GPIO lookup tool.

2. Apply NVIDIA’s temporary output configuration for this pin

Disconnect external circuitry from pin 7, then run:

sudo busybox devmem 0x02430070 w 0x004
sudo busybox devmem 0x02430070

The readback should show 0x00000004. This configuration is specific to pin 7 / PQ.06; do not use the same address for other pins. NVIDIA’s documented example.

3. Test a steady HIGH and LOW

Use this script so that the selected pin, numbering mode, and measurement messages all refer to physical pin 7:

import Jetson.GPIO as GPIO

PIN = 7
GPIO.setmode(GPIO.BOARD)

try:
    GPIO.setup(PIN, GPIO.OUT, initial=GPIO.LOW)

    GPIO.output(PIN, GPIO.HIGH)
    input("Pin 7 held HIGH. Measure voltage, then press Enter.")

    GPIO.output(PIN, GPIO.LOW)
    input("Pin 7 held LOW. Measure voltage, then press Enter.")

finally:
    GPIO.cleanup()

Measure between pin 7 and header GND while each prompt is waiting, with no peripheral or LED connected. If using an oscilloscope, preferably use a ×10 probe. Take both measurements before exiting the script.

If this produces approximately 3.3 V for HIGH and 0 V for LOW, it confirms that the pad configuration was causing the problem.

Hopefully this helps and feel free to ask any other questions!

Best regards,
Alex Aguero
Embedded SW Engineer at RidgeRun

Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.com/
Website: www.ridgerun.com

thanks for detailed answer. i made your said I got 0x00..4 result but stil I got 1.5v with fluke multimeter. but x10 is good idea now I can see 3v3 only on osc display. So now I trying to read 3v3 with stm32 gpio read.