Oh, don't kid yourself, it's a piece of cake...
You still need current limiting resistors in most cases, but you can set them at the maximum current value and with PWM, you won't have to worry about letting all of the smoke out of them.
Max brightness - I wouldn't worry about that so much as driving it at max current for too long (i.e. pulse widths too long).
Personally, I've been able to use PWM down to about 40hz without any flickering. Some people can tolerate down to 20hz or so, varies on the person. In my LED strips that I use for undercar lighting, I use 76.3hz (20mhz-Fosc / 4-Instruction Rate / 256-Timer0 overflow / 256-Software PWM) as my PWM frequency. Works like a champ.
So, even if you use a PIC10F200 running at 4mhz and just keep everything in a tight loop with some software driven PWM, you should be able to easily stay well above the 20-40hz minimum rate.
A simple software PWM is a piece of cake. Get your hardware designed and 'finalized', then we can all work on a decent program for it.
Actually, forget the PIC10F200. It's a surface mount, pain to work with for prototyping. Go with a PIC12F675 or similar, 8 pin DIP package, easy to put on a proto-board. Same thing still applies though, but now you might be able to combine ports together to get a bit more power out to drive the LEDs.
Bookmarks