I need to be able to control ~4000 LEDs with as few digital IO pins as possible. I can't really explain why as the project I'm working on is confidential, but the plan is for this project to be driven by an arduino, or similar, microcomputer.
So far, the most efficient method that I've been able to find is charlieplexing which offers n^2-n number of controllable outputs for n pins. Even this doesn't look as though it's going to be feasible for this number of LEDs.
Is there an even more efficient method and, if not, would anyone have any suggestions of how I could proceed?
Unfortunately, I don't believe that utilising multiple "slave" controllers to add more IO ports will be possible due to the size constraints (it will have to be not much bigger than a large mechanical keyboard).
Some additional information asked for in the comments:
- LED Power: I haven't determined the exact make of LED that I'll be using yet, but they'll be 1mm LEDs so shouldn't require much power at all.
- Refresh rate < 1Hz would be sufficient.
- Only On/Off LED control is necessary although being able to control the radiance of the entire array uniformly would be useful (with every LED being the same brightness).