Arduino UNO Q: guida introduttiva (caratteristiche, pinout, esempi)

Sono passati circa quattro mesi dall’acquisizione di Arduino da parte di Qualcomm e dall’arrivo sul mercato di Arduino UNO Q. In questo periodo diversi lettori mi hanno scritto chiedendomi una presentazione più approfondita della scheda e un primo tutorial d’uso.
Va detto che negli ultimi anni Arduino ha fatto un grande passo avanti sulla qualità della documentazione: sul sito ufficiale trovate già molte informazioni e riferimenti utili. Come faccio spesso, però, durante i miei test e soprattutto quando devo preparare materiali per la didattica, preferisco raccogliere, riorganizzare e riformulare i contenuti provenienti da Arduino.cc e dalla documentazione tecnica, così da trasformarli in un percorso più chiaro, progressivo e “a misura di studente”.

Il formato di Arduino UNO Q resta quello “storico” della famiglia UNO, quindi compatibile come ingombri e disposizione generale, ma l’hardware introduce funzionalità insolite per questa categoria di schede. L’elemento distintivo è la presenza di due mondi in uno: da un lato un microcontrollore, dall’altro un microcomputer capace di eseguire Linux. I due sottosistemi sono pensati per dialogare con facilità, aprendo scenari interessanti per progetti IoT e applicazioni più evolute.

Specifiche tecniche

Arduino UNO Q unisce un microcontrollore STM32U585 e un microcomputer Linux basato su Qualcomm Dragonwing QRB2210, mantenendo l’impronta e il layout tipico delle schede Arduino.

Qualcomm Dragonwing™ QRB2210:

  • CPU quad-core Arm® Cortex®-A53 fino a 2,0 GHz
  • GPU Adreno per accelerazione grafica 3D
  • Doppio ISP (13 MP + 13 MP oppure 25 MP) fino a 30 fps

MCU STM32U585 Arm® Cortex®-M33 a 32 bit:

  • Core Arm® Cortex®-M33 fino a 160 MHz
  • 2 MB di memoria Flash
  • 786 kB di SRAM
  • FPU (unità di calcolo in virgola mobile)

Programmare la scheda Arduino UNO Q

Dal punto di vista della programmazione, UNO Q può essere usata come un Arduino tradizionale per gestire i GPIO tramite Arduino IDE, oppure si può sfruttare Arduino App Lab per lavorare in modo integrato sia sul microcontrollore sia sul microcomputer.

La parte MCU si sviluppa in C/C++ (come su molte altre schede Arduino), mentre sulla parte Linux è possibile creare ed eseguire script e programmi in Python.

Anche se la programmazione “a doppio binario” è una delle novità più interessanti, nulla vieta di usare la scheda in modo più semplice: solo MCU (come un Arduino classico) oppure solo Linux (come una single-board computer in stile Raspberry Pi).

In pratica, i possibili approcci sono:

  • Arduino classico: utilizzo del solo MCU;
  • App Lab integrato: ambiente unico con sketch C/C++ (MCU) e programmi Python (Linux/MPU);
  • Linux standalone: uso della scheda come computer Linux, con accesso diretto (ad esempio via SSH) o con periferiche collegate.


Comunicazione tra l’MCU e il microcomputer

Un punto di forza è la comunicazione tra microcontrollore e microcomputer: lo scambio dati avviene tramite uno strumento/libreria chiamato Router Bridge.

Un flusso tipico può essere questo: l’MCU legge sensori e comanda attuatori, poi inoltra i dati al lato Linux dove possono essere elaborati con software più complessi. In questo modo puoi, ad esempio, eseguire modelli di IA, fare elaborazione di immagini o audio, o interfacciarti con servizi web avanzati, continuando però a gestire in modo affidabile l’hardware tramite lo STM32.

Arduino App Lab

Arduino App Lab è l’ambiente suggerito per sfruttare al meglio UNO Q, perché riunisce in un unico strumento lo sviluppo per entrambe le parti della scheda.

