Introduction: Sinking Vs Sourcing Current in Arduino

About: Part software developer, part maker.

In this Instructable we will look at the difference of sourcing and sinking current through an Arduino.


Step 1: Sourcing Current

When working with an Arduino on a project and you need to control a digital output, they can have one of two states. The output can either be high, or low.

When the output is pushed high, the full supply voltage is applied to the pin and this can then be used to power an LED or turn a device on depending on the project. This configuration is called sourcing where the current source is the Arduino. This way the current exits the power source, enters the Arduino and then enters the load.

Step 2: Sinking Current

In the opposite situation when the output is pulled low, we can no longer source current but current can still flow through it. If we now connect the LED with its positive connection to the power source and connect the cathode to the Arduino pin that is pulled low, current will once again flow. This is called sinking where the current first flows through the load and it is then connected to ground via the digital pin on the Arduino.

Step 3: Comparison and Usage

In both ways, the same limitations will apply. The Arduino Uno has a maximum current limit of 40 mA but should not be handling more than half of that for extended periods of time. Both sourcing and sinking have exactly the same effect on the chip and can be used depending on the configuration and the requirements on the circuit.

From what I’ve seen, sourcing is more commonly used but if you have a project where you are sinking current, I would love to see it so let me know down in the comments. If you liked this Instructable then subscribe to my YouTube channel and follow me here on Instructables.