GPIO on Servo Rail - pull-up resistor


I need to use some of NAVIO2 servo pins as GPIO in my project.

I successfully tested GPIO IN/OUT mode using sysfs:
I am able to write values on the Servo/GPIO PIN, and I am able to read values from GPIO PINs.

I am looking for support to control and set the internal pull-up of the GPIO because Navio2 documentation seems not covering this aspect at all.

Are programmable pull-up resistor available on Servo/GPIO pins when set as input? How to set such pull-ups?


Hi Andrea,

Welcome to the community forum and sorry for the delay.

The tweaking process of pull-up resistors isn’t described in our docs. It’s not used for any standard configurations of the autopilot controller. Could you please share why you need to have access to these resistors? I might help you to find a workaround for your workflow.

Hi Liudmila,

in my project, I need to read the status of a push button to activate logics and change the behavior of the system accordingly.

Button grounds Navio2 GPIO input if pushed.
I need a pull-up resistor to set the GPIO line to 3.3V when the button is not pushed (idle condition).

I do not want to use an external pull-up resistor to avoid extra wirings and because 3.3V is not easily available on Navio2 board.

Does Navio2 support internal pull-up resistors on Servo Rail? How to enable them when Servo Rail Signals are used as GPIO-input?


Hi Andrea,

Thanks for your patience.

Navio2 has internal pull-up resistors; however, it’s hardly possible to access them on the servo rail. We don’t support reconfiguring the internal resistors of Navio2.

You can use GPIO17/18 pins with an internal 47k pull-up to 3.3V. They’re available on the UART port of the device. Navio2 pinout scheme might be of help to you.

1 Like

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