These indicators are almost always LEDs, and they range from single color to bi-color, and in some very rare cases, tri-color. (A common tri-color LED is red/green/amber, such that when powered in one direction it is green, in the other direction it is red, and in both directions, it is amber because the lights mix). Again, in almost all cases, these LEDs are driven by a transistor that is hooked up to a general-purpose input/output pin (GPIO) on the microprocessor in use.
But, if you have a suitable microprocessor, then you can use a programmable LED, and then achieve over 65,000 colors in varying intensities, and you can even get blink rate for free, as well as dimming for night use! The cost upper is only a penny or two, but you now have a more useful indicator, one that you can use for all sorts of troubleshooting, as in the image below:
The programmable LED will maintain its last written state for as long as the power is on. This means you only need a single software I/O call in your uboot for instance, to set the led to flashing green. Then, when your application boots, you set it to green for power on. The other error states can then be written when and if those error conditions occur. You can even dim the LED at night, so it is not so annoying. So, instead of multiple LEDs needed for various indicator functions, now you need only one!
Summitech LLC can support a full range of programmable LEDs, in different sizes and color combinations, and in both top-fire and side-fire configurations. If you have the light pipe, we have the LED to support your need. Drop us a line today!