Pulse-width modulation is an effective way to control the brightness of LEDs. PWM control signals are widely used in embedded control applications for a variety of tasks that include light dimming, motor speed control, output voltage control, and communication between devices. This application note describes a software solution that generates one or more pulse-width modulated (PWM) signals using a PIC microcontroller (MCU). As a demonstration, the software PWM solution is applied to control the color output of an RGB LED (OPTEK model OVSTRGBBCR8). By generating three software PWM signals, red, green, blue, or any mix of color can be generated. The RGB demonstration has a wide range of applications, including automotive interior lighting, architectural lighting, and LCD display backlighting.