Maker Faire Rome 2026: com’è andata e come partire con Alex80 Micro, libreria e Alex80 IDE

Per il secondo anno consecutivo Alexa Academy ha partecipato alla Maker Faire Rome come espositore, e anche questa volta l’esperienza si è confermata per quello che è sempre stata: un’occasione di scambio, prima ancora che di presentazione. Un indicatore curioso di com’è andata è il tempo che sono riuscito a dedicare al giro della fiera: già l’anno scorso era stato poco, quest’anno ancora meno. Lo considero un buon segno, perché vuol dire che allo stand c’è sempre stato qualcuno con cui parlare.

Il video di questa settimana ha quindi due anime. Da un lato un piccolo resoconto della fiera, degli incontri e dei progetti visti da vicino; dall’altro una guida rapida, aggiornata agli strumenti di oggi, per chi ha acquistato o sta per acquistare il kit Alex80 Micro e vuole iniziare subito a sperimentare con lo Z80.

Uno stand per tutte le età

Quest’anno lo stand si trovava in un grande gazebo che ospitava otto espositori in tutto, accanto a un’area dedicata ai ragazzi e alle famiglie e vicino a un ingresso secondario. Il timore iniziale era di avere un’affluenza più scarsa rispetto all’anno scorso, quando eravamo in una posizione più centrale. È successo il contrario: la vicinanza alle iniziative pensate per i più piccoli, unita al fatto di essere al coperto, ha portato un flusso di persone costante per tutte le giornate.

A rendere lo stand adatto a un pubblico così vario ha contribuito la collaborazione con Elab, che propone kit pensati per far imparare l’elettronica da zero a ragazze e ragazzi. Sui due tavoli si poteva seguire quasi un percorso: da un lato i kit per i più giovani, dall’altro il computer basato su Alex80, che quest’anno aveva anche l’uscita VGA e un clone di Breakout (o Arkanoid, a seconda di chi lo chiamava come) giocabile. Il gioco ha attirato grandi e piccoli, ed è stato il pretesto perfetto per raccontare cosa c’è dietro a un computer autocostruito basato sullo Z80.

FPGA e logica programmabile spiegate dal vivo

Accanto ad Alex80 c’era la scheda di sviluppo con Xilinx Spartan-6 che usiamo nel corso di elettronica digitale, con un piccolo orologio implementato sulla FPGA. Ha suscitato due reazioni molto diverse. Chi conosceva già le FPGA si è fermato a discutere di pro e contro, e di come oggi sia possibile avere a casa schede di questo tipo con possibilità impensabili fino a qualche anno fa. Chi invece non ne aveva mai sentito parlare ha avuto l’occasione di scoprire cosa sia una logica programmabile, partendo da un’idea di “programmazione” legata solo al software.

È una distinzione che vale sempre la pena ribadire: anche se il VHDL assomiglia a un linguaggio di programmazione, nel caso di una FPGA non stiamo scrivendo istruzioni da eseguire, ma descrivendo una configurazione dei collegamenti hardware.

I compagni di tendone e gli incontri in fiera

Uno degli aspetti più piacevoli della Maker Faire sono i vicini di stand. Da un lato c’era Buzz 80 di Manuel Curcuruto, un computer didattico basato sullo Z80: un progetto con diverse somiglianze con Alex80, pur essendo nato in modo del tutto indipendente. Si scherzava sul fatto che, se qualcuno avesse chiesto “perché proprio lo Z80?”, la risposta sarebbe stata semplice: siamo già in due a proporlo, un motivo ci sarà. Chi segue il canale conosce bene le ragioni di questa scelta.

Dall’altro lato c’era un’associazione di radioamatori di Roma, con strumentazione varia e anche un telegrafo, utile per mostrare ai più giovani tecnologie che probabilmente non avevano mai visto da vicino. Un mondo che, lo ammetto, conosco poco anch’io, e che proprio per questo è stato interessante scoprire nei momenti di calma prima dell’apertura e dopo la chiusura.

