Abstract

Arduino viene spesso identificato con una piccola scheda utilizzata per accendere LED, leggere sensori e realizzare semplici prototipi. Questa associazione deriva dalla grande diffusione delle sue piattaforme nella formazione tecnica e nei corsi introduttivi, ma descrive soltanto una parte di un ecosistema molto più ampio.

Arduino è un marchio registrato che comprende schede, controllori, strumenti software, librerie e ambienti di sviluppo destinati ad applicazioni differenti, dalla prototipazione all’automazione industriale. Non identifica quindi una specifica architettura hardware, un particolare microcontrollore o una categoria tecnica uniforme.

Per valutare correttamente un prodotto Arduino occorre distinguere tra marchio, scheda, microcontrollore, framework software e sistema finale. La facilità di utilizzo non determina automaticamente il livello tecnico di un dispositivo o di un progetto.

Parole chiave

Arduino, microcontrollori, sistemi embedded, prototipazione, Arduino UNO, ATmega328P, Opta, Portenta, PLC, automazione industriale.

Arduino è un marchio

Arduino è un marchio registrato, non il nome generico di una scheda elettronica con cui svolgere esperimenti.

Il marchio identifica un ecosistema composto da piattaforme hardware, strumenti di sviluppo, librerie software e prodotti destinati ad ambiti molto diversi. Sotto il nome Arduino si trovano infatti schede per la formazione e la prototipazione, moduli con microcontrollori a 8 e 32 bit, sistemi multicore, dispositivi con connettività integrata, controllori industriali e micro-PLC.

La presenza di questi prodotti nello stesso catalogo non significa che appartengano a una categoria tecnica omogenea, così come la possibilità di programmarli mediante strumenti simili non li rende equivalenti dal punto di vista dell’architettura, delle prestazioni o della destinazione d’uso.

Dire semplicemente “un Arduino” equivale quindi a dire “un’automobile”: si comprende il riferimento generale, ma restano da specificare il modello, la struttura, le caratteristiche e l’applicazione prevista.

L’immagine più comune di Arduino deriva dalle schede utilizzate nei corsi introduttivi, nei laboratori e nei kit per principianti. Questo successo ha però prodotto una semplificazione: il prodotto più conosciuto è diventato, nel linguaggio comune, la rappresentazione dell’intero marchio.

Arduino UNO è una scheda Arduino, ma Arduino non è Arduino UNO.

Un ecosistema, non una categoria hardware

I prodotti Arduino non utilizzano tutti lo stesso microcontrollore e non condividono necessariamente la stessa architettura.

Alcune schede sono basate su microcontrollori AVR a 8 bit, altre utilizzano dispositivi ARM a 32 bit, sistemi multicore o moduli dotati di Wi-Fi e Bluetooth. Nei prodotti destinati all’automazione si trovano inoltre alimentazioni industriali, ingressi protetti, uscite a relè, comunicazioni Ethernet e interfacce come RS-485.

Il marchio rappresenta quindi un punto di collegamento tra dispositivi differenti, non una classificazione tecnica autonoma.

Ciò che accomuna molti prodotti Arduino è soprattutto l’accessibilità dello sviluppo: documentazione disponibile, librerie, strumenti software e modalità di programmazione che consentono di passare rapidamente dall’idea al prototipo.

Questa impostazione semplifica l’ingresso nel mondo dei sistemi embedded, ma non elimina le differenze reali tra un piccolo modulo di sviluppo, una scheda multicore e un controllore destinato a un quadro elettrico.

Scheda e microcontrollore non sono la stessa cosa

Una scheda elettronica non coincide con il microcontrollore che contiene.

Il microcontrollore è il componente programmabile che esegue il codice e gestisce ingressi, uscite, timer e periferiche di comunicazione. La scheda aggiunge invece tutto ciò che serve per utilizzare il componente in modo pratico: alimentazione, clock, circuito di reset, interfaccia USB, connettori, protezioni essenziali e, in molti casi, un bootloader per il caricamento semplificato del programma.

Questa integrazione è uno dei motivi principali del successo di Arduino, perché permette di iniziare a sviluppare senza dover progettare ogni volta il circuito minimo necessario al funzionamento del microcontrollore.

La semplicità iniziale riguarda quindi il modo in cui l’hardware viene reso accessibile, non la natura del componente elettronico utilizzato.

Il caso di Arduino UNO

Arduino UNO R3 è una delle schede più conosciute del marchio ed è basata sul microcontrollore ATmega328P.

La scheda comprende l’alimentazione, l’interfaccia USB, il circuito di reset, il clock, i connettori e il bootloader necessario per programmare il dispositivo senza strumenti aggiuntivi. Questa struttura l’ha resa particolarmente adatta alla formazione tecnica, ai laboratori e alla prototipazione rapida.

