Yeah, sometimes the signals you can handle with Arduino (or others MCU) are not enough. But if you are using a bicolor led to see two different states of your system, you can play the following hack.

There are two kinds of bicolor leds, the first one has the two leds in opposite directions, the second one has the two leds in the same directions.

Two leds in opposite directions.

Instead of connecting the LED between the control pin and V+ or ground, connect it to a voltage divider between the two. Raise the control voltage to V+ and the green LED will conduct through R2.

Lower the control voltage to 0V and the red LED will conduct through R1.


Two leds in the same directions.

This case is simpler, just add a HCMOS inverter as shown below

It's really simple and you can gain some pins of your MCU.

But in the last case you lose the capability to fire both color together, in the first case you don't have this capability.