> Seems like PWM is the way to go. I was not aware of PWM (as > it relates to PIC's) or how to use it, but I'll do some reading... PWM is a form of dithering. It uses a single digital output line as an analog output by varying its duty cycle (fraction of the time the line is high). If the line is dithered between high and low faster than whatever is out there can react, then the attached device will "see" the average voltage instead of the successive high and low levels. You can help this along by adding an analog low pass filter to the output. My HAL project uses the PWM output of a 16F876 to produce audio, see http://www.embedinc.com/pic/hal.htm. You don't need the PIC PWM hardware to do PWM, although you won't get the same combination of resolution and frequency. However, you don't need much for adjusting the brightness of an LED. 100Hz is fast enough so that humans will see the average brightness instead of the individual pulses. You could, for example, take an interrupt every 1mS to adjust as many PWM outputs as you want. This would give you 11 different brightness levels and take one interrupt every 5000 instructions if the PIC is running at 20MHz. Of course, this could just as well be 6 levels at 200Hz, etc., etc. ******************************************************************** Olin Lathrop, embedded systems consultant in Littleton Massachusetts (978) 742-9014, olin@embedinc.com, http://www.embedinc.com -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.