La sua diffusione ha contribuito a sovrapporre il nome Arduino all’immagine di una singola scheda semplice e immediata, ma questa sovrapposizione non è tecnicamente corretta.

UNO rappresenta un prodotto specifico, con caratteristiche precise e risorse limitate; non può essere utilizzata per descrivere da sola l’intero ecosistema Arduino.

L’ATmega328P non è un componente didattico

L’ATmega328P è un microcontrollore AVR a 8 bit dotato di 32 kB di memoria flash, 2 kB di SRAM, timer, convertitore analogico-digitale e interfacce di comunicazione seriale, SPI e I²C.

Le sue risorse sono ridotte rispetto a quelle offerte da molte architetture moderne, ma il componente non è stato concepito esclusivamente per esercitazioni o prototipi elementari. Appartiene a una famiglia di dispositivi embedded destinata al controllo diretto di circuiti, periferiche e apparecchiature.

Microchip ha reso disponibili anche specifiche versioni dell’ATmega328P qualificate per applicazioni automotive.

Questo non significa che il componente montato su una normale Arduino UNO sia automaticamente una variante automotive, né che la scheda possa essere installata direttamente su un veicolo. La qualificazione riguarda precise versioni del componente, specifici intervalli di temperatura, determinate condizioni operative e requisiti che devono essere verificati sull’intero progetto elettronico.

Il dato resta comunque significativo: il microcontrollore utilizzato su una delle schede più comuni nei corsi introduttivi appartiene a una famiglia di dispositivi embedded disponibile anche in versioni destinate ad applicazioni professionali.

Il contesto di utilizzo della scheda non definisce quindi il valore tecnico del componente.

Potenza di calcolo e adeguatezza

L’ATmega328P non rappresenta il vertice delle prestazioni disponibili nei microcontrollori attuali. È un dispositivo a 8 bit, dispone di poca memoria e lavora a una frequenza contenuta rispetto a molte soluzioni STM32, ESP32, Renesas o ARM multicore.

Questa differenza, tuttavia, non basta per stabilire se un componente sia adeguato a una determinata applicazione.

In numerosi sistemi di controllo non servono centinaia di megahertz, grandi quantità di memoria o sistemi operativi complessi; possono essere più importanti l’avvio immediato, il basso consumo, la semplicità circuitale, la prevedibilità del comportamento e il controllo diretto delle periferiche.

Quando le funzioni richieste sono limitate e chiaramente definite, un microcontrollore a 8 bit può continuare a essere una soluzione perfettamente adeguata. Utilizzare un dispositivo molto più potente del necessario non rende automaticamente migliore il progetto, ma può aumentare consumi, complessità, tempi di sviluppo e possibilità di errore senza offrire vantaggi concreti.

La potenza di calcolo è quindi uno dei parametri da considerare, non il criterio assoluto con cui valutare la qualità di un sistema embedded.

Opta: Arduino nell’automazione industriale

All’interno dello stesso marchio si trova Arduino Opta, sviluppato in collaborazione con Finder, azienda specializzata nei componenti per l’automazione industriale e degli edifici.

Opta è un micro-PLC destinato ad applicazioni di controllo, monitoraggio e Industrial IoT. Può essere programmato attraverso il framework Arduino oppure tramite Arduino PLC IDE, utilizzando i linguaggi previsti dalla norma IEC 61131-3.

Non si tratta di una comune scheda di sviluppo inserita in un contenitore per guida DIN, ma di un controllore progettato espressamente per l’automazione.

Opta utilizza un’alimentazione compresa tra 12 e 24 V in corrente continua, dispone di otto ingressi configurabili come digitali o analogici, quattro uscite a relè ed Ethernet. Le versioni RS485 e WiFi integrano inoltre un’interfaccia RS-485, mentre la connettività Wi-Fi e Bluetooth Low Energy è disponibile sulla versione WiFi.

Pur appartenendo all’ecosistema Arduino e condividendone parte degli strumenti software, Opta appartiene a una categoria tecnica diversa rispetto alle schede destinate principalmente alla prototipazione.

Portenta Machine Control

Un ulteriore esempio è Portenta Machine Control, un’unità industriale destinata al controllo di apparecchiature e macchinari.

Il dispositivo mette a disposizione ingressi e uscite digitali e analogici, alimentazione industriale, comunicazione Ethernet, RS-485 e interfacce adatte all’integrazione con sensori, attuatori e sistemi di supervisione.

Portenta Machine Control utilizza la piattaforma Portenta H7, basata su un microcontrollore STM32H747 dual core, composto da un core Cortex-M7 e un core Cortex-M4. Questa architettura consente di separare attività con requisiti diversi, assegnando per esempio a un core le elaborazioni più complesse e all’altro le funzioni di controllo con vincoli temporali più rigidi.

Dal punto di vista architetturale e funzionale, un sistema di questo tipo è molto distante da una scheda Arduino di base.

