I am working on a board design that will put 16 RGB LEDs in a circle around a rotary encoder. I want this setup to be simple so that I can run it from any micro with limited software (ie. built in PWM control, no tedious management necessary on the micro). I also want it to be relatively compact so that this board will not take up much space. I would also like it to be as cheap as possible in medium quantities. These 3 criteria are likely in competition, but I would like to know what others would suggest.
I have considered shift registers. These might be cheap and somewhat compact, but they would require the attached micro to spend a lot of time managing the LEDs to do any sort of colour blending.
I have also looked at some PWM LED drivers. The best one I have found so far is a 16 channel chip, so I would need three to drive all my LEDs. It would be simple to use, but the space and cost would not be great.
Another option might be to use some sort of FPGA or dedicated micro with lots of IO to control the LEDs. I'm not sure if the power needed by the LEDs would be too much, though.
Is there some option I am missing that would fit this target usage? I am open to a solution with slightly more or less LEDs, but I would not want any less than 12.
Edit: For reference, I am basically trying to replicate this board or this + this but with RGB capability, including colour blending. If the ring has to be a bit larger, that is ok to some extent. I would still like to be able to put a couple boards next to each other in a single project without too much spacing.