• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
  • Subscribe
  • Advertise

Power Electronic Tips

Power Electronic News, Editorial, Video and Resources

  • Products
    • Power Supplies
    • AC-DC
    • DC-DC
    • Battery Management
    • Capacitors
    • Magnetics
    • MOSFETS
    • Power Management
    • RF Power
    • Resistors
    • Transformers
    • Transistors
  • Applications
    • 5G
    • AI
    • Automotive
    • EV Engineering
    • LED Lighting
    • Industrial
    • IoT
    • Wireless
  • Learn
    • eBooks / Tech Tips
    • EE Training Days
    • FAQ
    • Learning Center
    • Tech Toolboxes
    • Webinars & Digital Events
  • Resources
    • Design Guide Library
    • Digital Issues
    • Engineering Diversity & Inclusion
    • LEAP Awards
    • Podcasts
    • White Papers
  • Video
    • EE Videos & Interviews
    • Teardown Videos
  • EE Forums
    • EDABoard.com
    • Electro-Tech-Online.com
  • Engineeering Training Days
  • Newsetter Subscription

What’s the difference between current sourcing and sinking?

March 24, 2017 By Janet Heath Leave a Comment

Current can flow in two different ways with respect to the load. Sensors often provide real-world, analog input for embedded applications. MCUs rely on sensors to be their electronic “senses” and actuators to physically interact with world. Interfacing with external devices requires some planning on the part of the designer to ensure efficient operation. One design consideration is whether to use a current sourcing or current sinking interface for Inputs and Outputs (I/O).

current sourcing or current sinking
Figure 1: Sinking and sourcing is an abstract concept in that flow, whether positive or negative charges, is relative to the observer. In this figure, the perspective of the observer (the eye) shows the relationship between sourcing and sinking from the observer’s viewpoint. (Source: By Synaptidude at English Wikipedia)

What’s the difference between current sourcing and sinking? Current sourcing is probably the more intuitive of the two options for most people. Current flow is always in the direction of a higher potential energy (voltage) to the lower potential, which makes sense because current flow is analogous to that of water. When sourcing current to energize, or activate a load, the General Purpose I/O (GPIO) pin of the microcontroller is driven high, current flows from the pin to the load, and ultimately the current flow finds ground (accomplishing some sort of work along the way). Conversely, current sinking requires either an external power supply or a connection to the Vcc pin of the microcontroller. However, with current sinking, the positive lead of the load connects directly to the power supply and the negative terminal of the load connects to a GPIO pin of the microcontrollers. To activate the load, the GPIO is driven low and current flows from the external power supply (or Vcc pin), through the load (accomplishing work), then through the GPIO pin to ground.

With a cursory glance, it seems like there is not much of a practical difference between the two. However, each option has both pros and cons. For instance, if the load can be driven directly by the GPIO pin then it is possible to keep the component count to a minimum and your design is simplified because you are utilizing the current sourcing method. If you choose to source the flow to the load, be sure to check (by looking at the microcontroller’s datasheet) that the GPIO pin can safely provide the needed output voltage and current needed to drive the load. Most of the time, an MCU output can only directly drive a few milliamps so an additional driving source may be needed.

Sinking current can be very useful when the load requires a higher operating voltage than the microcontroller’s internal operating voltage. Special attention needs to paid to ensure that the current is limited so as not to exceed the maximum current handling capacity of the GPIO pin. Again, check the datasheet as some microcontrollers can sink more current than they can source, but not always.

One last note about choosing between a sourcing or sinking current design: your choice of current handling configuration in hardware will have impact on the software. When writing code, or even more importantly when using pre-built software libraries, be sure to review how the logic handles the GPIO pins. Remember when sourcing current that in order to turn on the load you have to drive the GPIO pin high. The opposite is true for sinking current, and thus designers must ensure that a negative logic is being used in the code base. This can be a simple yet frustrating source of “buggy behavior” for an application if you forget.

Filed Under: FAQ, Featured, Industry Experts Tagged With: basics, FAQ

Reader Interactions

Leave a Reply

You must be logged in to post a comment.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Primary Sidebar

Featured Contributions

Protecting Ethernet interfaces in telecommunications applications against common high energy surges

Ionic cooling: a silent revolution in thermal management

Robust design for Variable Frequency Drives and starters

Meeting demand for hidden wearables via Schottky rectifiers

The case for vehicle 48 V power systems

More Featured Contributions

EE LEARNING CENTER

EE Learning Center

EE TECH TOOLBOX

“ee
Tech Toolbox: Connectivity
AI and high-performance computing demand interconnects that can handle massive data throughput without bottlenecks. This Tech Toolbox explores the connector technologies enabling ML systems, from high-speed board-to-board and PCIe interfaces to in-package optical interconnects and twin-axial assemblies.

EE ENGINEERING TRAINING DAYS

engineering
“power
EXPAND YOUR KNOWLEDGE AND STAY CONNECTED
Get the latest info on technologies, tools and strategies for EE professionals.
“bills

RSS Current EDABoard.com discussions

RSS Current Electro-Tech-Online.com Discussions

  • recommendation for a small motor
  • MPLAB X Extensions for VS Code vs MPLABX Standalone
  • ESP32 Sub Forum
  • RS485 - difficult to place line terminal resistor - alternative solutions viable ?
  • LM350K variable power supply

Footer

EE World Online Network

  • 5G Technology World
  • EE World Online
  • Engineers Garage
  • Analog IC Tips
  • Battery Power Tips
  • Connector Tips
  • EDA Board Forums
  • Electro Tech Online Forums
  • EV Engineering
  • Microcontroller Tips
  • Sensor Tips
  • Test and Measurement Tips

Power Electronic Tips

  • Subscribe to our newsletter
  • Advertise with us
  • Contact us
  • About us

Copyright © 2026 · WTWH Media LLC and its licensors. All rights reserved.
The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media.

Privacy Policy