Criação de Bibliotecas Comunitárias

Certamente que vai adicionar mais código na memória, mas só vai ser , eu fiz testes ontem, e acabei estudando o código das Bibliotecas padrão do Arduino, e TODAS fazem isso, pega a EEPROM ela só extende a Classe 'avr/EEPROM.h' abstraindo código. Dai criei uma classe minha para trabalhar com Led, com 25 métodos, o arquivo ficou em 16KB Led.cpp e compilado o código testando a classe ficou 2Kb, Só instanciando a classe, se eu usar os metodos o código varia de 4 à 5 Kb. Fiz um código com a mesma funcionalidade diretamente na void loop() deu um pouco mais que isso, mas isso acendendo 50 leds.

O que acontece é que é são diferentes abordagens, por exemplo pense que vou fazer um código para uma máquina de café, este código certamente não será pequeno, que ele ocupe 25Kb, se eu usar as bibliotecas, cada vez que eu uso 4 linhas para piscar um LED se transformam em 1 linha com a biblioteca, ou seja, se eu for fazer um código para piscar um só LED faço "na mão", mas se for pra 100 LEDS, ou se for para um sistema muito grande, que tenha diversos dispositivos seria interessante fazer desta forma.

Eu uso Frameworks para tudo, não existe para que 're-inventar' a roda, se alguém já abstraiu código, e é comprovada performance, não tem pra que fazer o mesmo.

Alguns dos métodos que criei:
Classe Led:

bool .getState();
void .setState(bool state);
int .getPin();
void .setPin(intpin);
void .turnOn();
void .turnOff();
bool .status(); // Atalho para getState();
bool .isOn(); // Atalho para status();
bool .isOff(); // Atalho para !status();
void .blink(int timeOn, int timeOff, int count);

Ainda esta semana planejo criar documentação dos teste de performance e fazer uma análise para ver se realmente é melhor usar códigos assim com o Arduino e se meus testes derem algum resultado interessante vou postar no meu blog e passo o link...

Qual seria sua ideia para montarmos as bibliotecas?