I am working on a project which is going to have approximately 50 LEDs. These will be status LEDs to show whether an appliance is On/Off. I will also need a brightness control for the LEDs so PWM is a requirement on the pins.
What will be most efficient way (low cost, low PCB area and low component count) to accomplish such a thing?
I had a couple of ideas but then found some issues with all of them:
1) Get a micro-controller with too many GPIO - Controllers with 55 GPIO appeared to give the best GPIO/price ratio. I have selected one with 55 GPIO but even that controller might not be able to handle everything. Putting two micro-controllers complicates things.
2) Use i2c port expanders - These are very costly. I'd rather buy another micro-controller.
3) Use shift out ICs (595) - Lack of PWM. Implementing PWM on code side doesn't seem to be a good idea to me (maybe I am wrong but it feels like I am unnecessarily making things difficult this way).