I have an odd problem with the Jetson Nano dev kit. I’ve tried to enable pull-ups and pull-downs on the SPI1 CS0
(24) and CS1 pins (26) on the 40-pin connector. With my multimeter I can measure with 0 V or 3.3 V.
Initially I had the pull-ups set and then connected a on-off-on switch from 24 and 26 to ground. I can then use:
sudo gpiomon gpiochip0 19 20
I can see the pin go low, but it never goes high. If I disconnect my jumpers and use my multimeter, the pin is now 0V instead of 3.3V. So it appears the pull-ups stopped working. I got frustrated with this so I build the following wire harness: https://imgur.com/a/BbCKjDR
So I now have pull-ups and pull-downs. I can now get the Jetson to see the rising edge, but not the falling edge.
there’s a Python library that enables the use of Jetson’s GPIOs, https://github.com/NVIDIA/jetson-gpio.
could you please configure the GPIO with the sample applications.
thanks
I found the problem. The Jetson Nano carrier board uses the TXB0108RGYR, which is a weird buffer that determines direction by sinking/sourcing current. This also means the I/O are 3.3V tolerant, which wasn’t evident by the pinmux tool (indicates 1.8V I/O).
If you pull a pin high with a pull-up, then the buffer tries to drive as an output.
@Shadowmind May you please Say few words on how did you fix this?
IT looks for me that I have same problem - whatever I connect the pin to ( vcc or gnd) it stays high or low until reboot. I am getting out of my MIND. :(
Those level shifters are auto-direction sensing. They are really neat. They sense what side is pushing current and then switch directions. Unfortunately they are a bit too fancy. So you can’t enable pull ups/downs on the Jetson for a low side switch.
I gave up trying to use the Jetson as a replacement for a Pi. It has some very poor design choices. Basically you can use the IO has a strong push pull output, but you really can’t use any pins as inputs unless they are also strong push pull. For example if you have a device that is DRIVING the input pins, you can use the pins as inputs. But if you are trying to do a high/low side switch, you are out of luck. Your best bet is to get a little microcontroller or Arduino to do the IO and feed it to the Jetson via UART or SPI.