Arduino® je priljubljena elektronska platforma za hobiste in profesionalce. Strojna oprema, znana kot plošče Arduino®, je na voljo v več različicah in jo je mogoče razširiti z dodatnimi komponentami, znanimi kot Arduino® ščiti. Podobno je mogoče razširiti funkcionalnost programske opreme z dodajanjem knjižnic Arduino®. V bistvu te knjižnice pospešijo proces programiranja projekta Arduino® tako, da programerju zagotovijo namensko napisano kodo, s čimer prihranijo čas in trud pri reševanju zapletenih problemov, ki so jih drugi programerji že rešili.
Vsi standardni elementi platforme Arduino® so odprtokodni, vključno z vsemi standardnimi komponentami strojne in programske opreme. To pomeni, da je knjižnice mogoče prosto spreminjati, kopirati in ponovno distribuirati. Knjižnice Arduino® so izdane pod licenco General Public (GPL), kar pomeni, da je komercialno programsko opremo mogoče zakonito dodati platformi Arduino®, vendar knjižnic arduino® ni mogoče vključiti v programsko opremo, ki ni izdana pod GPL ali združljivo odprtokodno licenco. .
Dve glavni vrsti knjižnic Arduino® sta standardna in uporabniška. Standardne knjižnice so vključene v privzeto programsko opremo Arduino®. Te knjižnice so vključene, ker zagotavljajo osnovno funkcionalnost, ki jo bodo uporabljali številni programerji. Standardne knjižnice so bile tudi pregledane in testirane, da se zagotovi kakovost in zanesljivost. Knjižnice, ki jih prispevajo uporabniki, niso vključene v privzeti paket, ker je njihova funkcionalnost bolj nejasna ali pa niso bile podvržene obsežnemu testiranju.
Knjižnice, ki jih prispevajo uporabniki, lahko prenesete z interneta. Projekt Arduino® zagotavlja skladišče nekaterih pogostejših knjižnic, druge knjižnice pa lahko najdete drugje na internetu. Namestitev knjižnice, ki jo je prispeval uporabnik, je tako preprosta, kot da razpakirate datoteko in jo postavite v mapo knjižnic.
Standardne knjižnice vključujejo SD, LiquidCrystal, Ethernet, Servo in številne druge. Knjižnica SD zagotavlja zmožnost programske opreme za branje in pisanje na kartice SD, pod pogojem, da je na projekt Arduino® priključen čitalnik SD. LiquidCrystal ponuja programsko opremo za nadzor LCD monitorjev, ki je lahko uporabna za prikazovanje slik ali izhod. Knjižnica Ethernet dodaja programsko podporo za Ethernet Arduino® ščit. Servo zagotavlja podporo za servo motorje, ki so uporabni za projekte robotike.
Knjižnice, ki jih prispevajo uporabniki, vključujejo DateTime in Webduino. DateTime je preprosta knjižnica, ki pomaga programski opremi Arduino® spremljati datume in ure. Webduino ponuja spletni strežnik, ki omogoča oddaljeni dostop do naprav prek interneta.