I have an RGB LED (datasheet here) that I want to control using an Arduino R3 (datasheet here). How can I do this? The LED has a common anode, not a common cathode. However, the arduino's I/O pins can only be +5 volts. This is a problem, because I need to somehow hook up the LED's cathodes to the arduino's I/O pins.


2 Answers 2


This is only a problem if you think in terms of SOURCING a current from an output. Outputs also SINK current.

enter image description here

When the output is set LOW current will flow INTO the pin to ground (SINKING).


The Arduino IO pins can "output" high or low (+5v or 0v) which means you can drive a LED either direction. Generic schematic (couldn't find RGB LED in the editor):


simulate this circuit – Schematic created using CircuitLab


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.