Arduino® è una piattaforma elettronica popolare per hobbisti e professionisti. L’hardware, noto come schede Arduino®, è disponibile in diverse varietà e può essere esteso con componenti aggiuntivi noti come shield Arduino®. Allo stesso modo, la funzionalità del software può essere ampliata aggiungendo librerie Arduino®. Essenzialmente, queste librerie accelerano il processo di programmazione di un progetto Arduino® fornendo codice scritto appositamente al programmatore, facendogli risparmiare tempo e fatica per risolvere problemi complessi che altri programmatori hanno già risolto.
Tutti gli elementi standard della piattaforma Arduino® sono open source, inclusi tutti i componenti hardware e software standard. Ciò significa che le librerie possono essere liberamente modificate, copiate e ridistribuite. Le librerie Arduino® sono rilasciate sotto la General Public License (GPL), il che significa che il software commerciale può essere aggiunto legalmente alla piattaforma Arduino® ma le librerie Arduino® non possono essere incorporate in software che non è rilasciato sotto GPL o una licenza open source compatibile .
I due tipi principali di librerie Arduino® sono standard e forniti dall’utente. Le librerie standard sono incluse con il software Arduino® predefinito. Queste librerie sono incluse perché forniscono funzionalità di base che verranno utilizzate da molti programmatori. Anche le librerie standard sono state sottoposte a revisione e test per garantire la qualità e l’affidabilità. Le librerie fornite dagli utenti non sono incluse nel pacchetto predefinito perché le loro funzionalità sono più oscure o non sono state sottoposte a test approfonditi.
Le biblioteche fornite dagli utenti possono essere scaricate da Internet. Il progetto Arduino® fornisce un repository di alcune delle librerie più comuni e altre librerie possono essere trovate altrove su Internet. Installare una libreria fornita dall’utente è semplice come decomprimere un file e inserirlo nella cartella delle librerie.
Le librerie standard includono SD, LiquidCrystal, Ethernet, Servo e molte altre. Una libreria SD fornisce la capacità del software di leggere e scrivere su schede SD, a condizione che al progetto Arduino® sia stato collegato un lettore SD. LiquidCrystal fornisce un software per il controllo dei monitor LCD, che può essere utile per visualizzare immagini o output. La libreria Ethernet aggiunge il supporto software per lo shield Ethernet Arduino®. Servo fornisce supporto per i servomotori, utili per i progetti di robotica.
Le librerie fornite dall’utente includono DateTime e Webduino. DateTime è una semplice libreria che aiuta il software Arduino® a tenere traccia di date e orari. Webduino fornisce un server Web, che consente l’accesso remoto ai dispositivi tramite Internet.