Il core Arduino per Zephyr RTOS ha raggiunto la versione 1.0.0. Questa release segna il completamento della transizione dal vecchio core basato su MbedOS. Il nuovo core fornisce una base moderna e flessibile per le schede Arduino attuali e future. Inoltre, consente l’uso delle funzionalità e delle API di Zephyr RTOS direttamente dagli strumenti Arduino IDE, Arduino CLI e Arduino App Lab.
Il progetto si basa su un’architettura a due componenti. Il core genera un file elf autonomo che viene caricato dinamicamente da un firmware Zephyr precompilato, chiamato loader. Il loader gestisce l’interazione tra gli sketch e il sistema Zephyr sottostante. Dopo l’installazione iniziale del bootloader, il loader automatizza il processo di caricamento degli sketch. La versione 0.90.0 ha reso completamente automatica la procedura di installazione del loader Zephyr.
Il loader e le sue modalità operative
Il comportamento del loader si regola tramite il menu Mode dell’IDE. Nella modalità Standard, il loader carica lo sketch automaticamente. Nella modalità Debug, invece, richiede di digitare ‘sketch’ nella shell di Zephyr. Questa flessibilità rende il debug molto più agevole. Il progetto del loader è generico: le modifiche specifiche per scheda si fanno nei file DTS overlay o fixup.
Il core è validato con la versione v0.16.8 dello Zephyr SDK. Per lo sviluppo si usano gli strumenti standard dell’ecosistema Zephyr, come west e sync-zephyr-artifacts. Inoltre, il core sfrutta componenti come llext, il meccanismo di estensione dinamica, e zephyr-sketch-tool per la compilazione degli sketch. Il tutto si appoggia su ArduinoCore-API per mantenere la compatibilità con l’ecosistema Arduino.
Cosa serve per iniziare
Per provare il core Zephyr serve una scheda supportata e un ambiente di sviluppo aggiornato. Ecco i passaggi principali:
- Installare Arduino IDE 2.x.x o Arduino CLI
- Aggiungere il supporto per la scheda tramite il Board Manager
- Installare il core Zephyr dalla versione 1.0.0
- Configurare la modalità del loader dal menu Mode dell’IDE
La versione 1.0.0 del core Zephyr è una release milestone. Il passaggio da MbedOS a Zephyr è completo. Il nuovo core offre una base più solida per il futuro delle schede Arduino. Tra le novità, il supporto per il repository di codice del progetto include tutti i sorgenti del loader e del core. Inoltre, la nuova scheda Arduino UNO Q è tra i primi dispositivi a beneficiare di questa architettura.

Il core Zephyr rappresenta un cambio di paradigma per Arduino. Non si tratta solo di un aggiornamento: è un’infrastruttura pensata per durare. La separazione tra loader e sketch rende il sistema più sicuro e più facile da aggiornare. Inoltre, l’uso di Zephyr RTOS apre le porte a funzionalità avanzate come il supporto a numerosi protocolli e la gestione energetica ottimizzata. Per chi sviluppa applicazioni IoT, questa è una base solida su cui costruire.
La transizione da MbedOS a Zephyr non è stata solo tecnica, ma anche strategica. Zephyr è un RTOS open source con una community attiva e un rilascio regolare. Questo garantisce un supporto a lungo termine per le schede Arduino. Inoltre, la versione 1.0.0 del core è validata con lo Zephyr SDK v0.16.8, assicurando stabilità e compatibilità. Il futuro delle schede Arduino passa da qui.
