Paso 1: Matriz de LED
Para ello, utilizamos una técnica llamada charlieplexing o display multiplexado. Básicamente, este método nos permitirá usar X número de pines para controlar X*(X-1) número de LEDs. Por ejemplo, podemos controlar 6 LED con sólo 3 pines de salida. Esto es posible mediante la utilización de las propiedades de la lógica tri-estado de los microcontroladores y el sesgo hacia adelante de LEDs. En otras palabras, cada perno puede establecerse en 1 de 3 Estados: alto (5 o 3, 3V), bajo (GND) o no conectado (un estado de alta impedancia que desconecta el pin del circuito). Además, sólo se encenderá un LED arriba y pasar corriente al resto del circuito en una sola dirección (de ánodo a cátodo). Las primeras cuatro imágenes dará un ejemplo de cómo charlieplexing funciona usando los 3 pins y 6 LEDs.
Ahora, mediante la expansión de este esquema básico podemos crear una matriz de 28 LED que puede ser controlado por un total de 11 pines de salida.
Se trata de una explicación relativamente simple de un proceso complejo. Si desea más información, encontré este instructable para ser más comprensivo y muy bien escrito.