Sensori, terrari e robot in romanesco

Nel poco tempo a disposizione sono riuscito a seguire una presentazione allo stand ST, tenuta da un’azienda partner, dedicata alla sensoristica applicata a contesti a cui di solito non si pensa: dai bulloni dei tiranti dei ponti alle macchine del caffè, fino agli ascensori, con l’obiettivo di capire quando serve un intervento di manutenzione prima che si verifichi un guasto.

Poi un salto da Marco Lucani, conosciuto proprio alla fiera dell’anno scorso, che propone un terrario ricavato all’interno di un iMac. Il sistema usa un ESP32 per gestire l’ambiente a tutto tondo: simulazione di alba e tramonto, controllo dell’umidità in eccesso e così via. Accanto c’era lo stand di Marco Battista, alla sua prima Maker Faire, con cui avevamo già scambiato qualche informazione logistica nei mesi precedenti. Nell’area robotica, invece, ho ripreso un piccolo robot programmato per parlare in romanesco, che si mostrava piuttosto titubante davanti alle scale.

Quest’anno c’è stata anche la prima intervista allo stand, fatta da una persona che già l’anno scorso era passata a trovarmi e che mi aveva raccontato di voler aprire un canale YouTube. Lo ha fatto davvero, e nella confusione dello stand non sono riuscito a farmi dare il nome del canale: se stai leggendo, scrivimelo nei commenti al video così posso aggiungerlo in descrizione.

Alex80 Micro: lo Z80 su una shield per Arduino

In fiera ha destato interesse anche il più piccolo della famiglia, Alex80 Micro: una shield per Arduino UNO, nelle versioni R3 e R4, che permette di sperimentare con un vero Z80. Il kit contiene tutto il necessario per realizzarla, Z80 compreso. Per tutto il mese di novembre è in promozione sullo shop a 49 euro invece di 69.

Il momento è particolarmente adatto, perché il corso di elettronica digitale sta per entrare nel capitolo dei microprocessori, e lo Z80 sarà il riferimento per capire come funziona un sistema a microprocessore, forte dell’esperienza fatta con Alex80 e Alex80 Micro. Sul canale c’è tutta la serie di video che racconta il percorso di sviluppo, ma chi ha appena ricevuto il kit vuole giustamente capire come iniziare subito: ecco quindi lo stato attuale degli strumenti software.

La libreria Alex80 Micro Library per Arduino

Il primo tassello è la libreria Alex80 Micro Library, disponibile su GitHub. Non è ancora pubblicata nel gestore librerie di Arduino, quindi va scaricata e copiata a mano nella cartella delle librerie. Una volta installata, tra gli esempi dell’IDE di Arduino compare la voce Alex80 Micro con alcuni sketch pronti:

  • un contatore, utile come primo test per verificare che le saldature siano corrette e che tutto funzioni;
  • un esempio con il BASIC;
  • Alex80 Micro Manager Terminal, lo sketch che permette ad Arduino di dialogare con l’Alex80 IDE.

Per ora il terminal va caricato manualmente su Arduino; in futuro l’idea è di integrare direttamente nell’IDE la possibilità di programmare la scheda.

Alex80 IDE: assemblatore e strumento didattico multipiattaforma

Il secondo strumento è Alex80 IDE, scritto in Avalonia e quindi multipiattaforma: Windows, macOS e Linux. È ancora in evoluzione continua, e quando arriverà a una versione 1.0 stabile potrebbe essere pubblicato sugli store di Windows e Mac. Nel frattempo, chi non vuole installare l’ambiente di sviluppo e compilarlo da sé può scaricare gli eseguibili già pronti dalla sezione Actions del repository GitHub: aprendo l’esecuzione più recente, tra gli artifacts si trovano le build per Windows, Linux e macOS, sia Intel sia Apple Silicon.

