31  Hardware and Device Characteristics

In 60 Seconds

MCUs ($1-10, milliwatts) are ideal for simple IoT sensor tasks with years of battery life; MPUs ($10-100+, watts) run full operating systems for complex processing. Sleep modes reduce power by 10,000x (e.g., ESP32: 160mA active vs. 10uA deep sleep), and SoC designs with hardware accelerators provide 20-100x power savings over software implementations.

Minimum Viable Understanding
  • MCUs (Microcontrollers) are all-in-one chips ($1-10, milliwatts) ideal for simple sensor tasks with years of battery life; MPUs (Microprocessors) need external components ($10-100+, watts) but run full operating systems for complex processing.
  • Power management dominates IoT design – sleep modes reduce consumption by 10,000x, and duty cycling (sleeping 99%+ of the time) is the key to multi-year battery life.
  • SoC (System-on-Chip) designs integrate CPU, memory, radio, and power management on a single chip, with hardware accelerators providing 20-100x power savings over software implementations.

Max the Microcontroller and his cousin Percy the Processor were arguing about who should be the brain of a new IoT project.

“I can do everything on one tiny chip!” said Max. “I have built-in memory, I barely use any energy, and I can run for years on Bella the Battery’s power.”

Percy the Processor replied, “But I’m way more powerful! I can run a whole operating system, play videos, and do machine learning!”

Sammy the Sensor stepped in: “It depends on what we need to do! If we just need to read temperature and send it once an hour, Max is perfect. But if we need to recognize faces from a camera, we need Percy’s power.”

Bella the Battery added the final word: “Just remember – Percy eats 100 times more of my energy than Max. If we are out in a field with no power plug, Max is our only option!”

The lesson: Always match the brain to the job. A simple sensor needs a simple microcontroller. Only use a powerful processor when you truly need its capabilities – otherwise you waste money and battery life!

31.1 Overview

This chapter series covers the hardware foundations of IoT systems, from basic processor selection to advanced System-on-Chip architectures. Understanding hardware characteristics is essential for designing efficient, cost-effective, and power-optimized IoT solutions.

31.2 Learning Objectives

By the end of this chapter series, you will be able to:

  • Contrast MCUs and MPUs: Distinguish microcontrollers from microprocessors and justify processor selection for specific IoT applications
  • Interpret Hardware Specifications: Analyze processor datasheets including clock speed, memory, power modes, and I/O capabilities
  • Select IoT Platforms: Choose between Arduino, ESP32, Raspberry Pi, and other platforms based on cost, power, and processing requirements
  • Calculate Power Budgets: Compute power consumption for battery-powered IoT devices using duty cycle analysis
  • Design Memory Architecture: Plan RAM, ROM, and flash storage requirements for embedded applications within SoC constraints
  • Assess Connectivity Options: Select appropriate communication interfaces (GPIO, SPI, I2C, UART) for sensor and actuator integration
  • Analyze SoC Architecture: Examine internal block diagrams of IoT System-on-Chip designs including CPU cores, RF subsystems, DSP accelerators, and power management
  • Evaluate Hardware Accelerators: Quantify the power savings from dedicated DSP blocks (FFT, CORDIC, MAC) versus software implementations

Understanding IoT hardware characteristics is about knowing the capabilities and limitations of the tiny computers inside connected devices. Think of choosing between a bicycle, a motorcycle, and a car – each has different speed, capacity, and fuel needs. Similarly, IoT processors range from tiny microcontrollers that sip power to powerful processors that can run AI, and choosing the right one is critical.

31.3 Chapter Series

This content is organized into three focused chapters:

31.3.1 1. MCU vs MPU Selection for IoT

Read: MCU vs MPU Selection

Covers the fundamental distinction between microcontrollers and microprocessors:

  • Beginner-friendly introduction to IoT hardware “brains”
  • MCU vs MPU architecture comparison with visual diagrams
  • Decision frameworks for processor selection
  • Real-world examples (smart thermostat, deployment cost analysis)
  • Common pitfalls and misconceptions
  • RTOS vs bare-metal firmware tradeoffs

