Arduino® Integrated Development Environment (IDE), cunoscut și sub numele de Arduino® Development Environment, este un program conceput pentru a facilita scrierea de software pentru această platformă open source. Platforma Arduino® este o platformă electronică populară concepută pentru a simplifica procesul de proiectare a dispozitivelor electronice. Utilizările obișnuite ale acestuia includ robotica, tehnologia de îmbunătățire a locuinței, computerele portabile și aplicațiile electronice inovatoare. Majoritatea invențiilor Arduino® sunt dezvoltate folosind Arduino® IDE.
IDE-urile sunt utilizate în mod obișnuit de programatori pentru a accelera procesul de programare. Caracteristicile comune IDE includ numerotarea automată a liniilor, evidențierea sintaxelor și compilarea integrată. Deși este posibil din punct de vedere tehnic să scrieți software folosind doar un editor de text simplu, procesul este mult mai ușor atunci când scrieți cod într-un IDE. Multe limbaje de programare au propriile lor IDE-uri și au fost dezvoltate mai multe IDE-uri cu scop general. Aceste IDE-uri de uz general pot fi utilizate cu o varietate de limbaje de programare acceptate.
Arduino® IDE oferă un mediu care permite programatorilor să folosească un singur program de la început până la sfârșit. Poate urmări mai multe fișiere dintr-un proiect, permițând programatorilor care scriu programe mai complexe sau mai modulare să-și gestioneze proiectele. De asemenea, IDE-ul compilează codul în sine, efectuează depanarea de bază și transmite codul direct pe placa Arduino®, care va folosi apoi bootloader-ul Arduino® pentru a scrie noul program în memorie.
În ciuda acestor caracteristici suplimentare, unii programatori s-au plâns că IDE-ul Arduino® este slab în comparație cu alte IDE-uri mai avansate. Acest lucru se datorează faptului că îi lipsesc mai multe caracteristici comune, inclusiv numerotarea automată a liniilor vizibile, care ar permite programatorilor să se refere cu ușurință la anumite secțiuni ale codului sursă atunci când evaluează mesajele de eroare sau comunică cu alți programatori. Alte caracteristici lipsă includ mesaje de eroare detaliate, care sunt utile pentru diagnosticarea și remedierea unei erori de codare, și plierea codului, care permite programatorilor să examineze doar porțiuni relevante din codul sursă, ascunzând paragrafele care nu sunt afectate de modificările recente.
Pentru a face față acestor limitări, unii programatori Arduino® folosesc alte IDE-uri pentru a scrie programe. Acești utilizatori au scris pluginuri software pentru IDE-uri de uz general care adaugă suport pentru programarea specifică Arduino®. Acest lucru adaugă multe dintre caracteristicile pe care programatorii le lipsesc în Arduino® IDE, dar soluția vine și cu câteva limitări. Pentru a menține capacitatea de a utiliza IDE-uri generice pentru codul Arduino®, programatorii trebuie să își actualizeze în mod obișnuit pluginurile cu fiecare nouă lansare a software-ului Arduino®. În plus, aceste IDE-uri generice nu pot interfața cu plăcile Arduino® și, prin urmare, nu pot fi utilizate pentru a încărca software-ul finalizat într-o invenție Arduino®.