UNO, Opta e Portenta condividono il marchio e parte dell’ecosistema software, ma appartengono a categorie differenti. Considerarli equivalenti soltanto perché riportano lo stesso nome sarebbe tecnicamente scorretto.

Scheda, microcontrollore, framework e ambiente di sviluppo

Per comprendere correttamente Arduino occorre distinguere almeno quattro elementi: scheda, microcontrollore, framework e ambiente di sviluppo.

Arduino UNO R3 è il nome di una scheda ufficiale; ATmega328P è il microcontrollore installato sulla scheda; Arduino IDE è uno degli ambienti utilizzabili per scrivere, compilare e caricare il programma; il framework Arduino è invece l’insieme di funzioni, librerie e componenti software che semplifica l’accesso alle periferiche hardware.

Una scheda compatibile Arduino è un prodotto realizzato da terzi che riprende parte dell’hardware, del formato o della compatibilità software dell’ecosistema.

Anche dispositivi basati su ESP32, STM32 o RP2040 possono essere programmati mediante il framework Arduino, ma questo non li trasforma automaticamente in prodotti del marchio Arduino. Rimangono piattaforme basate sulle rispettive architetture, sulle quali viene utilizzato un determinato insieme di strumenti software.

Marchio, scheda, microcontrollore e ambiente di programmazione sono quindi elementi collegati, ma non intercambiabili.

Il cosiddetto linguaggio Arduino

Anche l’espressione “linguaggio Arduino” genera spesso una semplificazione eccessiva.

Arduino non utilizza un linguaggio elementare creato esclusivamente per chi inizia. Gli sketch vengono elaborati e compilati come programmi C++, insieme al core e alle librerie della piattaforma; un progetto può inoltre comprendere file C, C++ e assembly.

Funzioni come digitalWrite, analogRead e millis semplificano l’uso dell’hardware, ma non eliminano ciò che avviene all’interno del microcontrollore. Continuano a esistere registri, timer, interrupt, convertitori analogico-digitali, bus di comunicazione e vincoli temporali reali.

Il framework permette di non affrontare immediatamente tutti questi elementi, offrendo un livello di astrazione che rende più rapido l’avvio di un progetto. Quando l’applicazione diventa più complessa è comunque possibile accedere direttamente alle periferiche, configurare i registri hardware, gestire interrupt specifici e sostituire le funzioni ad alto livello con codice più efficiente.

La semplicità iniziale è quindi una caratteristica dell’ambiente di sviluppo, non una misura della qualità tecnica o delle possibilità del sistema.

Dal prototipo al sistema reale

Una scheda di sviluppo non deve essere confusa con un controllore industriale completo, così come un microcontrollore adatto a un’applicazione professionale non rende automaticamente professionale qualunque circuito che lo utilizzi.

Una Arduino UNO montata su una breadboard non possiede, per il solo fatto di funzionare correttamente, isolamento galvanico, ingressi protetti, uscite industriali, morsetti da quadro o immunità adeguata a qualsiasi ambiente operativo.

Le certificazioni della scheda non sostituiscono inoltre la valutazione della conformità dell’apparecchiatura, dell’impianto o della macchina finale.

Per utilizzare un microcontrollore in un’applicazione reale possono essere necessari alimentatori adeguati, protezioni contro sovratensioni e inversioni di polarità, filtri, watchdog, isolamento, contenitori, sistemi di connessione affidabili e procedure di sicurezza.

Il livello tecnico non dipende soltanto dal microcontrollore o dal marchio riportato sulla scheda, ma dall’intero progetto elettrico, elettronico e software.

Un circuito che accende un LED può essere una semplice esercitazione; un sistema che acquisisce segnali, controlla una macchina, comunica con altri dispositivi, diagnostica guasti e lavora continuativamente non diventa elementare soltanto perché utilizza il framework Arduino, un microcontrollore a 8 bit o un prodotto appartenente allo stesso ecosistema.

Conclusioni

Arduino ha reso lo sviluppo embedded accessibile a un pubblico molto più ampio rispetto al passato. Questa accessibilità viene talvolta confusa con una presunta povertà tecnica, mentre deriva soprattutto dall’integrazione hardware, dalla disponibilità di librerie e dal livello di astrazione fornito dagli strumenti software.

Arduino è un marchio che raccoglie prodotti profondamente differenti: dalle schede per la formazione e la prototipazione fino a controllori come Opta e Portenta Machine Control, destinati all’automazione industriale.

Per valutare correttamente un prodotto occorre considerare il singolo dispositivo, il microcontrollore utilizzato, l’architettura, le interfacce disponibili, le protezioni, il software e la destinazione d’uso.

La qualità di un sistema non è determinata dal fatto che venga programmato con Arduino IDE, che utilizzi il framework Arduino o che condivida il marchio con una scheda diffusa nei corsi introduttivi; dipende da come viene progettato, dimensionato, protetto e realizzato.

Fonti principali