Arduino
Schede compatibili con Arduino
Funzionano con l'IDE e le librerie Arduino:
- Seeduino (di Seeed Studio)
- Completamente compatibile con Arduino; spesso più compatto o più economico.
- Versioni come Seeeduino Lotus includono porte Grove per una facile integrazione dei sensori.
- SparkFun RedBoard
- Lo stesso chip ATmega328P di Arduino Uno.
- Progettato per una migliore compatibilità USB e robustezza.
- Adafruit Metro
- Compatibile con Arduino Uno.
- Disponibile nelle varianti ATmega328 o M0/M4 (ARM più potente).
- Elegoo Uno / Mega / Nano
- Cloni più economici delle schede Arduino.
- Ideale per principianti o per l'uso intensivo in classe.
Microcontrollori più potenti
Questi offrono maggiore potenza di elaborazione o funzionalità:
- Lampone Pi Pico / Pico W
- Basato sul chip RP2040 (ARM Cortex-M0+ dual-core).
- Programmabile in MicroPython, C/C++ o tramite Arduino IDE (con configurazione).
- Teensy (di PJRC)
- Molto potente (Cortex-M4 o M7); supporta l'audio, controllo in tempo reale.
- Compatibile con Arduino IDE tramite il componente aggiuntivo Teensyduino.
- ESP8266 / ESP32 (di Espressif)
- Wi-Fi integrato (e Bluetooth per ESP32).
- Compatibile con Arduino IDE e ottimo per IoT.
Consigli industriali/educativi
Sono progettati per durabilità, istruzione o casi di utilizzo estesi:
- Micro:bit (BBC)
- ARM Cortex-M0/M4; ideale per l'istruzione.
- Dispone di sensori integrati, LED e Bluetooth.
- Schede STM32 Nucleo
- Basato sui microcontrollori STM32 ARM Cortex-M.
- Compatibilità dei pin Arduino + ecosistema STM32Cube.
- Particella Fotone / Argon
- Concentrato sull'IoT connesso al cloud.
- Funziona con Particle Cloud e supporta lo sviluppo di tipo Arduino.
Raspberry Pi
Alternative dirette al Raspberry Pi
- Serie Banana Pi (ad esempio, BPI-M5, BPI-M2 Pro)
- Basato su ARM; fattore di forma e layout GPIO simili.
- Spesso più RAM o un I/O migliore, ma il supporto software può essere lento.
- Serie Orange Pi (ad esempio, Orange Pi 5, Orange Pi Zero 2)
- Potenti schede basate su Rockchip/Allwinner.
- Ottime specifiche per il prezzo, ma supporto software/OS meno maturo.
- Serie Rock Pi (di Radxa) (ad esempio, Rock Pi 4, Rock Pi 5)
- Basato su Rockchip RK3399 o RK3588 (molto più potente del Pi 4).
- Buone prestazioni e migliore accelerazione dell'intelligenza artificiale rispetto al Raspberry Pi.
- Serie Odroid (di Hardkernel) (ad esempio, Odroid-C4, Odroid-N2+, Odroid-XU4)
- Basato su ARM Cortex-A73/A55 o Exynos.
- Potente, con un buon supporto Linux e una community attiva.
- Schede per computer Libre (ad esempio, Le Potato, Tritium)
- Fattore di forma compatibile con Raspberry Pi.
- Supporto del kernel Linux principale; focalizzato sull'open source.
SBC più potenti (Edge AI / sostituzione del desktop)
- Serie NVIDIA Jetson (ad esempio, Jetson Nano, Jetson Orin Nano)
- Progettato per l'intelligenza artificiale e la visione artificiale (accelerazione CUDA/GPU).
- Ideale per progetti di robotica e apprendimento automatico.
- BeagleBone Nero / AI-64
- Maggiore attenzione al controllo in tempo reale e all'I/O (PRU).
- BeagleBone AI-64 compete con Jetson e Pi 5 in termini di potenza.
- Serie di schede UP (di AAEON)
- SBC basati su Intel x86.
- Adatto per applicazioni industriali, desktop Windows/Linux o AI edge.
Schede ultracompatte (concorrenti del Raspberry Pi Zero)
- Serie NanoPi (di FriendlyELEC) (ad esempio, NanoPi Neo, NanoPi R5S)
- Piccole, convenienti e con diversi livelli di prestazioni.
- Ideale per progetti IoT headless e embedded.
- Serie LattePanda
- SBC Intel Atom/x86 con coprocessore Arduino opzionale.
- Combinazione unica di potenza PC e I/O microcontrollore.
STM32
Alcune famiglie di microcontrollori che competono direttamente con STM32 (di STMicroelectronics), offrendo caratteristiche simili o migliori a seconda dell'applicazione:
Concorrenti di ARM Cortex-M
- Serie NXP LPC (LPC800 / LPC1100 / LPC54000, ecc.)
- Core ARM Cortex-M0/M3/M4/M33.
- Noto per il basso consumo energetico e il buon supporto USB.
- Forte supporto IDE tramite MCUXpresso.
- Serie Renesas RA e RX
- RA: ARM Cortex-M (RA2, RA4, RA6 con M23/M33).
- RX: Core proprietario a 32 bit, alte prestazioni, basso consumo energetico.
- Affidabilità industriale e disponibilità a lungo termine.
- Serie Nordic Semiconductor nRF52 / nRF53
- ARM Cortex-M4/M33 con Bluetooth Low Energy integrato.
- Ideale per applicazioni wireless a bassa potenza.
- Texas Instruments MSP432 / Tiva serie C
- MSP432: ADC ARM Cortex-M4F, basso consumo e alta precisione.
- Tiva C: ARM Cortex-M4, uso generale.
- Serie Gecko EFM32 di Silicon Labs
- Processore ARM Cortex-M0+/M3/M4.
- Consumo energetico estremamente basso (acquisizione Energy Micro).
- Ideale per dispositivi alimentati a batteria.
Chip focalizzati sull'IoT con Wi-Fi/Bluetooth
- Espressivo ESP32 / ESP32-S3 / ESP32-C6
- Varianti RISC-V/ARM dual-core o single-core.
- Wi-Fi + BLE integrati.
- Basso costo, supporto Arduino e MicroPython.
- Lampone Pi RP2040
- Cortex-M0+ dual-core (non al livello di potenza grezza dello STM32).
- PIO (Programmable IO) è unico.
- Popolare per il prezzo e il supporto della comunità.
SoC di fascia alta (per attività più potenti)
- Serie NXP i.MX RT (MCU “crossover”)
- ARM Cortex-M7 con velocità fino a 600 MHz.
- Colma il divario tra MCU e MPU (ad esempio, STM32H7 vs. i.MX RT1060).
- Microchip SAM serie E / D / L (precedentemente Atmel)
- Varianti ARM Cortex-M0+/M4/M7.
- Buon IDE (MPLAB X), si integra bene con le periferiche e TrustZone.
Software utilizzato nel sistema embedded
Sistemi operativi in tempo reale (RTOS)
Vengono utilizzati laddove la precisione temporale e la bassa latenza sono cruciali (ad esempio, robotica, medicina, automotive):
RTOS | Caratteristiche principali | concorrenti |
FreeRTOS (di Amazon) | Leggero, portatile, ampio supporto MCU, integrazione AWS | Zephyr, ChibiOS, ThreadX |
Zefiro RTOS (di Linux Foundation) | Supporto scalabile e nativo per l'albero dei dispositivi, rete integrata | FreeRTOS, NuttX |
ChibiOS/RT | Ingombro ridotto, supporto HAL in tempo reale | FreeRTOS, CMSIS-RTOS |
DiscussioneX (Azure RTOS) | Deterministico, supportato da Microsoft | FreeRTOS, Zephyr |
Sistema operativo RIOT | Progettato per dispositivi IoT a basso consumo energetico e bassa memoria | Contiki, TinyOS |
NuttX (di Apache) | Compatibile con POSIX, supporta processori basati su MMU | Zefiro, Linux |
Micrium uC/OS-II / III | RTOS di livello industriale (ora parte di Silicon Labs) | DiscussioneX
|
Distribuzioni Linux Embedded
Utilizzato per processori più potenti (ad esempio, ARM Cortex-A, x86) in applicazioni come edge computing, gateway e dispositivi multimediali:
Linux Distro | Caratteristiche principali | concorrenti |
Progetto Yocto | Crea la tua distribuzione Linux per sistemi embedded | Buildroot, OpenWRT |
buildroot | Costruttore rootfs Linux leggero e semplice | Yocto, Alpino |
OpenWRT | Specializzato per reti/router | DD-WRT, pfSense |
Raspberry Pi OS | Basato su Debian; ufficiale per Raspberry Pi | Armbian, Ubuntu Core |
Nucleo di Ubuntu | Sistema operativo minimo, basato su snap e sicuro per IoT | Yocto, Raspbian |
Bare-Metal / SDK / HAL
Per bassissima latenza e semplicità (nessun sistema operativo):
Piattaforma | Caratteristiche principali | concorrenti |
CMSIS (ARM) | Lo standard ARM per l'astrazione Cortex-M | STM32 HAL, Atmel ASF |
Framework Arduino | Wrapper C/C++ semplice per lo sviluppo embedded | PlatformIO, Energia |
mbed OS (di ARM) | C++ RTOS e IoT SDK, ora uniti in Mbed TLS | Zephyr, FreeRTOS |
IDE e toolchain
Catena di strumenti / IDE | Note | concorrenti |
STM32CubeIDE | Integrato con STM32 HAL e FreeRTOS | Keil MDK, IAR Embedded Workbench |
Keil MDK (braccio) | IDE ARM professionale, debugger in tempo reale | IAR, MPLAB X |
Banco da lavoro incorporato IAR | Ad alte prestazioni, standard del settore | Keil, STM32CubeIDE |
PiattaformaIO | CLI/IDE moderno e multipiattaforma che supporta molti framework | IDE Arduino, MPLAB X |
MPLAB X IDE (Microchip) | Per dispositivi PIC, AVR, SAM | Studio Atmel, Keil |
Studio integrato SEGGER | Noto per l'integrazione del debugger J-Link | IAR, Keil |
Software focalizzato sull'IoT
Sistemi operativi in tempo reale (RTOS) per IoT
RTOS | Caso d'uso ideale | Highlight |
FreeRTOS (Amazon) | Sensori IoT basati su MCU, dispositivi BLE, domotica | Leggero, modulare, integrazione AWS IoT, grande comunità |
Zefiro RTOS | IoT industriale, dispositivi sicuri, sensori BLE/Wi-Fi | Supporto scalabile e nativo per l'albero dei dispositivi, API moderne |
ThreadX (Azure RTOS) | Dispositivi IoT di consumo, dispositivi indossabili | Compatto, deterministico; Azure IoT SDK integrato |
Sistema operativo RIOT | Nodi IoT a basso consumo energetico | IPv6/6LoWPAN, open source, a basso consumo energetico |
Contiki-NG | Reti di sensori wireless, 6LoWPAN/CoAP | Comprovato nella ricerca, pronto per IPv6, attento al consumo energetico |
NuttX | Sistema operativo simile a POSIX per applicazioni MCU più complesse | Compatibile con SMP, supporta file system e TCP/IP |
Linux incorporato per Edge IoT e gateway
Per dispositivi IoT più potenti (ad esempio gateway, hub intelligenti):
distribuzione | Caso d'uso ideale | Highlight |
Progetto Yocto | Distribuzioni Linux personalizzate per l'IoT industriale | Controllo preciso su kernel e pacchetti |
buildroot | Linux leggero per dispositivi edge limitati | Più semplice di Yocto, tempi di costruzione rapidi |
Nucleo di Ubuntu | Gateway sicuri e dispositivi IoT aggiornati OTA | Aggiornamenti basati su snap, sicuri per progettazione |
OpenWRT | Gateway e router IoT in rete | Ottimo supporto di rete, estensibile |
Sistema operativo Raspberry Pi / Armbian | Hub IoT basati su Pi | Sviluppo più semplice, ampia comunità, accesso GPIO |
SDK / Framework / Middleware
Piattaforma | Ideale per | Caratteristiche |
Framework Arduino | Prototipazione rapida per sensori IoT | Supporto hardware semplice, veloce e ampio |
PiattaformaIO | Sviluppo IoT multipiattaforma | Supporta ESP32, STM32, RP2040 e RTOS |
Sistema operativo Mbed | Dispositivi IoT ARM Cortex-M | Livelli TLS, SDK cloud, RTOS + HAL |
Espressif IDF (ESP32 SDK) | IoT basato su Wi-Fi/BLE | Controllo preciso, ottimizzato per la famiglia ESP32 |
TinyGo | MCU IoT su piccola scala | Ottimo per la sperimentazione, compila in ARM Cortex-M |
Integrazione IoT Cloud (Middleware opzionale)
SDK cloud | Ideale per | Note |
AWS IoT Core + FreeRTOS | Dispositivi embedded connessi al cloud | Dispositivi OTA, MQTT e shadow sicuri |
Azure IoT + ThreadX / RTOS | IoT industriale | Integrazione stretta con i servizi di Azure |
Google Cloud IoT Core (SDK di terze parti) | Prototipazione con ESP32/RPi | Ufficialmente deprecato, ma utilizzabile |
ThingsBoard / Node-RED | Dashboard IoT locali o personalizzate | Ottimo per sistemi di controllo fai da te/locali |
Raccomandazioni per tipo di dispositivo IoT
Tipo di dispositivo | Stack consigliato |
Sensore alimentato a batteria | FreeRTOS o Zephyr + MQTT + PlatformIO |
Elettrodomestico intelligente (Wi-Fi) | ESP32 + FreeRTOS o Espressif IDF |
Dispositivo indossabile / BLE | Zephyr + Nordic nRF52 + NimBLE |
Gateway IoT | Raspberry Pi + Ubuntu Core o Yocto + Node-RED |
Nodo sensore industriale | STM32 + ThreadX / Zephyr + MQTT/CoAP |