Vai al contenuto

Zigbee su Arduino Nano Matter: arriva il supporto con il core 5.0

Scheda Arduino Nano Matter affiancata dalla scritta con il nome del prodotto su sfondo azzurro.
Immagine: Arduino / YouTube

Dal 15 settembre 2026 la scheda Arduino Nano Matter parla anche Zigbee. Lo racconta il blog ufficiale di Arduino: basta aggiornare il core Arduino per Silicon Labs alla versione 5.0, scegliere Zigbee da Tools › Protocol stack e lo sketch viene compilato con lo stack Zigbee 3.0. Secondo Arduino, la scheda può così entrare nella rete di lampadine, sensori e interruttori che usano già questo standard, con hub come Amazon Echo e SmartThings, Hubitat Elevation (C-8), IKEA DIRIGERA o Home Assistant con una radio Zigbee.

Introducing Arduino Nano Matter: Unify Your Smart DevicesIl video si carica da YouTube quando premi play

Come si attiva Zigbee sulla Nano Matter

Finora, spiega Arduino, gli sketch avevano due strade verso la smart home: Matter over Thread e Bluetooth LE, entrambe sul modulo Silicon Labs MGM240S. Zigbee è la terza, nello stesso menu e IDE. I passaggi:

  • aprire il Boards Manager dell’Arduino IDE, cercare Silicon Labs e installare la versione 5.0.0;
  • scegliere Nano Matter come scheda e impostare Tools › Protocol stack su Zigbee;
  • con una scheda nuova, o passando da Matter o BLE, impostare Tools › Programmer su OpenOCD ed eseguire una volta Tools › Burn Bootloader: l’operazione cancella la scheda, compresa l’eventuale rete salvata;
  • aprire File › Examples › Zigbee, scegliere un esempio e caricarlo, con il coordinatore in modalità di associazione.

Gira un solo stack per sketch: per cambiare protocollo si seleziona un altro stack e si ricarica lo sketch.

Uno sketch Zigbee in poche righe

La nuova libreria avvolge lo stack EmberZNet di Silicon Labs in classi in stile Arduino. Un sensore è un oggetto: si dà un nome al dispositivo, si chiama begin() e si riportano i valori. Home Assistant, con l’integrazione ZHA, riconosce la scheda come un qualsiasi dispositivo Zigbee. L’ingresso in rete può richiedere qualche minuto e il Serial Monitor mostra canale e PAN ID.

La rete resta nella memoria non volatile: dopo un reset o un nuovo upload la scheda ne fa ancora parte.

Avvertenza di Arduino: negli esempi pronti i valori di umidità e luce sono inventati, mentre l’esempio della temperatura misura il chip MG24 e non la stanza. Per dati reali serve leggere un sensore vero, per esempio un Modulino Thermo, cambiando poche righe.

14 esempi pronti per 11 tipi di dispositivo

La libreria include 14 esempi che coprono 11 tipi di dispositivo:

  • luci on/off, dimmerabili e a colori, più una presa on/off;
  • un interruttore che invia comandi on/off e di regolazione;
  • sensori di temperatura, umidità e luce;
  • un sensore di contatto per porte, finestre o cassetti;
  • un reporter della fonte di alimentazione e un client dell’ora che la chiede alla rete.

I dispositivi possono entrare in rete come router, la modalità predefinita che inoltra il traffico della mesh, oppure come end device.

Binding diretto, Find-and-Bind e Identify

Con i binding, un interruttore legato a una luce la controlla direttamente, senza aspettare un’automazione dell’hub. Per l’interruttore della libreria il binding si crea una volta in Home Assistant ZHA.

Le classi luce e presa possono inoltre fare da bersaglio Find-and-Bind chiamando start_find_and_bind(): i telecomandi Zigbee che supportano la funzione si legano così senza che l’hub configuri il binding. Quando l’hub invia una richiesta Identify, la libreria avvisa lo sketch, che può far lampeggiare un LED; l’esempio zigbee_lightbulb_identify lo fa.

La Nano Matter come coordinatore

Il coordinatore, cioè la radio che forma la rete e fa entrare i dispositivi, può essere un’altra Nano Matter. Il core include il firmware precompilato Zigbee EZSP coordinator, presente dalla versione 4.0, e uno script Python lo carica sulla scheda per farne la radio Zigbee di ZHA. Dalla cartella extra/firmware del core si lancia:

python3 extra_firmware_flasher.py nano_matter zigbee

Serve Python 3 (su Windows il comando è py) e, senza argomenti, lo script elenca le schede supportate. La scheda va poi collegata alla macchina con Home Assistant, per esempio un Raspberry Pi, e aggiunta in ZHA come radio Zigbee.

Per riportarla a dispositivo si usa Tools › Burn Bootloader con programmer OpenOCD, che cancella il firmware del coordinatore e la sua rete, e poi si carica uno sketch Zigbee.

Lo Zigbee Smart Clock, il progetto di prova

Arduino ha sviluppato la libreria insieme a un banco di prova: lo Zigbee Smart Clock, un orologio da scrivania con Nano Matter, Modulino Thermo, Modulino Light e una matrice LED 32×8. Invia a Home Assistant temperatura, umidità e luce, ne riceve l’accensione o lo spegnimento del display, chiede l’ora alla rete e regola da solo la luminosità. La guida completa è su Arduino Project Hub.

Quando serve di più

Per esigenze oltre i tipi di dispositivo comuni, come un cluster personalizzato, un dispositivo insolito o una diversa disposizione degli endpoint, Arduino indica che la stessa scheda esegue l’SDK Zigbee completo di Silicon Labs in Simplicity Studio. Il core è open source e problemi e pull request si possono inviare su GitHub.

Leggi anche