Domande frequenti su ESP32

ESP-IDF: SDK, build e confronto con Arduino

// esp-idf · faq

Categoria: ESP32 · ESP-IDF · Aggiornato ad agosto 2026

Cos’è ESP32 IDF, come installarlo e come mettere insieme il primo progetto — ESP-IDF è l’SDK C/C++ ufficiale di Espressif, e va più a fondo del wrapper Arduino. Risposte brevi alle domande che la gente fa quando il gestore schede non basta più.

Cos’è ESP32 IDF?

ESP-IDF (Espressif IoT Development Framework) è l’SDK C/C++ ufficiale di Espressif — l’azienda che fa il chip. Ottieni FreeRTOS, driver hardware e il sistema di build idf.py invece del wrapper amichevole di Arduino. Non è un linguaggio e non è un IDE; è la toolchain con cui parla la documentazione del chip.

Come installare ESP32 IDF?

Su Windows, l’IDE Espressif o l’installer esp-idf configurano Python, Git e toolchain in un’unica esecuzione. Su Linux: git clone –recursive del repository, poi source install.sh e export.sh. Prevedi 4-6 GB di disco e 10-20 minuti; la mia installazione v5.3 su un portatile del 2022 ha impiegato 14 minuti.

Come inserire un progetto in ESP32 IDF?

Un progetto è una cartella: una directory main/ con i tuoi file C più un CMakeLists.txt in cima. Copia uno degli esempi in examples/get-started, esegui idf.py set-target esp32s3 una volta, poi idf.py build. Il codice in stile Arduino non si incastra così com’è — ESP-IDF vuole app_main(), non setup() e loop(). La FAQ per iniziare copre la strada Arduino se è da lì che arrivi.

Come eseguire boot.py su ESP32?

boot.py è lo script di avvio di MicroPython, non un concetto di ESP-IDF. Flasha prima MicroPython (esptool.py write_flash 0x1000 micropython.bin), poi carica boot.py nel filesystem e viene eseguito a ogni avvio. Ti aspetti boot.py su ESP-IDF? Firmware sbagliato per il lavoro.

ESP-IDF o Arduino — quale dovrei usare?

Entrambi funzionano; la risposta dipende dalla tua scheda e dalla tua pazienza. Arduino è un wrapper che nasconde sdkconfig e il sistema di build. ESP-IDF ti dà il controllo e coincide con i documenti ufficiali — che sono buoni, ma danno per scontata l’esperienza con C. Per qualsiasi cosa con deep sleep più Wi-Fi, o per un prodotto, ESP-IDF è la scommessa più sicura; per un prototipo da hobby, Arduino arriva prima.

Cos’è app_main() e perché il mio build lo vuole?

Ogni progetto ESP-IDF definisce esattamente una app_main() — il punto d’ingresso, senza la divisione setup()/loop(). Crea un task FreeRTOS dentro e tienilo vivo. Se il tuo build finisce con ‘undefined reference to app_main’, quella funzione è il pezzo mancante.

Cos’è sdkconfig e devo modificarlo?

sdkconfig è la config generata del tuo progetto, rigenerata a ogni build pulito. Non modificarlo a mano: te lo scrive idf.py menuconfig. Il file da mettere in git è sdkconfig.defaults. La FAQ sui segreti interni spiega come la config si propaga nel build.

Cosa significa “fatal error: driver/gpio.h: No such file or directory”?

Una dipendenza di componente mancante. L’header esiste nell’SDK — il tuo CMakeLists.txt semplicemente non la dichiara in REQUIRES. Una riga lo risolve, ed è l’errore di compilazione ESP-IDF più comune che abbia aiutato a debuggare sui forum. Ci sono incappato nel mio primo progetto alle 2 di notte; la soluzione ha richiesto 20 secondi una volta smesso di farmi prendere dal panico.

Come impostare il baud rate di un ESP32 con ESP-IDF?

Esegui idf.py menuconfig → Serial flasher config → Default flash baud rate. Questa è la risposta diretta a “come impostare il baud rate di un esp32 con ESP-IDF”: è la velocità di flashing, non la velocità UART della tua app. Il baud rate dell’applicazione è un parametro del driver UART che imposti nel codice, separatamente.

Posso eseguire codice Arduino dentro ESP-IDF?

Sì, i core recenti includono Arduino come componente opzionale — idf.py add-dependency espressif/arduino-esp32 lo tira dentro. Funziona quasi sempre, anche se mescolare i due mondi confonde: due sistemi di config, due API per i timer. Scegline uno per progetto. Il debug di un progetto misto è dove la FAQ sul debug si guadagna il pane.

I progetti di questo argomento girano direttamente nel simulatore gratuito di sensbench: circuito pre-cablato, firmware incluso, senza account né installazione.

Leave a Reply

Your email address will not be published. Required fields are marked *