in App Lab potete:

  • scrivere lo sketch in C/C++ per l’MCU;
  • creare ed eseguire programmi Python sul lato Linux.

Una novità importante sono i Bricks: moduli installabili e riutilizzabili che aggiungono funzionalità pronte, come componenti legati all’IA e ad altre capacità “avanzate”, riducendo il lavoro di integrazione.

Quindi, in App Lab trovi tipicamente:

  • Sketch Arduino per l’MCU
  • Script Python per l’MPU
  • Bricks per completare l’applicazione

Modalità di programmazione

Usando Arduino App Lab, la scheda può essere gestita in tre modalità operative:

  • Collegata al PC (PC-connected): programmazione da computer via USB, usando Arduino IDE o App Lab.
  • Standalone: esecuzione direttamente sulla scheda, come un vero single-board computer, sfruttando l’App Lab già presente.
  • Wireless: connessione via Wi-Fi (o Bluetooth) per caricare il codice ed eseguire il debug da remoto da PC o dispositivo mobile.

Può essere utilizzata come computer standalone

Come avviene con un Raspberry Pi, UNO Q può funzionare come computer Linux autonomo: potete collegare monitor, tastiera e mouse, oppure gestire tutto dal tuo PC accedendo al Terminale via SSH.

In configurazione standalone potete continuare a usare Arduino App Lab (preinstallato) per sviluppare sia per la parte microcontrollore sia per la parte Linux.

Archiviazione e connettività integrate

Per l’uso embedded è utile la presenza di memoria eMMC integrata (tagli da 16 GB o 32 GB) e di RAM LPDDR4 (2 GB o 4 GB), che garantiscono rapidità di accesso e una base di storage affidabile.

Sul fronte IoT, la scheda integra anche Wi-Fi e Bluetooth, rendendo più semplice la connessione e la comunicazione con dispositivi e servizi.

Header di espansione e connettori

Oltre ai connettori tradizionali dei GPIO (pensati per mantenere compatibilità con gli shield), UNO Q offre anche connettori ad alta velocità sul retro, utili per collegare display, camere o dispositivi audio.
È presente anche un connettore Qwiic, pensato per collegare in modo immediato sensori e attuatori I2C in modalità plug-and-play.

In aggiunta, la scheda include una matrice LED integrata, comoda per visualizzare messaggi o stati del sistema senza hardware esterno.

Pinout di Arduino UNO Q

La disposizione dei pin resta quella familiare dell’UNO: 14 I/O digitali (con 6 PWM), 6 ingressi analogici, i pin di alimentazione (3,3 V, 5 V, GND) e l’header ICSP. In più, trovi interfacce dedicate ad alta velocità come MIPI CSI/DSI per fotocamere e display, e il connettore Qwiic I2C per concatenare più sensori con facilità.

Sono inoltre presenti 4 LED RGB integrati: 2 gestibili dal lato MPU e 2 dal lato MCU.

Per tutti i dettagli conviene fare riferimento al PDF completo del pinout.

Primo test della scheda

Dato che la scheda può essere usata in modi diversi, un primo test rapido può includere sia microcontrollore sia microcomputer. In questo esempio si usa Arduino App Lab installato sul computer, con la scheda collegata via USB-C.

Per procedure alternative (accesso SSH, modalità rete, utilizzo come computer autonomo, ecc.) è consigliato consultare il Manuale Utente ufficiale di Arduino UNO Q.

Installare ed eseguire Arduino App Lab sul computer

  1. Aprite l’URL indicato e scarica Arduino App Lab sul vostro PC;

  1. avviate il programma di installazione;
  2. eseguite Arduino App Lab;
  3. collega Arduino UNO Q al computer con un cavo USB-C.

