MCU vs MPU: Microcontroller vs Microprocessor Compared
A microcontroller (MCU) puts a processor, flash memory, RAM and peripherals such as timers, ADCs and communication interfaces on one chip, so it can run a complete small system by itself. A microprocessor (MPU) is mainly a faster processor that needs external DRAM and storage, and usually runs a full operating system such as Linux. MCUs suit simple, low-power, real-time control; MPUs suit complex, software-rich devices.
| Aspect | MCU | MPU |
|---|---|---|
| Integration | CPU, flash, RAM and peripherals (GPIO, timers, ADC, UART, SPI, I2C) on one chip | CPU cores with caches and an MMU; DRAM and storage are external chips |
| Clock speed | About 1 MHz to a few hundred MHz | Hundreds of MHz to several GHz |
| Memory | Kilobytes to a few megabytes of on-chip flash, and kilobytes to megabytes of SRAM | External DRAM (hundreds of MB to GB) and storage such as eMMC or SD |
| Software | Bare-metal code or a small real-time OS (such as FreeRTOS or Zephyr) | A full operating system such as Linux or Android |
| Real-time behavior | Predictable, with interrupt latency of microseconds | Harder to guarantee on Linux without real-time extensions |
| Power | Very low: microamps in sleep, and a coin cell can last years | Higher: hundreds of milliwatts to watts |
| Boot time | Instant, in milliseconds | Seconds, because a boot loader and OS must start |
| Cost and board design | Cheap chip, simple board, few external parts | More expensive chip plus DRAM and power chips, and a complex multilayer board |
| Typical uses | Appliances, motor control, sensors, wearables, automotive ECUs | Smartphones, tablets, set-top boxes, routers, industrial touchscreens, infotainment |
| Examples | STM32, ESP32, RP2040, Arduino boards | Application processors such as NXP i.MX, TI Sitara and the chip in Raspberry Pi |
Figures are typical orders of magnitude and vary by process generation and product.