Pour ce qui est de structurer ton code en bibliothèques (ou librairies), je t'invite à peu de lecture ici :
http://www.siteduzero.com/informatique/tutoriels/apprenez-a-programmer-en-c/la-programmation-modulairePar contre, cela ne changera pas la taille de ton exécutable : tout le code utile est agrégé au moment de la compilation, pour produire un exécutable unique chargé en mémoire flash de l'arduino, avec la contrainte de taille maxi à 32kb.
Pour réduire la taille de ton exécutable, il n'y a pas 15 solutions :
1) revoir ton code pour le factoriser au maximum
2) éventuellement : éviter l'utilisation de librairies trop lourdes. Souvent elles embarquent tout un tas de fonctions ou propriétés, pour répondre à tous les cas d'utilisation, alors que ton besoin est plus restreint. Il m'arrive d'en prendre une "standard", et de la désosser pour ne conserver que ce dont j'ai besoin. Mais il faut déjà un bon niveau de maîtrise de la programmation. Et vu ta question sur les librairies, je ne suis pas sûr que ce soit une voie à privilégier.
Sinon ben faut passer à l'arduino mega (256 kb)
Maintenant, 32kb ce n'est pas rien.
As-tu identifié ce qui "pèse lourd" dans ton code ?