Se avete incertezze sui passaggi, la documentazione ufficiale include una guida dedicata all’installazione.

  1. Appena connettete la scheda al computer il sistema operativo e ambiente di sviluppo riconoscano la scheda, selezionate l’opzione USB.

  1. Le fasi successive permetteranno la configurazione e l’aggiornamento completo della scheda.

Selezione della lingua di sistema e del nome della scheda, potete selezionare un nome proposto oppure inserirne uno vostro a piacimento

Selezionare la vostra rete WiFi

Inserire la password WiFi

Verrà avviato la ricerca di aggiornamenti di sistema

L’aggiornamento può richiedere alcuni minuti

Al termine dell’aggiornamento vi verrà richiesto di riavviare App Lab

Al successivo avvio potrete selezionare la modalità di connessione: USB o WiFi, nell’esempio che segue ho selezionato USB

Viene avviato il controllo di eventuali aggiornamenti

Al primo avvio viene richiesto l’inserimento di una password di sistema

Enterete in App Lab.

L’app Blink LED

Per verificare rapidamente che tutto funzioni e per familiarizzare con App Lab, potete avviare l’esempio integrato Blink LED.

Nella colonna di sinistra aprite Examples e scegliete Blink LED.

A quel punto vedrete i file del progetto. Controllate che siano presenti:

  • una cartella python con il codice destinato all’MPU;
  • una cartella sketch con lo sketch Arduino per l’MCU.

Blink LED – Panoramica dell’app

Nel progetto è incluso un file README.md che descrive comportamento e logica dell’esempio. L’app, oltre a mostrare il controllo di un LED integrato lato MCU, dimostra anche il passaggio dati tra MPU e MCU:

  • un programma Python esegue un ciclo periodico che cambia lo stato del LED;
  • Router Bridge fa da collegamento tra Python e sketch Arduino;
  • Python invia lo stato allo sketch;
  • lo sketch riceve lo stato e pilota il LED integrato di conseguenza.

Aprendo main.py trovate il codice Python, mentre in sketch.ino trovate lo sketch Arduino.

Non entro nel dettaglio del funzionamento perché la spiegazione è già presente nel file  README.md.

Eseguire l’app

Per avviare l’esempio è sufficiente premere Run.

E’ possibile avviare in automatico allo startup l’applicazione attivando il selettore.

L’IDE compila e distribuisce il codice sulla scheda: può volerci qualche minuto. Durante l’avvio e l’esecuzione, l’interfaccia passa alla scheda Console, dove trovate:

  • l’avanzamento della fase App Launch,
  • il Serial Monitor,
  • la Python Shell.

In questo caso non vengono prodotte stampe sul monitor seriale o sulla shell, quindi resteranno vuoti.

Quando il programma è attivo, noterete il LED rosso integrato che lampeggia con periodicità di circa un secondo.

Con questa introduzione volevo offrire un quadro rapido di cosa rende speciale Arduino UNO Q. Per approfondire specifiche e procedure, la via migliore resta la documentazione ufficiale.

La combinazione tra microcontrollore e microcomputer apre possibilità interessanti per l’IoT: puoi mantenere la semplicità della gestione di sensori/attuatori sul lato MCU e, allo stesso tempo, usare Linux per compiti più pesanti come IA, web server complessi, servizi self-hosted (ad esempio database locali) e altre applicazioni avanzate.

Detto questo, per chi inizia da zero con microcontrollori e IoT, spesso è più efficace partire con una piattaforma più essenziale: una scheda Arduino “classica”, un ESP32 o un Raspberry Pi Pico aiutano a costruire le basi prima di passare a un sistema più articolato come UNO Q. In alternativa, si può usare UNO Q limitandosi alle funzioni dell’MCU e programmando con Arduino IDE; però, per progetti semplici di automazione, può risultare una scelta un po’ eccessiva.

Buon Making a tutti 🙂

Un pensiero su “Arduino UNO Q: guida introduttiva (caratteristiche, pinout, esempi)

Rispondi a Giuseppe Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.