Arduino to środowisko programistyczne, które umożliwia wykorzystanie języków C oraz C++ do pisania kodów współpracujących z kontrolerami stworzonymi przez autorów wspomnianego narzędzia.
Program nie jest jednak adresowany wyłącznie do doświadczonych użytkowników. Otwarta struktura Arduino i możliwość zapoznania się z obszerną dokumentacją oraz licznymi dodatkami sprawiają, że narzędzie świetnie nadaje się dla początkujących. Z myślą o nich przygotowano liczne udogodnienia w interfejsie, które ułatwiają rozpoczęcie pracy.
Wśród kontrolerów obsługiwanych przez program Arduino znajdziemy takie urządzenia, jak: Uno, Nano, Mega, Esplora, Ethernet, Fio, Pro lub Pro Mini oraz LilyPad. Dostępne są również gotowe biblioteki, w tym EEPROM, Ethernet, Firmata, GSM, LiquidCrystal, Servo, SPI, TFT oraz WiFi.