8 MCU vs MPU: Measurements and Boundaries
More
Depth: Practitioner
Progress saves as you read. Mark sections complete as you go; your progress appears in the sidebar.
8.1 Start With the Situation
This section: Start With the Situation — Both controller classes could run the prototype.
Both controller classes could run the prototype. A microcontroller board runs a bounded device-control program; a microprocessor board can run an operating system and more services. Boot is the startup process, and boot time measures how long it takes. The team must compare measured boot time, power, timing, interfaces, and support. A hybrid boundary splits tasks between the two classes when that fits the evidence.
8.2 Overview
This section: Overview — This route turns platform comparison into a recorded controller and boundary decision.
This route turns platform comparison into a recorded controller and boundary decision.
This is part 2 of 2. Review MCU vs MPU: Workload Fit when you need the first route.
8.3 Learning Objectives
This section: Learning Objectives
By the end of this chapter, you will be able to:
- compare MCU and MPU measurements
- record controller bring-up evidence
- choose hybrid boundaries and disproving tests
8.4 Arduino and Raspberry Pi in Numbers
This section: Arduino and Raspberry Pi in Numbers — Arduino and Raspberry Pi are the two boards most prototype teams already recognize, which makes them a useful anchor for the MCU Fit and MPU Fit checklists above.
Arduino and Raspberry Pi are the two boards most prototype teams already recognize, which makes them a useful anchor for the MCU Fit and MPU Fit checklists above. Naming their actual numbers turns “microcontroller” and “microprocessor” from category labels into a measurable gap a team can plan a battery, a bill of materials, or a review record around.
| Property | Arduino-class MCU board | Raspberry Pi-class MPU board |
|---|---|---|
| Compute core | 8-bit AVR (for example, the ATmega328 on an Uno or the larger ATmega2560 on a Mega) | 64-bit Arm (for example, a quad-core Cortex-A72 in a Broadcom BCM2711 SoC) |
| RAM | 2 KB to 8 KB of on-chip SRAM | 1 GB to 4 GB of external DRAM, chosen at purchase |
| Non-volatile storage | 32 KB to 256 KB of on-chip flash for the sketch | A removable microSD card or onboard eMMC, gigabytes deep, holding a full OS image |
| Operating model | No operating system; firmware runs one loop after reset | A full OS (commonly a Linux distribution) scheduling many processes and services |
| Power-loss behavior | Resets and resumes the same loop automatically | Can leave the filesystem in an inconsistent state without an orderly shutdown |
| Expansion path | Shields stack directly on the header, largely plug-and-play | HATs and USB or camera-interface peripherals, closer to adding hardware to a small computer |
| Direct I/O | Roughly 20 digital pins wired straight to the core | A 40-pin GPIO header shared with OS-managed drivers and services |
| Prototype-quantity cost | A bare AVR chip runs a few dollars; an Uno-class dev board is usually well under $30 | A Pi-class board is usually in the $35 to $75 range, more with a compute-module carrier |
The same evidence sentence from earlier in this chapter decides between them in practice. A soil-moisture prototype that reads a probe and emails an alert once the reading crosses a threshold is proving a bounded, repeatable control loop, so an Arduino-class board can usually answer that question alone. The same prototype extended to check an online weather forecast before deciding whether to send the alert — so it can hold off an unnecessary email ahead of expected rain — is proving an application question: parsing a remote response, holding network and forecast state, and making a decision that depends on data the board does not own. That extended version is the more honest fit for a Raspberry Pi-class board. Neither board is the better one in general; the second prototype is simply answering a question the first prototype never had to ask.
8.5 Raspberry Pi Bring-Up Record
This section: Raspberry Pi Bring-Up Record — A Raspberry Pi prototype needs more than the board.
A Raspberry Pi prototype needs more than the board. The source-deck bring-up route begins with the display and input path, power supply, network cable where required, and removable storage. It then chooses an operating-system image, writes that image to the SD card, boots the system, and records the initial configuration before application work begins.
Keep the following evidence together:
First, Hardware path: HDMI or other display connection, monitor, keyboard and mouse where the first setup needs them, the 5 V supply, network connection, and SD card.
Next, Operating-system path: the selected supported or third-party image, the image file written to the card, the writer tool and target device, and the result of the first boot. The source deck illustrates this with Raspbian and Win32 Disk Imager.
Then, Remote-access path: whether SSH is required and, when following the deck’s route, the raspi-config Advanced Options step used to enable it.
After that, Storage path: whether the installed image uses the full card and, when following the deck’s route, the raspi-config filesystem-expansion step and its observed result.
Finally, Runtime role: which installed language or application answers the prototype question. The deck names Python, C, C++, Java, Scratch, and Ruby, and illustrates roles including media streaming, home automation, robot control, VPN service, and a lightweight IoT web server.
GPIO remains a hardware boundary after the operating system boots: a pin can be configured as a digital input or output, but the prototype record must still identify the pin, direction, expected high/low state, connected circuit, and test result. The bring-up record therefore joins the operating-system evidence to the direct-I/O evidence instead of treating a successful boot as proof that the hardware path works.
8.6 Evidence Before the Choice
This section: Evidence Before the Choice — The controller choice should be backed by evidence, not preference.
The controller choice should be backed by evidence, not preference. Before freezing the direction, record the minimum measurements that could disprove the decision.
Figure 8.1 sets out the measurements needed before choosing an MCU, MPU, or hybrid.
The cold-room example splits local alarm timing from storage and upload work. A threshold crossing must reach the buzzer within the stated 500 ms budget, even when the radio is busy. Energy evidence must include sleep, wake, transmit, and fault states rather than a single idle reading. Application evidence asks whether the gateway can store readings and upload them later. Measure the busiest expected mode before comparing controller options. If local timing fails or the application path cannot recover, the choice needs a different boundary or more testing.
Use these checks during the prototype review:
If a requirement can only be proven by deterministic hardware behavior, start with an MCU. If it can only be proven by operating-system behavior, start with an MPU. If both are true, draw the boundary explicitly before adding hardware.
8.7 Incremental Examples
This section: Incremental Examples
8.7.1 Battery Door Sensor Endpoint
A door sensor reports open/closed state from a reed switch and sends a status message every few minutes. The prototype should start with an MCU such as an nRF52, ESP32-C3, RP2040 with a radio companion, or STM32 low-power board.
- The main evidence is wake time, GPIO interrupt behavior, sleep current, radio transmit current, and reset recovery.
- The firmware can be a small state machine: wake, read pin, debounce, send compact message, confirm local safe state, sleep.
- The acceptance test should measure current in sleep, wake, transmit, and fault states, then compare the result with the battery-life target.
This is a beginner case because the local control job is bounded. A Linux-capable MPU would add boot time, filesystem, package, and service-supervision risks that do not answer the main question.
8.7.2 Local Technician Kiosk
A maintenance bench needs a local display, USB barcode scanner, SQLite cache, browser-based setup screen, and Ethernet upload when the site network returns. A Raspberry Pi Compute Module, BeagleBone, or similar MPU-class board is the more useful starting point.
- The main evidence is boot time, display startup, USB scanner support, filesystem behavior after power loss, local database writes, and service restart behavior.
- The software stack can use Linux, systemd services, a web UI, local storage, and log collection.
- The acceptance test should pull power during a write, restart the application service, inspect logs, and confirm the queued records survive.
This case is harder because the controller is not only reading pins. The prototype is testing application behavior near equipment, so operating-system evidence matters.
8.7.3 Machine Room Monitoring
A team is building a machine room monitoring prototype. Several endpoints measure vibration, temperature, door state, and power interruption events. A local gateway stores recent readings, shows status on a maintenance screen, and forwards summarized records when the network is available.
This section:
8.7.4 Endpoint Controller
The endpoint should use an MCU because the important questions are local and time bounded.
8.7.5 Gateway Controller
The gateway should use an MPU because the important questions are application-level.
The mixed design is not indecision. It keeps timing-sensitive sensing in firmware while moving storage, interface, and operations work to the application side.
8.8 Hybrid Boundaries
This section: Hybrid Boundaries — Hybrid designs combine an MCU and MPU when neither side should own every task.
Hybrid designs combine an MCU and MPU when neither side should own every task. The important design work is the boundary: what stays deterministic, what becomes an application service, and what happens when either side fails.
Figure 8.2 assigns time-sensitive work to the MCU and application work to the MPU.
Sensor sampling, watchdogs, local alarms, and actuator safety stay on the MCU side because they must continue when the application side pauses or restarts. Configuration, storage, and network services sit on the MPU side, where a richer software stack can manage them. The boundary between the two needs explicit messages, timeouts, and ownership of failure recovery. A local alarm should still work if a gateway process is late; a stored reading should still have an identified path to the service. Test those crossings before calling the hybrid split reliable.
Keep these responsibilities clear:
Unplug, reset, or pause one side of the hybrid prototype during review. The other side should enter a known state and leave enough evidence to explain what happened.
8.9 Review Record
This section: Review Record — A controller review should record why the chosen class answers the current stage-gate question.
A controller review should record why the chosen class answers the current stage-gate question. The record should be clear enough that a later builder can repeat the decision.
Figure 8.3 ties the controller decision to the prototype stage and its measured evidence.
The example in Figure 8.3 ties a hybrid choice to distinct test results. Timing evidence covers endpoint response under radio retry and local alarm; energy logs separate sleep, wake, transmit, and fault states. Gateway service restart and offline queue tests support the software side, while missing-endpoint and missing-gateway cases check the boundary between them. The decision assigns sensing, wake, and local recovery to the MCU, and storage, technician display, and reconnect flow to the MPU. The next gate still asks for enclosure, cable, and recovery tests. Keep the evidence and remaining uncertainty with the choice so a later builder can repeat or challenge it.
prototype=machine-room-monitor
stage=functional-prototype
decision=hybrid
mcu_role=endpoint sensing, wake behavior, local fault recovery
mpu_role=gateway storage, technician screen, reconnect workflow
timing_evidence=endpoint response measured under radio retry and local alarm
energy_evidence=sleep, wake, transmit, and fault states logged separately
software_evidence=gateway service restart and offline queue tested
boundary_evidence=missing-endpoint and missing-gateway behavior recorded
next_gate=engineering prototype with enclosure, cable, and recovery tests
8.10 Try It Now
This section: Try It Now — Choose one prototype idea and classify each requirement as control evidence, application evidence, or boundary evidence.
Choose one prototype idea and classify each requirement as control evidence, application evidence, or boundary evidence. Then write one sentence choosing MCU, MPU, or hybrid and name the first measurement that could prove the choice wrong.
8.11 Pick the First Disproving Test
This section: Pick the First Disproving Test — A cold-room monitor uses an ESP32 endpoint, an SHT31 probe, a buzzer, MQTT telemetry, and a wall-mounted Raspberry Pi gateway with a small display.
A cold-room monitor uses an ESP32 endpoint, an SHT31 probe, a buzzer, MQTT telemetry, and a wall-mounted Raspberry Pi gateway with a small display. The alarm must sound within 500 ms when the probe crosses a threshold, while the gateway stores readings and uploads them when Wi-Fi returns.
Name the first test you would run for the endpoint and the first test you would run for the gateway. A strong answer separates timing evidence such as interrupt latency, sampling interval, buzzer drive, and watchdog recovery from application evidence such as boot time, service restart, SQLite or file writes, and reconnect behavior.
8.12 Concept Check: Endpoint Controller Fit
This section: Concept Check: Endpoint Controller Fit
8.13 Concept Check: Hybrid Boundary Ownership
This section: Concept Check: Hybrid Boundary Ownership
8.14 Match Controller Evidence
This section: Match Controller Evidence
8.15 Order the Controller Selection Review
This section: Order the Controller Selection Review
8.16 Extend The Decision Beyond MCU Versus MPU
This section: Extend The Decision Beyond MCU Versus MPU — The MCU/MPU split remains the first useful boundary: deterministic control versus application-level computing.
The MCU/MPU split remains the first useful boundary: deterministic control versus application-level computing. It is not the final shortlist. An FPGA can expose deterministic parallel datapaths; a GPU can accelerate data-parallel kernels but needs a host and a supported software stack; an ASIC can reduce per-unit energy and cost at very high volume while creating large non-recurring engineering and change risk; and a SoC may combine several of these roles behind one memory, I/O, and lifecycle contract.
The selector below is a question generator. It does not name a purchasable part, and it deliberately scores lifecycle and toolchain readiness alongside raw compute. Any shortlisted family still has to pass the existing chapter’s timing, energy, memory, peripheral, update, security, and recovery evidence gates.
8.17 Common Failure Patterns
This section: Common Failure Patterns — The budget view in Figure 8.4 separates persistence from peak runtime use before optimisation is credited as recovered capacity.
The prototype uses an application processor for direct control because it feels more capable. Later, boot delay, service restarts, storage corruption, or scheduling jitter interfere with hardware behavior that should have been deterministic.
The firmware grows into a local application platform with files, dashboards, protocol translation, and complex update logic. The memory map and debugging workflow become the real blocker.
The MCU and MPU share responsibilities informally. When a reset, timeout, or network outage occurs, neither side has a clear source of truth. Define the message contract before field testing.
The team picks a controller from habit and never measures timing, energy states, memory headroom, or recovery behavior. The issue appears later when the prototype is harder to change.
The budget view in Figure 8.4 separates persistence from peak runtime use before optimisation is credited as recovered capacity.
In Figure 8.4, FLASH · 32 KiB and EEPROM · 1 KiB retain different kinds of state, while SRAM · 2 KiB must survive peak Stack + heap + globals use. The FLASH RELEASE BUDGET shows 4 KiB free, but the SRAM PEAK BUDGET can still overflow independently; -Os and compressed instructions recover measured headroom, not interchangeable memory.
8.18 Summary
This section: Summary — MCU and MPU choices are architecture decisions, not board preferences.
MCU and MPU choices are architecture decisions, not board preferences. Use an MCU when the prototype must prove deterministic embedded control. Use an MPU when it must prove application-level computing near the device. Use a hybrid boundary when both kinds of evidence are essential, and make the boundary measurable.
8.19 Key Takeaway
This section: Key Takeaway — MCU versus MPU selection depends on timing, power, operating system needs, memory, connectivity, security, and update model, not on raw compute alone.
MCU versus MPU selection depends on timing, power, operating system needs, memory, connectivity, security, and update model, not on raw compute alone.
8.20 See Also
This section: See Also — First, PCB Design - carry controller evidence into board layout and bring-up planning.
First, PCB Design - carry controller evidence into board layout and bring-up planning. Next, Hardware Platforms - compare platform roles without confusing boards with architecture. Then, Hardware Components - select sensors, actuators, modules, and power parts from prototype evidence. After that, Hardware Introduction - review the stage-gate process that frames hardware decisions.
Find help
3 reviewed answers.
Where should I start in a module?
Open the module page from the sidebar to see its chapters in order. Use the module map to return to a topic you need.
Modules and pathsReviewed
What can I try when a project does not work?
Check the symptom, then work through the diagnostic steps. Keep the error message and the smallest example that reproduces it.
When you are stuckReviewed
How do interactive examples work?
Use the interactive guide to check how examples and simulations work before changing your project.
Interactive examples guideReviewed
