What separates a single-board computer like the Raspberry Pi from a microcontroller board like the Arduino Uno, and why does it matter for an IoT design?
A single-board computer has an application processor, gigabytes of RAM and runs a full OS such as Linux. A microcontroller board has kilobytes of RAM, runs one bare-metal or RTOS program, and uses a tiny fraction of the power.
* IoT boards span six orders of magnitude of RAM. The OS a board can run follows from where it sits. *
IoT development boards form a spectrum rather than two boxes, but the two ends behave very differently:
| Single-board computer (SBC) | Microcontroller (MCU) board | |
|---|---|---|
| Examples | Raspberry Pi 3 B+ / 4 B / 5, Pi Zero W | Arduino Uno R3, ESP32, Raspberry Pi Pico 2 W, Photon |
| Processor | ARM Cortex-A class, up to 4 cores at 1-2.4 GHz | Cortex-M, AVR or Xtensa, tens to a few hundred MHz |
| Memory | 512 MB to several GB of RAM, OS on a microSD card | 2 KB to ~520 KB of SRAM, program in on-chip flash |
| Software | Full OS (Linux) with processes, drivers, a file system | Bare-metal loop or a small RTOS, one firmware image |
| Power | Watts; needs a proper supply | Milliwatts, down to microamps in deep sleep; battery-friendly |
| Boot | Seconds | Milliseconds |
The choice decides nearly everything downstream. On a Pi you get the whole Linux ecosystem (Python, a TCP/IP stack, SSH, package updates) and also the whole Linux attack surface. On an MCU there is no OS to lean on and no room for one: an Arduino Uno's ATmega328P has 2 KB of SRAM in total, while a 4 GB Raspberry Pi 5 has about two million times as much. That is why a sensor node that must run for years on a battery is an MCU, and a gateway that aggregates many sensors and speaks to the cloud is often an SBC.
Hybrids sit in between. The Azure Sphere MT3620 pairs a Cortex-A7 running a small Linux-based OS with Cortex-M4 cores for real-time work, and the ESP32 is an MCU with Wi-Fi, Bluetooth and hardware crypto built in.
Tip: read the RAM figure first. Megabytes or more means "can run Linux"; kilobytes means "bare metal or RTOS".
Go deeper:
Wikipedia — Microcontroller — what puts CPU, flash, RAM and peripherals on one chip, and why that makes the part cheap and frugal.
Wikipedia — Single-board computer — the other end of the spectrum: a complete computer on one board, the Raspberry Pi being the best-known.