This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

P0.00 internal pull up not working

I have 4 buttons in my circuit with a nRF51822QQAC (a RAYTAC MDBT40 module on a custom PCB), I am using a very simple printf to check which ones are pressed, the internal pull-up resistors are all enabled

One of the 4 buttons appears to be stuck, always reading low

Connecting the stuck signal to VCC makes it read high and does not cause a brownout

This happens on all 3 identical PCBs, so I'm sure it's not physically shorted to ground

The pin in question is P0.00

Why is the internal pull-up not working on this particular pin?

product spec and reference manual does not mention anything related to this pin, it is shared with AREF0, but nothing indicates that the internal pull-up is missing

EDIT: false alarm, user error, CTS and RTS was not set and defaulted to 0, but HWFC was being initialized

  • That pin has an internal pull-up like all the others. I have a board which uses it as a button input and it uses the internal pull-up and it works.

    So unless you have 3 bad chips, which seems unlikely, you must have a different problem. Could be an issue on the custom board or on the MDBT40 or else it's in code. Where's the code where you configure all the GPIOs to have pullups? Are you using any other modules, LPCOMP, GPIOTE, anything else which might acquire that pin and override the GPIO settings?

Related