Arduino® är en populär elektronikplattform för hobbyister och proffs. Hårdvaran, känd som Arduino®-brädor, finns i flera varianter och kan utökas med ytterligare komponenter som kallas Arduino®-sköldar. På samma sätt kan programvarans funktionalitet utökas genom att lägga till Arduino®-bibliotek. I grund och botten påskyndar dessa bibliotek processen att programmera ett Arduino®-projekt genom att tillhandahålla specialskriven kod till programmeraren, vilket sparar honom eller henne tid och ansträngning att lösa knepiga problem som andra programmerare redan har löst.
Alla standardelement i Arduino®-plattformen är öppen källkod, inklusive alla standardkomponenter för hårdvara och mjukvara. Detta innebär att biblioteken fritt kan modifieras, kopieras och omdistribueras. Arduino®-bibliotek släpps under General Public-licensen (GPL), vilket innebär att kommersiell programvara lagligt kan läggas till Arduino®-plattformen men arduino®-bibliotek kan inte inkorporeras i programvara som inte släpps under GPL eller en kompatibel öppen källkodslicens .
De två huvudtyperna av Arduino®-bibliotek är standard- och användarbidrag. Standardbibliotek ingår i Arduino®-programvaran som standard. Dessa bibliotek ingår eftersom de tillhandahåller grundläggande funktionalitet som kommer att användas av många programmerare. Standardbibliotek har också genomgått granskning och testning för att säkerställa kvalitet och tillförlitlighet. Användarbidragsbibliotek ingår inte i standardpaketet eftersom deras funktionalitet antingen är mer oklar eller så har de inte genomgått omfattande tester.
Användarbidrag kan laddas ner från Internet. Arduino®-projektet tillhandahåller ett arkiv med några av de vanligaste biblioteken, och andra bibliotek kan hittas på andra ställen på Internet. Att installera ett bibliotek med bidrag från användare är så enkelt som att packa upp en fil och placera den i biblioteksmappen.
Standardbibliotek inkluderar SD, LiquidCrystal, Ethernet, Servo och flera andra. Ett SD-bibliotek tillhandahåller programvaran för att läsa och skriva till SD-kort, förutsatt att en SD-läsare har kopplats till Arduino®-projektet. LiquidCrystal tillhandahåller programvara för att styra LCD-skärmar, vilket kan vara användbart för att visa bilder eller utdata. Ethernet-biblioteket lägger till mjukvarustöd för Ethernet Arduino®-skölden. Servo ger stöd för servomotorer, som är användbara för robotprojekt.
Användarbidrag inkluderar DateTime och Webduino. DateTime är ett enkelt bibliotek som hjälper Arduino®-programvara att hålla reda på datum och tider. Webduino tillhandahåller en webbserver som gör att enheter kan nås på distans via Internet.