This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How much current can a I/O pin sink

Hi everyone,

My question is how much current it´s capable to sink an I/O pin configured as output ´0´ ?

In my case I have to discharge a capacitor throught an output pin set to 0, and i would like to know how much current can it sink without burning or destroy anything.

Thanks.

Parents
  • Hi,

    By default, you can sink/source 0.5 mA on a GPIO. However, if you enable high-drive, you can sink up to 15 mA (max, combined on all GPIOs configured with high-drive):

    NRF_GPIO->PIN_CNF[pin_number] = 
    (GPIO_PIN_CNF_SENSE_Disabled << GPIO_PIN_CNF_SENSE_Pos)| 
    (**GPIO_PIN_CNF_DRIVE_H0H1** << GPIO_PIN_CNF_DRIVE_Pos)| 
    (GPIO_PIN_CNF_PULL_Disabled << GPIO_PIN_CNF_PULL_Pos)| 
    (GPIO_PIN_CNF_INPUT_Connect << GPIO_PIN_CNF_INPUT_Pos)| 
    (GPIO_PIN_CNF_DIR_Output << GPIO_PIN_CNF_DIR_Pos);
    

    H0H1 indicates high-drive on both logic '1' and '0'.

    Best regards Håkon

Reply
  • Hi,

    By default, you can sink/source 0.5 mA on a GPIO. However, if you enable high-drive, you can sink up to 15 mA (max, combined on all GPIOs configured with high-drive):

    NRF_GPIO->PIN_CNF[pin_number] = 
    (GPIO_PIN_CNF_SENSE_Disabled << GPIO_PIN_CNF_SENSE_Pos)| 
    (**GPIO_PIN_CNF_DRIVE_H0H1** << GPIO_PIN_CNF_DRIVE_Pos)| 
    (GPIO_PIN_CNF_PULL_Disabled << GPIO_PIN_CNF_PULL_Pos)| 
    (GPIO_PIN_CNF_INPUT_Connect << GPIO_PIN_CNF_INPUT_Pos)| 
    (GPIO_PIN_CNF_DIR_Output << GPIO_PIN_CNF_DIR_Pos);
    

    H0H1 indicates high-drive on both logic '1' and '0'.

    Best regards Håkon

Children
Related