
Questa pagina mostra come utilizzare MicroPython per programmare ESP32. La stessa pagina è disponibile anche per ESP8266.
Il sistema operativo di riferimento è Debian Trixie.
Cosa serve prima di iniziare
Nella pagina https://micropython.org/download sono mostrate le schede supportate. Selezionare l'ultima versione stabile del firmware adatto alla scheda in uso. Per esempio:
Di seguito si farà riferimento alla versione 1.29.0 dell'agosto 2026 per ESP32-C3. Per altre schede o altre versioni del firmware si rimanda alla pagina specifica per il modello per i dettagli.
esptool è il programma ufficiale che permette di comunicare con ESP32 e caricare il firmware. Prima di procedere è vivamente consigliato creare un ambiente virtuale in cui installare le librerie. Da terminale:
vv@vv-i7:~$ mkdir
python
vv@vv-i7:~$ cd python/
vv@vv-i7:~$ mkdir ESP32-C3
vv@vv-i7:~$ cd ESP32-C3
vv@vv-i7:~$ python3 -m venv .venv
vv@vv-i7:~$ source .venv/bin/activate
(.venv) vv@vv-i7:~/python/ESP32-C3$ pip install esptool
Scaricare il firmware:
(.venv) vv@vv-i7:~/python/ESP32-C3$ wget https://micropython.org/resources/firmware/ESP32_GENERIC_C3-20260824-v1.29.0.bin
Questo passaggio, non strettamente necessario, è utile per risolvere eventuali problemi futuri.
Collegare ESP32 al computer tramite USB. Occorre scoprire quale porta è utilizzata, cercandola nella directory /dev/. Utile digitare ls -l /dev/tty seguito due volte dal tasto di tabulazione per il completamento automatico. Il nome è simile a ttyUSB0 oppure ttyACM0; nel dubbio staccare ESP32 dal cavo USB e riprovare.

Le istruzioni dettagliate per installare il firmware sono disponibili nella pagina da cui si scarica il codice, ma se vate fretta potete leggere le righe seguenti:
Prima di installare MicroPython, è necessario cancellare la memoria Flash. Da terminale:
(.venv) vv@vv-i7:~/python/ESP32-C3$ esptool erase-flash
Ora installeremo su ESP32 il firmware scaricato in uno dei passi presedenti. Occorre usare il seguente comando (nota 1), assicurandosi di inserire percorso esatto del file .bin:
(.venv) vv@vv-i7:~/python/ESP32-C3$ esptool write-flash 0 ./ESP32_GENERIC_C3-20260824-v1.29.0.bin
Ora MicroPython è installato su ESP32! Per scrivere il primo codice (come far lampeggiare un LED o connetterti al Wi-Fi), il modo più semplice è usare Thonny IDE:
from machine import Pin
import time
# Configura il Pin 8 (dove è collegato il LED integrato sull'ESP32-C3)
led = Pin(2, Pin.OUT)
while True:
led.value(0) # Accende il LED
time.sleep(0.1) # Attende 100 ms
led.value(1) # Spegne il LED
time.sleep(1) # Attende 1 secondo
Se si desidera che il programma sia eseguito anche staccando ESP32 dal PC occorre salvare il programma con il nome boot.py sul dispositivo.
Nel seguente esempio ESP32 si collega come client alla rete WiFi:
import network
import time
SSID = 'IL_TUO_NOME_WIFI'
PASSWORD = 'LA_TUA_PASSWORD_WIFI'
def connect_wifi():
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
print('Connessione alla rete', SSID,
'in corso...')
wlan.connect(SSID, PASSWORD)
while not wlan.isconnected():
time.sleep(0.5)
print('.',
end='')
print('\nConnessione stabilita con successo!')
ip_address = wlan.ifconfig()[0]
print('Il tuo Indirizzo IP è:', ip_address)
connect_wifi()

Come ulteriore verifica, ESP32 risponde al ping.
Pagina creata nel settembre 2026
Ultima modifica: 26 settembre 2026