Back to blog

Zoobot: un robot che cammina con soli 4 servo motori

Sto costruendo un robot da zero, sarà un giocattolo, ma soprattutto il kit per il mio corso di Arduino nelle scuole medie.

Diario di bordo del progetto.

[ 20 maggio 2026 ]

Questo progetto nasce da un’esigenza reale: avere un kit semplice, programmabile, facile da montare, per il corso di robotica che tengo a ragazzi di 2a e 3a media.

Il corso dell’anno prossimo seguirà infatti il precedente sulle basi di Arduino, elettronica, sensori e attuatori, pertanto dovrebbe essere un corso con un kit di robotica. In anni passati abbiamo utilizzato il robot Penguin (un clone del robot bipede open source Otto).

Le problematiche col Penguin-bot riguardano il software che è un po’ complicato (per ovviare a questo problema ho provveduto a realizzare un’apposita libreria), ma poi ha scoperto un difetto hardware che è presente nei kit venduti su Amazon in Italia e acquistati dalla scuola.

Inoltre il risultato del lavoro per gli studenti è poco omogeneo, il robot non è facile da montare e se alcuni ragazzi completano correttamente il lavoro, altri finiscono per avere un robot che non funziona bene, le gambe sono “molli” e un po’ instabili, oppure i ragazzi perdono le viti, o rompono i motori durante il montaggio. Insomma non sono stato soddisfatto.

Il robot da realizzare deve essere molto semplice da assemblare, le lezioni a disposizione sono brevi, durano infatti solo 1 ora. Così, dopo aver analizzato e provato diversi kit di robotica, ho scelto la soluzione autarchica: lo faccio io.

[ 15 giugno 2026 ]

Non avendo io grosse capacità col disegno 3D, decido di non perdere tempo sul design del robot, e coinvolgo l’amico e compagno di progetti Andrea Barra, designer di lampade, ma anche di barche e di qualunque altra cosa come è giusto che debba essere un designer.

Abbiamo iniziato a costruire un telaio tridimensionale per ospitare e tenere insieme i motori e provare così i movimenti.

I movimenti: il problema principale dell’utilizzo di soli 4 servo è che i movimenti sono un po’ limitati, è come avere le gambe senza il ginocchio.

Tuttavia è possibile creare gesti, pose, passi che consentono il reale utilizzo del kit a fini didattici, ma anche come gioco.

Il kit, prima proof of concept, è basato su questi componenti:

  • una scheda XIAO ESP32S3, nella versione “Sense” cioè dotata di microfono e telecamera.
  • 4 servo motori, 180°
  • batteria 3.7V
  • modulo di ricarica e step up 5V

Il tutto montato su una perfboard e tenuto insieme da un elastico.

Il primo software è stato scritto con VSCode e Claude, ogni riga è stata verificata by human, si può compilare con Arduino IDE e si può caricare anche in modalità OTA.

La parte più complessa della programmazione del robot è la gestione dei movimenti, ed è avvenuta in modo empirico: trovare le posizioni delle gambe per fare un passo.

Per velocizzare ho realizzato un’interfaccia web che permette di caricare sequenze di numeri che rappresentano gli angoli di tutti e quattro i motori, quando la sequenza funziona è poi possibile salvare nella ESP 32 tutti i parametri.

[ 22 giugno 2026 ]

Andrea aggiunge un po’ di visione tridimensionale, propone di aggiungere dei caratteri, non è più solo un “cane” o un generico animale robot a quattro zampe, utilizzando dei carta modelli e utilizzando delle luci è possibile creare dei caratteri ben definiti: cane, maialino, coccodrillo, etc.

Nome proposto: Zoobot.

Iniziamo a definire gli spazi per le cose.

[ 28 giugno 2026 ]

Andrea Barra ha esplorato un po’ l’idea degli animali!

Intanto, con l’editor dei movimenti è più semplice programmare pose, e cercare di costruire movimenti coordinati più complessi.

[ 6 luglio 2026 ]

Una nuova versione del telaio è pronta, ho ridisegnato la PCB che sosterrà tutti i componenti, ho deciso di aggiungere al progetto anche un sensore di distanza per migliorare la comprensione del mondo esterno e poter ampliare i compotamenti. Inoltre ho aggiunto su richiesta di Andrea la luce per caratterizzare gli animali (verde per il coccodrillo, rosa per il maialino…).

Il sensore di distanza scelto è un TOF, un sensore ad infrarosse, molto più piccolo dei classici sensori ad ultrasuoni. Gli occhi del nostro Zoobot saranno asimmetrici dato che il TOF è allungato, mentre la camera è rotonda, questo ci sembra conferirgli un certo sguardo simpatico e buffo.

Un po’ di disegni e screen:

Zoobot sta prendendo forma!

Prossime attività in programma:

  • stampa di un primo PCB per montare un prototipo completo.
  • Preparazione del nuovo software.
  • Definizione del software base che verrà preinstallato per consentire di giocare senza dover fare il corso

Promemoria, questo dovrebbe essere il programma del corso con Zoobot:

  • Lezioni base via Arduino IDE:
    • giocare con la luce
    • leggere le distanze
    • muovere i motori
  • Lezioni base, un po’ più articolate
    • leggere le distanze e interagire di conseguenza con i motori
    • distanze e luce
    • movimenti coordinati, uso dell’interfaccia web per testare i movimenti
    • creare nuovi movimenti
  • Lezioni avanzate, uso telecamera
    • fare una foto
    • leggere la luminosità dell’ambiente con la telecamera
    • sdraiare l’animale quando è buio, farlo alzare quando c’è luce
  • Lezioni avanzate, microfono
    • usare il microfono e visualizzare l’onda in Arduino IDE monitor
    • usare il microfono come sensore per attivare il robot
  • Lezioni finali
    • usare un fischio bitonale per dare un comando al robot
    • misurare la distanza di un ostacolo e aggirarlo
    • usare un codice ArUco per mostrare la strada al robot
    • creazione di una wake word con ML per svegliare il robot

Canonical URL