Difficulty: Intermediate | Time: ~25 minutes

31.3.2 2. Power Management and Device Interfaces

Read: Power Management and Interfaces

Covers power optimization and hardware interfacing:

  • Power mode hierarchy (active, idle, light sleep, deep sleep)
  • Leakage current and temperature effects
  • Case study: 5-year battery life soil sensor deployment
  • GPIO pin modes and voltage compatibility
  • PWM for LED, motor, and servo control
  • ADC resolution calculations
  • On-device vs gateway processing tradeoffs

Difficulty: Intermediate | Time: ~20 minutes

31.3.3 3. IoT System-on-Chip Architecture

Read: SoC Architecture

Covers advanced SoC internals for hardware engineers:

  • Commercial SoC analysis (TI CC2650 block diagram)
  • Research-grade ultra-low-power SoC (6.45µW)
  • Hardware accelerators: FFT, CORDIC, FIR, MAC
  • Asymmetric radio architecture
  • Energy harvesting with MPPT
  • Die area breakdown and cost implications
  • Commercial vs research SoC comparison

Difficulty: Advanced | Time: ~18 minutes

31.4 Worked Example: Smart Building Retrofit – Selecting Hardware for 500 Rooms

A university is retrofitting 500 dormitory rooms with occupancy and climate sensors. Each room needs temperature, humidity, and motion detection with data sent every 5 minutes to a central dashboard. The budget is $25,000 for hardware.

Step 1: Define Requirements

Requirement Value Impact on Hardware Choice
Sensing Temperature + humidity + PIR motion BME280 ($2) + HC-SR501 ($1) per room
Data rate 1 reading / 5 min = 288 readings/day Low bandwidth, any radio works
Power Wall outlet available in every room No battery constraint – simplifies design
Connectivity Wi-Fi available in all buildings No need for LoRa or cellular
Budget $25,000 / 500 rooms = $50 per room max Eliminates Raspberry Pi ($75+ with case/SD)
Processing Read sensors, format JSON, transmit No ML or video – MCU is sufficient

Step 2: Compare Candidate Platforms

Platform Unit Cost Power (Active) Power (Sleep) Wi-Fi Verdict
ESP32-C3 $4 130 mA 5 uA Yes (built-in) Best fit – cheapest Wi-Fi MCU
ESP8266 $3 170 mA 20 uA Yes (built-in) Runner-up – older, fewer GPIO
Arduino Nano 33 IoT $18 100 mA 6 uA Yes (built-in) Over budget at scale
Raspberry Pi Zero W $15 120 mA idle N/A (no deep sleep) Yes Over budget, overkill processing

Step 3: Calculate Total Cost

Per-room BOM:
  ESP32-C3 module:           $4.00
  BME280 sensor breakout:    $2.50
  HC-SR501 PIR sensor:       $1.20
  USB power adapter:         $3.00
  PCB + enclosure:           $5.00
  Wiring + misc:             $1.30
  ─────────────────────────────────
  Per-room total:           $17.00

500 rooms × $17.00 = $8,500 (34% of budget)
Remaining for gateway server + installation = $16,500

Smart building retrofit cost comparison at scale. ESP32-C3 solution: \(500 \times \$17 = \$8,500\) hardware + $16,500 remaining for installation = fits $25,000 budget. Raspberry Pi Zero W alternative: \(500 \times (\$15 \text{ board} + \$8 \text{ SD card} + \$5 \text{ case} + \$3 \text{ power}) = 500 \times \$31 = \$15,500\) hardware alone, leaving only $9,500 for installation. Worked example: Installation labor at $50/hour × 2 hours/room = $100/room. ESP32 budget allows: \(\frac{\$16,500}{\$100} = 165\) rooms installed. Raspberry Pi budget allows: \(\frac{\$9,500}{\$100} = 95\) rooms. ESP32 enables 74% more installed coverage within same total budget, or reduces per-room total cost by \((31-17)/31 = 45\%\) for equivalent 500-room deployment.

