What does consume more power, IO pull-up or IO pull-down? Didn't find information about this on the product specification.
What does consume more power, IO pull-up or IO pull-down? Didn't find information about this on the product specification.
Assuming you're talking about tying an IO pin directly to ground (and enabling pull-ups) or conversely, tying it to VDD (and enabling pull-downs), then the max power you could source/sink would be either 0.5mA or 5mA, depending on whether you configured the pin as standard drive or high drive.
I have two buttons connected to the IO and GND so when the user push the button it goes 0V so I need to set the IO with a pull-up. My question is how will the IO pull-up consume?
Hi Jose
According to nRF51822 PS v3.1 section 8.23 pullup and pulldown resistors have a typical value of 13kohm. Therefore, if you have e.g. a button that connects a certain pin to ground when pressed, and the pin is configured as input with pullup, and you have supply power of 3.0 volts for the nRF51, then the current consumption is 3/13k=230uA when the button is pressed.
Would there be a way to calculate the minimal pull up resistor value? I tried pull up values of 1M and 10M to decrease the current consumption but with these values the button is not triggered.
When not pressing the button (i.e. pulling the pin signal low with external circuit), there should be close to no current consumption (<1uA) if the GPIO pin is configured as input. There is only drawn 230uA when the button is pressed. My primary question is: Is this current consumption really of concern? Is your scenario that the button is pressed a lot? For CR2032 coin cell battery with 220mAh energy capacity at 3V, the lifetime is 0.22Ah/0.00023A = 956 hours = 40 days when the button is pressed all the time. For normal use case, I would assume a device button is pressed less than a minute a day, perhaps a few seconds. So is this current consumption of a concern in your case? I suspect that the internal nRF51 pull resistor values were chosen to give adequate pullup/pullldown for most situations, i.e. to overcome disturbance from different environmental factors. Your situation might be different though, but my opinion is sticking to the internal resistors by choosing pullup/pulldown configuration for the GPIO pins would be the safest choice.