Skip to main content

Devices

Devices are the hardware that runs your code. In the lab they fall into two broad classes, and picking the right class is the single most important decision in a project.

MCU vs. SBC — the core distinction​

Microcontroller (MCU)Single-Board Computer (SBC / SoC)
RunsBare-metal firmware or an RTOSA full OS (usually Linux)
Typical clock16–240 MHz1–2.4 GHz, multi-core
MemoryKB of RAM, KB–MB flashGB of RAM, SD/eMMC/SSD storage
Boot timeMicrosecondsTens of seconds
StrengthsReal-time timing, low power, direct pin controlHeavy compute, networking, vision, multitasking
ExamplesSTM32, ESP32, AVRRaspberry Pi, NVIDIA Jetson
Rule of thumb

If the task is "react to a pin in microseconds" → MCU. If it's "run a program that needs a filesystem, network, or a camera + model" → SBC. Many real projects use both: an SBC for the brains, an MCU for precise I/O.

In this section​

note

For deeper firmware topics (RTOS, drivers, peripherals) see Embedded Firmware. This guide focuses on the hardware and how to get started with it.