I’ve been working on a low power design that requires controlling the brightness of an LED using pulse-width modulation (PWM).  If the chosen PWM frequency is too low e.g. 100 Hz, you get a strobe effect when looking at the LED in motion; to avoid this I chose 4 kHz.  You also need to choose enough control bits to get a smooth range of different brightnesses,  I chose 8 bits to give me 256 different brightness levels. Finally all this had to run on a single small battery and last as long as possible.

There are a bunch of microcontrollers (MCUs) out there that can meet this requirement from OEMS including but not limited to Microchip, Atmel, FreeScale, NXP, and Texas Instruments.  All these OEMs offer PWM capability, usually using a capture/compare module, the problem is that, to get 4 kHz PWM, you have to run the processor clock at a much higher rate, mainly because of the need to get 8 bit control resolution of the PWM duty cycle.

Texas Instruments’ new MSP430 fRAM devices won the low power competition hands down; I came up with a circuit design using an MSP430FR5720 that runs the processor at 1 MHz and produces 8-bit PWM at 4 kHz with a processor current draw (the current not consumed by the LED) of about 30 uA at 2.1 volts, that’s 63 uW!  This would run off a single CR2032, 3.2 volt, 225 mAHr battery for nearly 11,500 hours or almost 1½ years of continuous operation.

I used to be a big Microchip user, I guess I still am, but Texas Instruments are slowly winning me over, in particular, their Code Composer Studio IDE is a delight to use and they have cheap ($12) evaluation boards available that can also be used as programmers once you move to your own circuit.