How to drive many leds with a few io-pins
From Just in Time
For any straightforward led matrix you can double the number of leds by using tri-state switching and parallel reversed leds.
The 12F509 Knight Rider uses this technique to switch 12 leds with only 5 I/O pins (the 6th pin is input only, so 5 is the max for the 12F509).
In the meantime, we have learned that this technique is called Charlieplexing. So we weren't the first..