Arduino® Integrated Development Environment (IDE), även känd som Arduino® Development Environment, är ett program utformat för att göra det lättare att skriva programvara för denna öppen källkodsplattform. Arduino®-plattformen är en populär elektronikplattform utformad för att förenkla processen att designa elektroniska enheter. Vanliga användningsområden för det inkluderar robotik, hemförbättringsteknik, bärbara datorer och nya elektronikapplikationer. De flesta Arduino® uppfinningar är utvecklade med Arduino® IDE.
IDE:er används ofta av programmerare för att påskynda programmeringsprocessen. Vanliga IDE-funktioner inkluderar automatisk radnumrering, syntaxmarkering och integrerad kompilering. Även om det är tekniskt möjligt att skriva programvara med bara en enkel textredigerare, är processen mycket lättare när man skriver kod i en IDE. Många programmeringsspråk har sina egna IDE, och flera generella IDE:er har utvecklats. Dessa allmänna IDE:er kan användas med en mängd olika programmeringsspråk som stöds.
Arduino® IDE tillhandahåller en miljö som tillåter programmerare att använda ett enda program från början till slut. Det kan hålla reda på flera filer i ett projekt, vilket gör att programmerare som skriver mer komplexa eller modulära program kan hantera sina projekt. IDE kompilerar också själv kod, gör grundläggande felsökning och överför koden direkt till Arduino®-kortet, som sedan kommer att använda Arduino® bootloader för att skriva det nya programmet i minnet.
Trots dessa ytterligare funktioner har vissa programmerare klagat på att Arduino® IDE är matt jämfört med andra, mer avancerade IDE:er. Detta beror på att det saknar flera vanliga funktioner, inklusive automatisk synlig radnumrering, vilket skulle göra det möjligt för programmerare att enkelt referera till specifika delar av källkoden när de utvärderar felmeddelanden eller kommunicerar med andra programmerare. Andra saknade funktioner inkluderar detaljerade felmeddelanden, som är användbara för att diagnostisera och åtgärda ett kodningsfel, och kodveckning, som gör att programmerare endast kan undersöka relevanta delar av källkoden genom att dölja pars som inte påverkas av de senaste ändringarna.
För att hantera dessa begränsningar använder vissa Arduino®-programmerare andra IDE:er för att skriva program. Dessa användare har skrivit programvaruplugins för allmänna IDE:er som lägger till stöd för Arduino®-specifik programmering. Detta lägger till många av funktionerna som programmerare saknar i Arduino® IDE, men lösningen kommer också med flera begränsningar. För att behålla möjligheten att använda generiska IDE:er för Arduino®-kod måste programmerare rutinmässigt uppdatera sina plugins med varje ny version av Arduino®-mjukvaran. Dessutom kan dessa generiska IDE:er inte samverka med Arduino®-kort och kan därför inte användas för att ladda upp färdig programvara till en Arduino®-uppfinning.