Arduino® yra populiari elektronikos platforma mėgėjams ir profesionalams. Aparatinė įranga, žinoma kaip Arduino® plokštės, yra kelių rūšių ir gali būti papildyta papildomais komponentais, žinomais kaip Arduino® skydai. Panašiai programinės įrangos funkcionalumą galima išplėsti pridedant Arduino® bibliotekas. Iš esmės šios bibliotekos pagreitina Arduino® projekto programavimo procesą, pateikdamos programuotojui tikslinį rašytinį kodą, sutaupydamos jam laiko ir pastangų sprendžiant sudėtingas problemas, kurias jau išsprendė kiti programuotojai.
Visi standartiniai Arduino® platformos elementai yra atvirojo kodo, įskaitant visus standartinius techninės ir programinės įrangos komponentus. Tai reiškia, kad bibliotekos gali būti laisvai keičiamos, kopijuojamos ir platinamos. Arduino® bibliotekos išleidžiamos pagal bendrąją viešąją licenciją (GPL), o tai reiškia, kad komercinė programinė įranga gali būti teisėtai įtraukta į Arduino® platformą, tačiau arduino® bibliotekos negali būti įtrauktos į programinę įrangą, kuri nėra išleista pagal GPL arba suderinamą atvirojo kodo licenciją. .
Du pagrindiniai Arduino® bibliotekų tipai yra standartiniai ir naudotojai. Standartinės bibliotekos yra įtrauktos į numatytąją Arduino® programinę įrangą. Šios bibliotekos įtrauktos, nes jose yra pagrindinės funkcijos, kurias naudos daugelis programuotojų. Standartinės bibliotekos taip pat buvo peržiūrėtos ir išbandytos siekiant užtikrinti kokybę ir patikimumą. Naudotojų pateiktos bibliotekos neįtrauktos į numatytąjį paketą, nes arba jų funkcionalumas yra neaiškesnis, arba jos nebuvo išsamiai išbandytos.
Naudotojų teikiamas bibliotekas galima atsisiųsti iš interneto. Arduino® projektas suteikia kai kurių įprastų bibliotekų saugyklą, o kitas bibliotekas galima rasti kitur internete. Įdiegti vartotojo pateiktą biblioteką taip pat paprasta, kaip išpakuoti failą ir įdėti jį į bibliotekos aplanką.
Standartinės bibliotekos apima SD, LiquidCrystal, Ethernet, Servo ir keletą kitų. SD biblioteka suteikia programinės įrangos galimybę skaityti ir rašyti SD korteles, jei SD skaitytuvas buvo prijungtas prie Arduino® projekto. „LiquidCrystal“ teikia skystųjų kristalų monitorių valdymo programinę įrangą, kuri gali būti naudinga vaizdams arba išvestims rodyti. Ethernet biblioteka prideda programinės įrangos palaikymą Ethernet Arduino® skydui. „Servo“ teikia paramą servo varikliams, kurie yra naudingi robotikos projektams.
Naudotojų sukurtos bibliotekos apima „DateTime“ ir „Webduino“. DateTime yra paprasta biblioteka, padedanti Arduino® programinei įrangai sekti datas ir laiką. „Webduino“ teikia žiniatinklio serverį, leidžiantį įrenginius pasiekti nuotoliniu būdu naudojant internetą.