Software
Legacy IDE
Mediul integrat de dezvoltare Arduino (Arduino IDE) este o aplicație multiplatformă (Windows, macOS, Linux), bazată pe Processing IDE și scrisă în Java. Folosește API-ul Wiring ca stil de programare și include un editor de cod cu funcții precum evidențierea sintaxei, indentare automată, căutare și înlocuire, precum și butoane pentru compilarea și încărcarea rapidă a programelor pe plăci Arduino. Codul sursă al IDE-ului este disponibil sub licența GNU GPL v2.
Arduino IDE acceptă limbajele C și C++, oferind o bibliotecă software din proiectul Wiring pentru funcții comune de intrare/ieșire. Programele includ doar două funcții principale — inițializarea și bucla principală — care sunt compilate cu suita GNU toolchain. Programul avrdude convertește codul executabil într-un fișier hexadecimal încărcat ulterior în placa Arduino. Inițial dedicat plăcilor Atmel AVR, IDE-ul este acum compatibil și cu alte platforme precum PIC, STM32, TI MSP430 și ESP32.
IDE 2.0
O versiune alfa a noului Arduino IDE a fost lansată pe 18 octombrie 2019 sub numele Arduino Pro IDE, urmată de versiunea beta pe 1 martie 2021, redenumită IDE 2.0. Versiunea stabilă a fost publicată pe 14 septembrie 2022.
Noul IDE folosește în continuare Arduino CLI, dar aduce un mediu de dezvoltare modern, completare automată și o interfață bazată pe Eclipse Theia. Printre noile funcții se numără: manageri noi pentru plăci și biblioteci, explorator de proiecte, verificare a sintaxei, monitor serial cu grafic, mod întunecat, versiune pe 64 de biți și funcționalitate de depanare (debugging).
Depanarea permite execuție pas cu pas, breakpoints și vizualizarea memoriei, necesitând un cip și o sondă de debug. Placa Arduino Zero oferă suport nativ, iar alte plăci, precum cele SAMD21, pot fi depanate cu dispozitive precum SEGGER J-Link sau Atmel-ICE. IDE-ul 2.0 permite și depanarea plăcilor terțe compatibile cu GDB și OPENOCD, inclusiv modele bazate pe ATMega328P și CH32 RISC-V.
Sketch
O schiță (sketch) este un program scris în mediul Arduino IDE. Schițele sunt salvate pe calculatorul de dezvoltare ca fișiere text cu extensia .ino, iar versiunile mai vechi ale IDE-ului (anterioare 1.0) foloseau extensia .pde.
Un program minimal în C/C++ pentru Arduino conține doar două funcții principale:
- setup() – este apelată o singură dată, la pornirea sau resetarea plăcii. Aceasta inițializează variabilele, modurile pinilor de intrare/ieșire și bibliotecile necesare, fiind echivalentă cu funcția main().
- loop() – rulează în mod repetat după finalizarea funcției setup(), controlând funcționarea plăcii până la oprire sau resetare. Este similară cu o buclă while(1).
Exemplu: Blink
Arduino este o platformă de hardware open-source, cu designuri distribuite sub licența Creative Commons Attribution Share-Alike 2.5. Deși hardware-ul și software-ul sunt disponibile gratuit, numele „Arduino” este rezervat produselor oficiale, iar lucrările derivate ar trebui să evite folosirea acestuia fără permisiune. Multe produse compatibile Arduino folosesc denumiri care se termină în „-duino”.
Plăcile Arduino folosesc, de obicei, microcontrolere Atmel 8-bit AVR (de exemplu, ATmega8, ATmega328, ATmega2560) cu caracteristici variabile. Arduino Due, care folosește microcontrolerul 32-bit Atmel SAM3X8E, a fost introdus în 2012. Plăcile au pini pentru o conectare ușoară la module suplimentare numite shield-uri, care pot fi stivuite și controlate printr-o magistrală serială I²C. Unele plăci, cum ar fi LilyPad , nu au regulator de tensiune din motive de design specific.