Arduino è una piattaforma hardware e software composta da una serie di schede elettroniche dotate di un microcontrollore e software a corredo che ne permette la programmazione in modalità semplificata. È stata ideata e sviluppata nel 2005 da alcuni membri dell'Interaction Design Institute di Ivrea come strumento per la prototipazione rapida e per scopi hobbistici, didattici e professionali. Il nome della scheda deriva da quello del bar di Ivrea frequentato dai fondatori del progetto, nome che richiama a sua volta quello di Arduino d'Ivrea, Re d'Italia nel 1002.
Con Arduino si possono realizzare in maniera relativamente rapida e semplice piccoli dispositivi come controllori di luci, di velocità per motori, sensori di luce, automatismi per il controllo della temperatura e dell'umidità e molti altri progetti che utilizzano sensori, attuatori e comunicazione con altri dispositivi. La scheda è abbinata a un semplice ambiente di sviluppo integrato per la programmazione del microcontrollore. Tutto il software a corredo è libero, e gli schemi circuitali sono distribuiti come hardware libero e per questo motivo è molto utilizzato nella didattica educativa.
Storia Il team di Arduino è composto da Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino e David Mellis. Il progetto prese avvio nel 2005 presso l'Interaction Design Institute di Ivrea, con lo scopo di rendere disponibile agli studenti dell'istituto una piattaforma di physical computing per progetti di interaction design che fosse più economica e semplice rispetto ai sistemi di prototipazione allora disponibili. I progettisti riuscirono a creare una piattaforma di semplice utilizzo e che, al tempo stesso, permetteva una significativa riduzione dei costi rispetto ad altri prodotti disponibili sul mercato. A ottobre 2008 in tutto il mondo erano già stati venduti più di 50 000 esemplari di Arduino.
Dopo la nomina ad amministratore delegato di Intel, Brian Krzanich ha fatto produrre delle schede compatibili con la piattaforma Arduino, dotate di processore Intel.
Dispute legali Nel 2008, quando fu creata Arduino LLC (detentrice del dominio arduino.cc), i cinque fondatori (Massimo Banzi, David Cuartielles, David Mellis, Tom Igoe, Gianluca Martino) decisero di creare una società che possedesse solo i diritti sul marchio Arduino: la produzione e la vendita delle schede, invece, sarebbe avvenuta tramite aziende esterne dalle quali Arduino avrebbe ottenuto una royalty per lo sfruttamento del marchio. Inoltre, lo statuto della società precisava che ciascuno dei cinque fondatori avrebbe trasferito all'azienda stessa tutti i diritti sul marchio Arduino. Alla fine del 2008, mentre Arduino si accingeva a registrare il marchio negli Stati Uniti, senza alcun preavviso e tenendo all'oscuro gli altri soci, l'azienda di Gianluca Martino, la Smart Projects, principale produttore di schede Arduino in Italia, registrò il nome Arduino in Italia.
Quando la società decise di internazionalizzare la marca ed estenderla al resto del mondo, si rese conto che qualcuno l'aveva già registrato in Italia: Martino rassicurò i soci che le sue decisioni avevano il solo fine di proteggere l'investimento collettivo; quindi, sulla base di questo accordo, continuarono a lavorare insieme per anni, ricevendo le royalties e cercando, nel frattempo, di riportare il marchio di nuovo in azienda. Tuttavia, nel novembre 2014, Smart Projects smise di pagare le royalties e cambiò nome in Arduino SRL, registrando il dominio arduino.org. Poco dopo, Martino vendette Arduino SRL a una holding svizzera, la Gheo SA, gestita da Federico Musto.
Arduino SRL intende invalidare il marchio che Arduino LLC detiene sulla marca “Arduino” perché “Arduino SRL lo ha richiesto nel settembre del 2014 e ha prodotto fisicamente board marchiate Arduino dal 2005. Arduino LLC è nata nel 2008 e non controllava il nome nel momento in cui ha richiesto il marchio. La conseguente profonda spaccatura nel gruppo di sviluppo ha danneggiato l'enorme comunità che nel frattempo vi è nata intorno. Nel 2015 Arduino LLC a scopo cautelativo ha registrato il marchio "Genuino" e ha iniziato la produzione delle schede in California grazie a una collaborazione con Adafruit Industries.
Il 1º ottobre 2016 fu annunciato che Arduino LLC (arduino.cc) e Arduino SRL (arduino.org) avevano sottoscritto un'intesa per porre fine alle loro divergenze. L'accordo fu perfezionato alla fine del 2016 e “Arduino Holding” diventò l’unico referente per la distribuzione di prodotti presenti e futuri. In aggiunta, Arduino ha costituito la “Arduino Foundation”, una fondazione non-profit dedicata all'evoluzione dell’ambiente di sviluppo IDE e al movimento open source, che offrirà sostegno alle scuole, alla comunità e agli sviluppatori.
Nel 2017 si sono concluse le dispute legali. BCMI, la società fondata da Massimo Banzi con David Cuartielles, David Mellis e Tom Igoe, fondatori di Arduino, ha infatti acquisito il 100% della Arduino AG, la società che possedeva tutti i marchi Arduino.Arduino, nuovo colpo di scena: la acquistano i fondatori. E ora punta dritto all’IoT, in Il Sole 24 ORE (articolo del 3 agosto 2017)
A seguito dell’acquisizione Massimo Banzi è tornato a essere il Chairman e CTO di Arduino, mentre nella posizione di CEO è stato nominato Fabio Violante. Fuori dalla società Federico Musto, il socio con cui erano nate le dispute legali sul marchio Arduino.
Nell'ottobre 2025 viene annunciata un'acquisizione di Arduino da parte della multinazionale statunitense di semiconduttori Qualcomm.
Architettura La piattaforma fisica si basa su un circuito stampato che integra un microcontrollore con dei pin connessi alle porte I/O, un regolatore di tensione e, quando necessario, un'interfaccia USB che permette la comunicazione con il computer utilizzato per programmare.
A questo hardware viene affiancato un ambiente di sviluppo integrato (IDE) multipiattaforma disponibile per Linux, Apple Macintosh e Windows. Arduino IDE è liberamente scaricabile e in quanto Open Source è interamente disponibile come codice sorgente su GitHub. I programmi in Arduino vengono chiamati sketch.
Arduino può essere utilizzato per lo sviluppo di oggetti interattivi stand-alone e può anche interagire, tramite un collegamento e un opportuno codice, con software residenti su computer, come Adobe Flash, Processing, Max/MSP, Pure Data, SuperCollider, Vvvv.
La piattaforma hardware Arduino è distribuita agli hobbisti in versione pre-assemblata, acquistabile in internet o in negozi specializzati. Tutti gli schemi e i file per programmi EDA sono disponibili per ciascuna scheda Arduino e sono regolarmente rilasciati dal Team Arduino sul sito arduino.cc. I siti che documentano l'Open Hardware annoverano Arduino fra le piattaforme Open Hardware, mentre il software, inclusi i bootloader, sono in Open Source su GitHub. Il rilascio in Open Hardware e Open Source di schemi e codice ha consentito lo sviluppo di prodotti Arduino-compatibili da parte di piccole e medie aziende in tutto il mondo ed è divenuto possibile scegliere tra un'enorme quantità di schede Arduino-compatibili. Tutti questi prodotti sono accomunati dal codice sorgente per l'ambiente di sviluppo integrato e dalla libreria residente che sono resi disponibili e concessi in uso secondo i termini legali di una licenza libera, GPLv2.
Grazie alla base software comune ideata dai creatori del progetto, la comunità Arduino ha potuto sviluppare programmi per connettere a questo hardware più o meno qualsiasi oggetto elettronico, computer, sensori, display o attuatori. Dopo anni di sperimentazione, è oggi possibile fruire di un database di informazioni vastissimo.
Differenze con Raspberry Pi
Arduino è spesso paragonato a Raspberry Pi, tuttavia, vi sono notevoli differenze. Si tratta di due piattaforme basate su hardware profondamente diversi.
Eccetto l'Arduino UNO Q, l'architettura delle schede Arduino si basa su microcontrollori, mentre le schede Raspberry Pi si basano su un SoC (System on Chip) che ha al suo interno un microprocessore, un controllore grafico e la RAM necessari a eseguire un sistema operativo come Raspbian, una versione semplificata di Debian.
L'architettura a microcontrollore di Arduino prevede che il programma da eseguire sia in memoria flash e pertanto non viene perso quando viene tolta l'alimentazione. Con Raspberry Pi, invece, viene caricato in RAM il sistema operativo che provvede all'esecuzione in multitasking di tutti i moduli e programmi previsti dalla configurazione. L'architettura a microcontrollore offre un controllo completo sui tempi di esecuzione del programma che, essendo l'unico codice in esecuzione, può essere progettato per applicazioni sensibili alla temporizzazione, come ad esempio la gestione dei motori nelle stampanti 3D. Con Raspberry Pi è invece possibile sfruttare la flessibilità del sistema operativo per svolgere funzioni complesse come un web server o un sistema di gestione dell’automazione domestica.
Nella pratica, le due architetture possono convivere all’interno di una medesima applicazione in modo complementare. A titolo esemplificativo, l’architettura Arduino pilota l’hardware di una stampante 3D, mentre un Raspberry Pi ne permette il controllo tramite interfaccia Web su Internet o Lan.
Dal punto di vista della programmazione, la piattaforma Arduino si programma con una versione semplificata di C++ attraverso il suo Arduino IDE; data la notevole diffusione, nel tempo sono nate soluzioni di programmazione alternative che includono microPython e TinyML. Raspberry Pi, invece, conta su tutti gli strumenti di programmazione disponibili con il sistema operativo Linux.
Le schede Arduino sono maggiormente orientate al collegamento di sensori e attuatori per i quali la comunità sviluppa e aggiorna costantemente le librerie software per il loro utilizzo, mentre Raspberry Pi ha una minore varietà di hardware aggiuntivo che, però, può essere più complesso grazie alle sue similitudini con l'architettura hardware di un PC.
Il dibattito su quale piattaforma sia meglio utilizzare è sempre vivace e in ultima analisi sono le caratteristiche del progetto che si vuole realizzare a rendere l'una o l'altra soluzione preferibile.
In generale, per progetti STEM o per iniziare a sperimentare con hardware ed elettronica, la piattaforma Arduino è preferibile.
Caratteristiche
Una scheda Arduino tipica consiste in un microcontrollore a 8-bit AVR prodotto dalla Atmel con l'aggiunta di componenti complementari per facilitare l'incorporazione in altri circuiti. Nelle schede vengono usati i chip della serie megaAVR, nello specifico i modelli ATmega8, ATmega168, ATmega328, ATmega1280 e ATmega2560.
Molte schede Arduino includono un regolatore lineare di tensione a 5 volt e un oscillatore a cristallo a 16 MHz. Tuttavia alcune implementazioni, come ad esempio la piccola LilyPad, hanno un clock di 8 MHz e non sono dotate del regolatore di tensione.
Programmazione
Il microcontrollore della scheda è pre-programmato con un bootloader che permette il caricamento dei programmi sulla memoria flash del microcontrollore stesso con una modalità semplificata rispetto alla procedura necessaria per i microcontrollori senza bootloader.
A livello concettuale, su tutte le schede i programmi vengono caricati attraverso la comunicazione su porta seriale RS-232 con il microcontrollore. Le prime schede Arduino, da tempo fuori produzione, contenevano un semplice circuito che permetteva la conversione tra il livello della RS-232 e il livello dei segnali TTL. Già nel 2007 viene introdotta la programmazione da PC e Mac tramite porta USB e convertitore USB-to-Serial, rendendo più semplice il processo.