Why ESP32-C3 over Raspberry Pi? With wall power available, sleep current is irrelevant. The decision comes down to cost at scale: 500 Raspberry Pi Zero Ws would cost $7,500 for boards alone (before SD cards, cases, and power supplies), consuming 60% of budget. The ESP32-C3 costs $2,000 for boards, leaving ample budget for professional enclosures and installation labor. The MCU handles the simple read-format-transmit task with no OS overhead, and reboots in 300ms versus 30 seconds for Linux.

31.5 Quick Reference

Topic Chapter Key Concepts
MCU vs MPU basics MCU vs MPU Integration, cost, power, OS requirements
Platform selection MCU vs MPU ESP32, Arduino, Raspberry Pi comparison
Power budgets Power & Interfaces Sleep modes, duty cycling, battery life
GPIO/PWM Power & Interfaces Pin modes, voltage levels, motor control
SoC internals SoC Architecture Dual cores, RF subsystems, accelerators
Hardware accelerators SoC Architecture FFT, CORDIC, 20-100x power savings

31.6 Prerequisites

Before starting this chapter series, you should be familiar with:

Key Concepts

  • Microcontroller Unit (MCU): A self-contained chip integrating CPU, RAM, flash, and peripherals on a single die — optimized for low power (milliwatts) and real-time operation, costing $1–10.
  • Microprocessor Unit (MPU): A high-performance processor requiring external RAM, storage, and peripherals — capable of running full operating systems, consuming watts of power, and costing $10–100+.
  • System-on-Chip (SoC): A single chip integrating CPU, radio (Wi-Fi/BLE), memory, and power management — common in IoT devices to minimize size, cost, and power (e.g., ESP32, nRF52840).
  • Deep Sleep Mode: A power state where the MCU shuts down most circuits, retaining only RTC and wake-up logic — reduces power from ~150 mA active to ~10 µA, enabling multi-year battery life.
  • Duty Cycle: The fraction of time a device is in active mode versus sleep — a 1% duty cycle (10 ms active per second) reduces average power by 100x compared to continuous operation.
  • Hardware Accelerator: Dedicated silicon for specific tasks (AES encryption, floating-point math, FFT) — performs the task 20–100x faster at lower power than software on a general-purpose CPU.
  • Interrupt-Driven Design: Programming approach where the CPU sleeps until a hardware event (pin change, timer) triggers a handler — far more power-efficient than polling in a busy loop.

31.8 See Also

31.9 Knowledge Check

Common Pitfalls

Using a Raspberry Pi (5W, full Linux) to read a temperature sensor that an ESP32 (0.1W) handles perfectly wastes 50x the power and costs 10x more. Always start with the minimum viable hardware and only scale up when requirements genuinely demand it.

Focusing only on active-mode current (e.g., 150 mA) and ignoring sleep current (e.g., 10 µA) leads to wildly optimistic battery life estimates for always-on devices. For a device sleeping 99% of the time, the sleep current dominates. Use weighted average: I_avg = duty * I_active + (1 - duty) * I_sleep.

A typical MCU has 256 KB – 512 KB RAM versus gigabytes on an MPU. Allocating large buffers, using printf(), or running complex libraries can exhaust RAM and cause crashes. Profile memory usage early and use static allocation where possible.

An MCU rated for 3.3V at 25°C may need voltage and frequency reduction at 85°C. Deploying devices in hot environments (industrial, outdoor summer) without thermal analysis causes premature failures. Check the electrical characteristics section of the datasheet for derating curves.

31.10 What’s Next

Direction Chapter Focus
Next MCU vs MPU Selection Fundamental MCU vs MPU comparison, decision frameworks, platform selection
Next Power Management and Interfaces Sleep mode hierarchy, GPIO configurations, PWM control, ADC resolution
Next SoC Architecture Internal block diagrams, hardware accelerators, die area analysis