Se devi ampliare, si può optare per un sistema con un numero maggiore di I/O oppure si può collegare al BUS I2C. Per questo BUS si richiede due piedini specifici e collegare i cosiddetti IOexpander come PCF8754 per otto bit oppure un MCP23016 a 16 bit.
In altra prospettiva si potrebbe usare l’interfaccia SP con uno shift register come il 74xx595, che richiede almeno 3 piedini, specifici. Magari si può ovviare il CS e usare solo due piedini oppure anche il metodo con un piedino e eventuale temporizzazione con dei condensatori.
Si potrebbe anche dare una occhiata ai fogli dati del TCA5405 per capire come poter utilizzare l’implementazione del one-wire.
Non ultimo si potrebbe implementare il charlie-plexing, che con uscita alta si pilota un LED (con catodo a massa) e con uscita bassa si pilota l’altro LED (con anodo al positivo). Ovvio che RGB sono tre, allora un altro piedino dovrebbe fare duplice funzione.
Nel sistema Theremino, non so come si possa agire con il suo Firmware per questi tipi di protocollo.
Infine si deve tenere conto che quello che non c’è in hardware bisogna implementarlo in software a costo di tempi di esecuzione più impegnativi.