Meglio un ESP32, un Arduino o un Raspberry Pi?
ESP32, Arduino e Raspberry Pi a confronto su processore, sistema operativo, consumi, controllo in tempo reale, connettività e prezzo, e quando usarli.
Foto: Vishnu Mohanan / Unsplash
Dopo aver letto questo articolo saprai:
- Spiegare la differenza fra una scheda a microcontrollore e un computer a scheda singola con Linux
- Confrontare consumi, comportamento in tempo reale e connettività integrata delle tre piattaforme
- Scegliere la scheda giusta per un nodo sensore, un progetto didattico o un gateway locale
In questa pagina
I tre nomi non indicano lo stesso tipo di oggetto. L’ESP32 è un chip microcontrollore di Espressif con Wi-Fi e Bluetooth integrati. Arduino è una famiglia di schede a microcontrollore più l’ambiente software che le ha rese popolari, e quell’ambiente può programmare anche un ESP32. Il Raspberry Pi è un computer a scheda singola che esegue Linux, più vicino a un piccolo PC che a un sensore. Molti confronti partono male perché mettono in fila un chip, una scheda e un computer come se fossero tre concorrenti.
La risposta breve. Usa un ESP32 per un sensore o un attuatore connesso: un solo compito, Wi-Fi o Bluetooth, costo basso e alimentazione a batteria se progetti per il deep sleep. Usa una scheda Arduino quando impari, insegni o prototipi I/O semplici con shield e una grande raccolta di esempi, e non ti serve il wireless. Usa un Raspberry Pi quando il dispositivo ha bisogno di un sistema operativo completo: un gateway locale, una telecamera, un database, una dashboard web, Home Assistant o più programmi in esecuzione insieme. Molti progetti reali usano un Pi come hub e schede ESP32 come nodi.
| ESP32 | Arduino Uno R3 / R4 WiFi | Raspberry Pi 5 | |
|---|---|---|---|
| Che cos’è | Chip microcontrollore wireless | Scheda a microcontrollore | Computer a scheda singola |
| Processore | 1 o 2 core, fino a 240 MHz | AVR a 16 MHz / Cortex-M4 a 48 MHz | 4 core Cortex-A76, 2,4 GHz |
| Memoria | 520 KB di SRAM | 2 kB / 32 kB di SRAM | Da 1 a 16 GB di RAM |
| Software | Bare metal o FreeRTOS | Ciclo bare metal | Linux |
| Wireless | Wi-Fi 2,4 GHz, Bluetooth | Nessuno / Wi-Fi e Bluetooth tramite ESP32-S3 | Wi-Fi dual band, Bluetooth 5.0 |
| Funzionamento a batteria | Sì, con deep sleep | Possibile, ma la scheda non è pensata per questo | Non pratico |
Che differenza c’è fra un microcontrollore e un computer a scheda singola?
Un microcontrollore mette processore, memoria e periferiche su un solo chip ed esegue un unico programma dalla memoria flash. Si avvia in millisecondi, non ha sistema operativo o ne ha uno molto piccolo, e parla direttamente con i sensori tramite GPIO, I2C, SPI e ingressi analogici. Il datasheet dell’ESP32 indica uno o due core Xtensa LX6 fino a 240 MHz e 520 KB di SRAM. Il classico Arduino Uno R3 è molto più piccolo: un ATmega328P a 8 bit a 16 MHz con 32 kB di flash e 2 kB di SRAM. L’Uno R4 WiFi passa a un Renesas RA4M1 (Arm Cortex-M4) a 48 MHz con 32 kB di SRAM e aggiunge un modulo ESP32-S3 per Wi-Fi e Bluetooth.
Un computer a scheda singola usa un processore applicativo, un microprocessore che richiede RAM e memoria di massa esterne ed esegue un sistema operativo completo. Il Raspberry Pi 5 ha un Arm Cortex-A76 a quattro core a 2,4 GHz e da 1 a 16 GB di RAM, avvia Linux da una scheda o da un disco ed esegue Python, Node.js, container Docker, database e, se vuoi, un desktop. In cambio impiega secondi ad avviarsi, va spento correttamente e dipende da una scheda SD o da un SSD che un’interruzione di corrente può corrompere.
La prova pratica è semplice. Se il progetto è “leggi un sensore, agisci, invia un messaggio”, basta un microcontrollore. Se è “esegui più servizi e conserva i dati”, ti serve Linux.
Quale consuma meno?
L’ESP32, con ampio margine, ma solo se il firmware è scritto per questo. Espressif specifica 10 µA in deep sleep con timer RTC e memoria RTC attivi, e appena 5 µA in hibernation. Mentre trasmette in Wi-Fi lo stesso chip assorbe fra 180 e 240 mA a seconda della modalità. Un sensore a batteria quindi si sveglia, si connette, invia e torna in deep sleep; il tempo passato con la radio accesa decide l’autonomia. Le schede di sviluppo aggiungono un regolatore di tensione, un bridge USB e LED che possono consumare molto più del chip addormentato: misura la scheda, non il datasheet.
Anche il microcontrollore dell’Arduino Uno può dormire, ma la scheda è pensata per l’alimentazione USB e la sperimentazione, e regolatore e interfaccia USB continuano ad assorbire corrente. I progetti Arduino a basso consumo di solito passano a un’altra scheda o al chip nudo.
Il Raspberry Pi 5 richiede un alimentatore USB-C da 5 V e 5 A e consuma watt, non microwatt, per tutto il tempo in cui è acceso. Il suo posto è sulla rete elettrica, magari con un gruppo di continuità: va bene per un gateway in un armadio, non per un sensore in un campo.
Quale è migliore per il controllo in tempo reale?
I microcontrollori. Su un ESP32 o un Arduino un interrupt viene servito in un tempo breve e prevedibile, perché a contendersi il processore c’è solo ciò che hai scritto tu. ESP-IDF è costruito su FreeRTOS, un sistema operativo in tempo reale che permette di dare a un task di controllo motore la priorità sullo stack Wi-Fi. Lo stack Wi-Fi occupa comunque tempo di CPU, ed è uno dei motivi per cui le varianti dual core dell’ESP32 sono diffuse.
Linux standard su un Raspberry Pi non è un sistema in tempo reale. Lo scheduler, la gestione della memoria e gli altri processi possono ritardare il tuo codice in modo imprevedibile, quindi generare impulsi precisi o reagire a un encoder veloce dallo spazio utente non è affidabile. Le configurazioni del kernel per il tempo reale riducono la distanza, ma lo schema abituale è affidare il lavoro critico per i tempi a un microcontrollore (un ESP32, un Arduino o la scheda Pico della stessa Raspberry Pi) e lasciare al Pi il coordinamento via USB, UART o rete.
Come si collegano alla rete?
L’ESP32 ha sul chip Wi-Fi 802.11 b/g/n a 2,4 GHz e Bluetooth v4.2 con Bluetooth LE, ed è per questo che compare in tante prese e lampadine intelligenti. I membri più recenti della famiglia aggiungono radio Thread e Zigbee, come ricorda la voce di glossario sull’ESP32. Un dispositivo può inviare MQTT o HTTPS direttamente a un cloud o a un broker locale senza alcun gateway.
L’Uno R3 non ha alcuna radio; si aggiunge uno shield o un modulo. L’Uno R4 WiFi prende il wireless dall’ESP32-S3 montato sulla scheda, quindi l‘“Arduino con Wi-Fi” è in realtà in parte un ESP32.
Il Raspberry Pi 5 ha Wi-Fi 802.11ac dual band, Bluetooth 5.0 ed Ethernet Gigabit, oltre a porte USB per adattatori Zigbee, Thread o LoRa. È questa combinazione a farne un buon edge gateway: può parlare con i dispositivi a batteria su radio a basso consumo e inoltrare i loro dati via Ethernet.
Quanto costano?
I prezzi cambiano, quindi controlla le pagine ufficiali prima di fare un budget. L’Arduino Uno R3 è a listino a 27,60 dollari nello store statunitense di Arduino (controllato il 22 ottobre 2026). Raspberry Pi ha lanciato un Raspberry Pi 5 da 1 GB a 45 dollari a dicembre 2025 e da allora ha aumentato più volte i prezzi delle varianti con più memoria a causa del costo della memoria; il 1° ottobre 2026 il Pi 5 da 2 GB è salito a 77,50 dollari. Lo stesso articolo di dicembre 2025 indica la scheda a microcontrollore Pico a 4 dollari. Espressif non pubblica un prezzo di listino unico per le schede di sviluppo ESP32, prodotte da molte aziende; di solito sono l’opzione più economica delle tre, e i moduli costano meno delle schede.
La scheda non è tutta la spesa. Un Pi richiede un alimentatore adeguato, una memoria di massa e spesso un case e un dissipatore. Un nodo ESP32 a batteria richiede una batteria, un regolatore scelto per la bassa corrente a riposo e un contenitore. Sui volumi conta il prezzo del chip o del modulo, molto più di quello di qualsiasi scheda di sviluppo.
Quale scegliere?
- Sensore a batteria che trasmette in Wi-Fi o Bluetooth: ESP32, con deep sleep fin dal primo giorno.
- Aula, primo progetto di elettronica, I/O semplici con shield: Arduino Uno o una scheda compatibile.
- Gateway, dashboard locale, Home Assistant, telecamera, database: Raspberry Pi.
- Tempi precisi più rete e archiviazione: un microcontrollore per i tempi, un Pi per il resto.
- Prodotto destinato alla produzione: un modulo (ESP32 o un altro microcontrollore wireless) sulla tua scheda; le schede di sviluppo servono per i prototipi.
L’ambiente Arduino può programmare l’ESP32 tramite il core Arduino di Espressif, quindi partire con gli strumenti Arduino non ti lega a una scheda Arduino. Pianifica presto gli aggiornamenti over-the-air se i dispositivi saranno difficili da raggiungere una volta installati.
Per continuare
- Tipi di dispositivi IoT e i vincoli che ne determinano la progettazione approfondisce i limiti di energia, memoria e costo.
- La guida all’edge computing descrive che cosa fa con i dati un gateway di classe Pi.
- Panoramica della connettività IoT confronta Wi-Fi, Bluetooth LE, Thread e LPWAN per i nodi.
- Matter o Zigbee è utile se le schede finiscono in una smart home.
Argomenti: ESP32, Arduino, Raspberry Pi, microcontrollori, hardware, confronto