All’avvio l’IDE propone automaticamente l’ultima connessione riuscita, compreso il baud rate: 9600 per Arduino R3 e 115200 per R4. Dopo il comando di connessione si può interrogare la scheda e verificarne la configurazione. In quella di base, senza schede esterne, sia il clock sia la memoria sono forniti da Arduino. Una nuova versione del bus expander, questa volta con il pulsante di reset che mancava nella precedente, sarà protagonista di un prossimo video.

Dal conteggio binario al primo programma modificato

Impostando il clock a 100 Hz e avviandolo, i LED della shield iniziano a contare in binario. Il motivo è che, quando la memoria è fornita da Arduino, al suo interno è precaricato un piccolo programma di test. Leggendo la memoria dall’indirizzo zero si ritrova il codice macchina:

  • AF, cioè XOR A, che azzera l’accumulatore;
  • D3 00, l’istruzione OUT che invia l’accumulatore all’indirizzo di I/O dei LED;
  • 3C, l’incremento dell’accumulatore;
  • C3 01 00, il salto all’indirizzo 0001, scritto con il byte meno significativo per primo.

Il risultato è un ciclo infinito che fa uscire sui LED un valore crescente. Per vedere la differenza basta modificare il sorgente sostituendo lo XOR con LD A,5, così il conteggio parte con alcuni LED già accesi. Premendo “Assembla”, l’IDE mostra il listing con il nuovo codice 3E 05 al posto di AF e, sotto, la sequenza di codice macchina pronta da caricare. Un secondo pulsante la scrive direttamente in RAM. Rileggendo la memoria si nota un dettaglio interessante: l’istruzione iniziale occupa ora due byte invece di uno, quindi anche il salto finale punta all’indirizzo 0002 invece che a 0001. Dopo un reset del processore e il riavvio del clock, il conteggio parte effettivamente da 5.

Esecuzione passo passo e T-state

La funzione più interessante dal punto di vista didattico è la zona di log, che permette di seguire l’esecuzione clock per clock. Dopo un reset si osserva prima la fase di uscita dal reset, poi il fetch della prima istruzione: l’IDE mostra lo stato corrente, l’istruzione caricata, il numero di T-state previsti (7 per LD A,n, 11 per OUT) e un collegamento alla pagina del manuale dello Z80 che descrive quell’istruzione. Il listing evidenzia il punto in cui ci si trova e i registri si aggiornano quando l’istruzione è stata completata. Si può avanzare di un singolo colpo di clock oppure di un’intera istruzione: eseguendo la OUT, per esempio, sui LED compare il valore 5, cioè 00000101.

Sono informazioni che torneranno utili quando, nel corso, scenderemo nel dettaglio del datasheet dello Z80. Una prima versione di questa vista era già comparsa in un video precedente dedicato all’introduzione dello Z80, ma allora era stata scritta piuttosto in fretta; oggi, anche grazie all’aiuto dell’intelligenza artificiale, è diventata più rapida da sviluppare, più curata e più funzionale.

Strumenti pensati per imparare

Alex80 IDE è pensato per funzionare anche con Alex80 e, in prospettiva, con l’eZ80, su cui per ora siamo ancora a livello di prototipi e sperimentazione. Come gli altri strumenti su cui sto lavorando, tra cui Circuit Deck, in arrivo anche in versione Windows e già usato nei video sulla logica combinatoria e sequenziale in VHDL, ha un doppio obiettivo: essere un ambiente di sviluppo utilizzabile davvero, oggi come assemblatore e magari in futuro anche come compilatore C, ed essere uno strumento per capire come funziona un sistema a microprocessore. Anche il clock limitato di Arduino, che si può superare solo con un clock esterno, in questo contesto diventa un vantaggio: permette di osservare con calma tutto quello che succede.

Chiudo ringraziando tutti quelli che sono passati allo stand, i compagni di tendone e chi ha acquistato kit e schede, un aiuto concreto per portare avanti le attività del canale.

Avatar Paolo Godino