Arduino
Arduino-Compatible Boards
These work with the Arduino IDE and libraries:
- Seeeduino (by Seeed Studio)
- Fully Arduino-compatible; often more compact or cheaper.
- Versions like Seeeduino Lotus include Grove ports for easy sensor integration.
- SparkFun RedBoard
- Same ATmega328P chip as Arduino Uno.
- Designed for better USB compatibility and robustness.
- Adafruit Metro
- Arduino Uno-compatible.
- Comes in ATmega328 or M0/M4 (more powerful ARM) variants.
- Elegoo Uno / Mega / Nano
- Cheaper clones of Arduino boards.
- Great for beginners or bulk classroom use.
More Powerful Microcontrollers
These offer more processing power or features:
- Raspberry Pi Pico / Pico W
- Based on the RP2040 chip (dual-core ARM Cortex-M0+).
- Programmable in MicroPython, C/C++, or via Arduino IDE (with configuration).
- Teensy (by PJRC)
- Very powerful (Cortex-M4 or M7); supports audio, real-time control.
- Arduino IDE compatible via Teensyduino add-on.
- ESP8266 / ESP32 (by Espressif)
- Built-in Wi-Fi (and Bluetooth for ESP32).
- Compatible with Arduino IDE and great for IoT.
Industrial / Educational Boards
These are designed for durability, education, or expanded use cases:
- Micro:bit (BBC)
- ARM Cortex-M0/M4; ideal for education.
- Has built-in sensors, LEDs, Bluetooth.
- STM32 Nucleo Boards
- Based on STM32 ARM Cortex-M microcontrollers.
- Arduino pin compatibility + STM32Cube ecosystem.
- Particle Photon / Argon
- Focused on cloud-connected IoT.
- Works with Particle Cloud and supports Arduino-like development.
Raspberry Pi
Direct Raspberry Pi Alternatives
- Banana Pi Series (e.g., BPI-M5, BPI-M2 Pro)
- ARM-based; similar form factor and GPIO layout.
- Often more RAM or better I/O, but software support can lag.
- Orange Pi Series (e.g., Orange Pi 5, Orange Pi Zero 2)
- Powerful Rockchip/Allwinner-based boards.
- Great specs for the price, but less mature OS/software support.
- Rock Pi Series (by Radxa) (e.g., Rock Pi 4, Rock Pi 5)
- Rockchip RK3399 or RK3588-based (much more powerful than Pi 4).
- Good performance and better AI acceleration than Raspberry Pi.
- Odroid Series (by Hardkernel) (e.g., Odroid-C4, Odroid-N2+, Odroid-XU4)
- ARM Cortex-A73/A55 or Exynos-based.
- Powerful, with good Linux support and active community.
- Libre Computer Boards (e.g., Le Potato, Tritium)
- Raspberry Pi-compatible form factor.
- Mainline Linux kernel support; focused on open-source.
More Powerful SBCs (Edge AI / Desktop Replacement)
- NVIDIA Jetson Series (e.g., Jetson Nano, Jetson Orin Nano)
- Built for AI and computer vision (CUDA/GPU acceleration).
- Ideal for robotics and ML projects.
- BeagleBone Black / AI-64
- More focused on real-time control and I/O (PRUs).
- BeagleBone AI-64 competes with Jetson and Pi 5 in power.
- UP Board Series (by AAEON)
- Intel x86-based SBCs.
- Suitable for industrial, Windows/Linux desktop, or edge AI.
Ultra-Compact Boards (Raspberry Pi Zero Competitors)
- NanoPi Series (by FriendlyELEC) (e.g., NanoPi Neo, NanoPi R5S)
- Tiny, affordable, with various performance levels.
- Great for headless IoT and embedded projects.
- LattePanda Series
- Intel Atom/x86 SBC with optional Arduino co-processor.
- Unique combo of PC power and microcontroller I/O.
STM32
Some microcontroller families that compete directly with STM32 (by STMicroelectronics), offering similar or better features depending on the application:
ARM Cortex-M Competitors
- NXP LPC Series (LPC800 / LPC1100 / LPC54000, etc.)
- ARM Cortex-M0/M3/M4/M33 cores.
- Known for low power and good USB support.
- Strong IDE support via MCUXpresso.
- Renesas RA and RX Series
- RA: ARM Cortex-M (RA2, RA4, RA6 with M23/M33).
- RX: Proprietary 32-bit core, high performance, low power.
- Industrial reliability and long-term availability.
- Nordic Semiconductor nRF52 / nRF53 Series
- ARM Cortex-M4/M33 with integrated Bluetooth Low Energy.
- Excellent for low-power wireless applications.
- Texas Instruments MSP432 / Tiva C Series
- MSP432: ARM Cortex-M4F, low power, high precision ADCs.
- Tiva C: ARM Cortex-M4, general purpose.
- Silicon Labs EFM32 Gecko Series
- ARM Cortex-M0+/M3/M4.
- Extremely low power (Energy Micro acquisition).
- Great for battery-powered devices.
IoT-Focused Chips with Wi-Fi/Bluetooth
- Espressif ESP32 / ESP32-S3 / ESP32-C6
- Dual-core or single-core RISC-V/ARM variants.
- Built-in Wi-Fi + BLE.
- Low cost, Arduino and MicroPython support.
- Raspberry Pi RP2040
- Dual-core Cortex-M0+ (not STM32 level in raw power).
- PIO (Programmable IO) is unique.
- Popular due to price and community support.
Higher-End SoCs (for more powerful tasks)
- NXP i.MX RT Series (“crossover” MCUs)
- ARM Cortex-M7 running up to 600 MHz.
- Bridges gap between MCU and MPU (e.g., STM32H7 vs. i.MX RT1060).
- Microchip SAM E / D / L Series (formerly Atmel)
- ARM Cortex-M0+/M4/M7 variants.
- Good IDE (MPLAB X), integrates well with peripherals and TrustZone.
Software used in Embedded System
Real-Time Operating Systems (RTOS)
These are used where timing precision and low latency are crucial (e.g., robotics, medical, automotive):
RTOS | Key Features | Competitors |
FreeRTOS (by Amazon) | Lightweight, portable, wide MCU support, AWS integration | Zephyr, ChibiOS, ThreadX |
Zephyr RTOS (by Linux Foundation) | Scalable, native device tree support, built-in networking | FreeRTOS, NuttX |
ChibiOS/RT | Small footprint, real-time, HAL support | FreeRTOS, CMSIS-RTOS |
ThreadX (Azure RTOS) | Deterministic, supported by Microsoft | FreeRTOS, Zephyr |
RIOT OS | Designed for IoT devices with low power and low memory | Contiki, TinyOS |
NuttX (by Apache) | POSIX-compliant, supports MMU-based processors | Zephyr, Linux |
Micrium uC/OS-II / III | Industrial-grade RTOS (now part of Silicon Labs) | ThreadX
|
Embedded Linux Distributions
Used for more powerful processors (e.g., ARM Cortex-A, x86) in applications like edge computing, gateways, and media devices:
Linux Distro | Key Features | Competitors |
Yocto Project | Build-your-own Linux distro for embedded systems | Buildroot, OpenWRT |
Buildroot | Lightweight, simple Linux rootfs builder | Yocto, Alpine |
OpenWRT | Specialized for networking/routers | DD-WRT, pfSense |
Raspberry Pi OS | Debian-based; official for Raspberry Pi | Armbian, Ubuntu Core |
Ubuntu Core | Minimal, snap-based, secure OS for IoT | Yocto, Raspbian |
Bare-Metal / SDKs / HALs
For ultra-low-latency and simplicity (no OS):
Platform | Key Features | Competitors |
CMSIS (ARM) | ARM’s standard for Cortex-M abstraction | STM32 HAL, Atmel ASF |
Arduino Framework | Easy C/C++ wrapper for embedded development | PlatformIO, Energia |
mbed OS (by ARM) | C++ RTOS and IoT SDK, now merged into Mbed TLS | Zephyr, FreeRTOS |
IDEs and Toolchains
Toolchain / IDE | Notes | Competitors |
STM32CubeIDE | Integrated with STM32 HAL and FreeRTOS | Keil MDK, IAR Embedded Workbench |
Keil MDK (Arm) | Professional ARM IDE, real-time debugger | IAR, MPLAB X |
IAR Embedded Workbench | High-performance, industry-standard | Keil, STM32CubeIDE |
PlatformIO | Modern, cross-platform CLI/IDE that supports many frameworks | Arduino IDE, MPLAB X |
MPLAB X IDE (Microchip) | For PIC, AVR, SAM devices | Atmel Studio, Keil |
SEGGER Embedded Studio | Known for J-Link debugger integration | IAR, Keil |
IoT Focused Software
Real-Time Operating Systems (RTOS) for IoT
RTOS | Ideal Use Case | Highlights |
FreeRTOS (Amazon) | MCU-based IoT sensors, BLE devices, home automation | Lightweight, modular, AWS IoT integration, great community |
Zephyr RTOS | Industrial IoT, secure devices, BLE/Wi-Fi sensors | Scalable, native device tree support, modern APIs |
ThreadX (Azure RTOS) | Consumer IoT devices, wearables | Compact, deterministic; Azure IoT SDK built-in |
RIOT OS | Low-power constrained IoT nodes | IPv6/6LoWPAN, open-source, energy-efficient |
Contiki-NG | Wireless sensor networks, 6LoWPAN/CoAP | Proven in research, IPv6-ready, power-aware |
NuttX | POSIX-like OS for more complex MCU applications | Compatible with SMP, supports file systems and TCP/IP |
Embedded Linux for Edge IoT & Gateways
For more capable IoT devices (e.g., gateways, smart hubs):
Distro | Ideal Use Case | Highlights |
Yocto Project | Custom Linux distros for industrial IoT | Fine control over kernel and packages |
Buildroot | Lightweight Linux for constrained edge devices | Simpler than Yocto, fast build time |
Ubuntu Core | Secure gateways and OTA-updated IoT devices | Snap-based updates, secure by design |
OpenWRT | Networked IoT gateways, routers | Great networking support, extensible |
Raspberry Pi OS / Armbian | Pi-based IoT hubs | Easier dev, large community, GPIO access |
SDKs / Frameworks / Middleware
Platform | Best For | Features |
Arduino Framework | Quick prototyping for IoT sensors | Simple, fast, broad hardware support |
PlatformIO | Cross-platform IoT development | Supports ESP32, STM32, RP2040, and RTOSes |
Mbed OS | ARM Cortex-M IoT devices | TLS, cloud SDKs, RTOS + HAL layers |
Espressif IDF (ESP32 SDK) | Wi-Fi/BLE-based IoT | Fine control, optimized for ESP32 family |
TinyGo | Small-scale Go for IoT MCUs | Great for experimentation, compile to ARM Cortex-M |
IoT Cloud Integration (Optional Middleware)
Cloud SDK | Best For | Notes |
AWS IoT Core + FreeRTOS | Cloud-connected embedded devices | Secure OTA, MQTT, shadow devices |
Azure IoT + ThreadX / RTOS | Industrial IoT | Tight integration with Azure services |
Google Cloud IoT Core (3rd party SDKs) | Prototyping with ESP32/RPi | Deprecated officially, but usable |
ThingsBoard / Node-RED | Local or custom IoT dashboards | Great for DIY/local control systems |
Recommendations by IoT Device Type
Device Type | Recommended Stack |
Battery-powered sensor | FreeRTOS or Zephyr + MQTT + PlatformIO |
Smart appliance (Wi-Fi) | ESP32 + FreeRTOS or Espressif IDF |
Wearable / BLE device | Zephyr + Nordic nRF52 + NimBLE |
IoT gateway | Raspberry Pi + Ubuntu Core or Yocto + Node-RED |
Industrial sensor node | STM32 + ThreadX / Zephyr + MQTT/CoAP |