60 Processes: Core Definitions
60.1 Learning Objectives
By the end of this chapter, you will be able to:
- Distinguish between processes (algorithms transforming inputs to outputs) and systems (interconnected components) in IoT contexts
- Construct block diagram representations of IoT systems showing inputs, processing, and outputs
- Decompose IoT systems into hardware, software, and network subsystems using hierarchical design
- Identify inputs, outputs, processes, and constraints for a given IoT device scenario
- Apply modular decomposition principles to isolate failures and optimize specific subsystem performance
60.2 Prerequisites
Before diving into this chapter, you should be familiar with:
- Sensor Fundamentals and Types: Understanding how sensors measure physical phenomena is essential for grasping how systems transform inputs into meaningful data
- Actuators: Knowledge of actuators helps understand how systems produce physical outputs in response to control signals
- IoT Reference Models: Familiarity with layered IoT architectures provides context for where processes operate within the device-to-cloud stack
60.3 Getting Started (For Beginners)
Analogy: A process is like following a recipe—you have ingredients (inputs), cooking steps (the process), and a finished dish (output). A system is the entire kitchen setup that makes cooking possible.
Simple explanation:
- Process: Any action that transforms inputs into outputs
- System: A collection of parts working together toward a goal
- Control: How you adjust the process to get the desired output
60.3.1 The Kitchen Analogy
KITCHEN (System) - Baking a Cake:
| Component | Role | Examples |
|---|---|---|
| INPUTS | Raw materials & energy | Eggs, Milk, Flour, Butter, Electricity |
| PROCESS | Transformation | Mixing & Baking |
| OUTPUT | End product | Cake |
| CONTROL | Regulation | Temperature Setting |
Flow: INPUTS → PROCESS → OUTPUT (with CONTROL regulating the process)
Key insight: The temperature dial is your “control”—you adjust it to get the right output!
60.3.2 Self-Check Questions
Before diving into the technical details, test your understanding:
- Basic Concept: What’s the difference between a process and a system?
- Answer: A process is the transformation (input → output). A system is everything that makes it work together.
- Real-World: Can you identify the inputs, process, and outputs of a smart light bulb?
- Answer: Input: power + command signal. Process: interpret command, adjust LED driver. Output: light at specified brightness/color.
In one sentence: Systems are collections of components that work together, while processes are the transformations that systems perform on inputs to produce outputs.
Remember this: Every IoT device can be analyzed as a system with inputs (sensors, user commands), processes (algorithms, logic), and outputs (actuators, displays, data).
60.4 What is a Process and What is a System?
⭐ Difficulty: Foundational
Most electronic systems, particularly IoT devices, are designed to perform specific tasks. These can be broken down into two fundamental components: the process and the system.
60.5 Key Definitions
- Process
- A series of actions or steps taken to achieve a particular end. In IoT devices, this is typically implemented by the program running on the microcontroller. The process defines how the device accomplishes its goal.
- System
- A set of things working together as parts of a mechanism or interconnecting network; a complex whole. In IoT, a system comprises the microcontroller, sensors, actuators, and their interactions working together to perform a specific function.
An electronic system is a physical interconnection of components that gathers information, processes it, and produces output. The sensors provide input, actuators provide output, and the microcontroller executes the process that transforms inputs into outputs.
Alternative View:
60.6 Block Diagram Representation
⭐ Difficulty: Foundational
Complex electronic systems can be represented as interconnected “black boxes” where each box represents an individual component or subsystem. This block-diagram representation allows us to analyze systems at different levels of abstraction without getting overwhelmed by implementation details.
60.7 IoT System Decomposition
⭐⭐ Difficulty: Intermediate
Modern IoT systems can be decomposed into hierarchical blocks at multiple levels:
This hierarchical view helps engineers: - Identify component boundaries and interfaces - Isolate problems during debugging - Design modular, reusable subsystems - Optimize specific subsystem performance
Interactive Learning Tools:
- Simulations Hub - Try the Network Topology Explorer to visualize how processes flow through different system architectures
- Videos Hub - Watch process control demonstrations showing real systems in action
- Quizzes Hub - Test your understanding of system decomposition and component interactions
Knowledge Resources:
- Knowledge Gaps Hub - Common misconceptions about systems vs processes explained
- Knowledge Map - See how processes & systems connect to sensors, actuators, and architectures
This Series:
- Processes & Systems: Control Types - Open-loop vs closed-loop control
- Processes & Systems: PID Control - PID controller theory and applications
Deep Dives:
- Process Control and PID - Advanced feedback control systems
- Processes Labs and Review - Hands-on implementations
Foundation:
- IoT Reference Models - System architecture layers
- Architectural Enablers - IoT technology stack
Sensing & Actuation:
- Sensor Fundamentals - Input devices
- Actuators - Output devices
Scenario: Design a IoT-enabled coffee maker with app control, scheduling, and brew strength customization. Decompose into process and system components with quantified performance metrics.
System Requirements:
- Brew 1-12 cups (150-1800 mL) in 8-15 minutes
- Maintain water temperature 92-96°C during brew
- Mobile app control via Wi-Fi
- Scheduling (wake-up coffee ready at 6:30 AM)
- Brew strength: weak/medium/strong (water-to-coffee ratios)
System Decomposition:
Hardware Subsystem (Physical Components):
| Component | Spec | Cost | Function |
|---|---|---|---|
| Water reservoir | 2L capacity, float sensor | $8 | Store cold water, detect level |
| Heating element | 1200W, 120V AC | $12 | Heat water to 92-96°C |
| Temperature sensor | NTC 10K thermistor, ±0.5°C | $2 | Monitor water temperature |
| Water pump | Peristaltic, 150 mL/min | $15 | Pump heated water through grounds |
| Grind container | 500g capacity with load cell | $18 | Measure coffee grounds (±1g) |
| ESP32 microcontroller | Dual-core 240 MHz, Wi-Fi | $8 | Execute control algorithms |
| Relay board | 4-channel, 10A | $6 | Switch heater, pump, valve |
| Power supply | 12V 3A + 5V 2A | $8 | Power electronics |
| Total BOM | $77 |
Software Subsystem (Processes):
| Process | Algorithm | Inputs | Outputs | Timing |
|---|---|---|---|---|
| Brew Control | State machine (IDLE→HEAT→BREW→KEEP_WARM→DONE) | User command, temp, level | Heater on/off, pump speed | 1 Hz |
| Temperature PID | Kp=15, Ki=0.5, Kd=5 | Setpoint 94°C, measured temp | Heater duty cycle (0-100%) | 2 Hz |
| Brew Strength Logic | Weak=1:18, Med=1:15, Strong=1:12 ratio | Selected strength, cup count | Pump duration (seconds) | Once per brew |
| Scheduling | RTC alarm + delayed start | User schedule, current time | Brew trigger at scheduled time | Event-driven |
| Wi-Fi Comm | MQTT client to AWS IoT | App commands, device status | Brew status, alerts | 5-second heartbeat |
Process Flow - “Brew 6 Cups Medium Strength”:
Step-by-Step with Timing:
- T=0s - User triggers via app (MQTT message:
{"cups": 6, "strength": "medium"})- System: IDLE → HEAT state
- Calculate: 6 cups × 150mL = 900mL water needed
- Coffee needed: 900mL ÷ 15 (medium ratio) = 60g coffee grounds
- Check reservoir: Float sensor reads HIGH (>1L available) ✓
- Check grounds: Load cell reads 180g (>60g available) ✓
- T=0-300s - Heating phase
- Target: Heat 900mL water from 20°C to 94°C
- Energy needed: 900g × 4.18 J/g°C × 74°C = 278,388 J
- Heater power: 1200W → Time = 278,388 J ÷ 1200 W = 232 seconds
- PID controller maintains 94°C (overshoot <1°C, settles in 240s)
- App status update: “Heating water… 45°C… 68°C… 92°C… Ready!”
Heating time from thermodynamics: \(Q = mc\Delta T\) where mass \(m=900g\), specific heat \(c=4.18 J/(g \cdot °C)\), and temperature rise \(\Delta T = 74°C\). Worked example: Required energy is \(Q = 900 \times 4.18 \times 74 = 278,388J\). With heater power \(P=1200W = 1200 J/s\), heating time is \(t = Q/P = 278,388/1200 = 232s \approx 3.9\) minutes. Upgrading to 1800W would reduce this to \(t = 278,388/1800 = 155s\), a 33% speed improvement.
- T=300-480s - Brewing phase
- Pump activates: 150 mL/min flow rate
- Total water: 900 mL → Pump time = 900 ÷ 150 = 6 minutes
- Water flows through 60g grounds in filter basket
- Temperature maintained at 94±1°C during entire brew (PID active)
- T=480-540s - Finalization
- Pump stops, remaining water drips through (gravity)
- Heater switches to keep-warm mode (85°C, reduces power to 300W)
- Load cell confirms 60g grounds consumed (reservoir now 120g)
- System: BREW → KEEP_WARM state
- T=540s - Complete
- MQTT message:
{"status": "complete", "volume": "900mL", "time": "9min"} - App notification: “Your coffee is ready!”
- Keep-warm active for 30 minutes, then auto-shutoff
- MQTT message:
System Performance Metrics:
| Metric | Target | Achieved | Notes |
|---|---|---|---|
| Brew time | 10-12 min | 9 min | Faster due to 1200W heater |
| Temperature accuracy | 92-96°C | 94±0.8°C | PID controller with thermistor |
| Brew strength consistency | ±5% coffee dose | ±1g (±1.7%) | Load cell precision |
| App latency | <2 sec | 1.2 sec avg | MQTT over Wi-Fi |
| Energy efficiency | <0.2 kWh/brew | 0.15 kWh | Heating (0.09 kWh) + keep-warm (0.06 kWh) |
| Failure modes detected | Reservoir empty, no grounds | 100% detected | Sensors prevent dry heating |
Key Insight: The system (hardware) enables the process (software algorithm). You can simulate the brew process in Python without hardware, but you need the physical system to actually make coffee. System decomposition reveals that the heating element (1200W) is the bottleneck—upgrading to 1800W would reduce brew time to 6.5 minutes but requires 15A circuit instead of 10A.
When to Prioritize Process (Software) Over System (Hardware):
| Scenario | Reasoning | Example |
|---|---|---|
| Requirement changes frequently | Software updates easier than hardware redesign | Brew algorithms (strength, temperature profiles) change based on user feedback |
| Hardware is commodity | Use off-the-shelf components, differentiate with software | Generic heating element + thermistor; custom PID tuning |
| Scaling to high volume | Software scales to millions at near-zero marginal cost | Mobile app + cloud backend serves 10 or 10M users |
| Rapid prototyping needed | Iterate on algorithms faster than PCB redesigns | Test 5 temperature profiles in 1 day vs 4-week PCB fab |
When to Prioritize System (Hardware) Over Process (Software):
| Scenario | Reasoning | Example |
|---|---|---|
| Performance bottleneck | Hardware physics limits (1200W heater = max heat rate) | Can’t brew faster without more powerful heater |
| Cost-sensitive high volume | $1 BOM savings = $1M at 1M units | Replace ESP32 ($8) with ESP8266 ($3) for basic control |
| Power constraints | Battery life dictated by hardware efficiency | Low-power MCU (STM32L) vs high-power (Raspberry Pi) for sensors |
| Reliability requirements | Hardware redundancy needed (dual sensors, backup power) | Medical devices, industrial safety systems |
Balanced Approach Decision Table:
| Design Aspect | Process Focus | System Focus | Balanced |
|---|---|---|---|
| Temperature control | PID algorithm tuning (Kp, Ki, Kd) | Heater wattage, sensor accuracy | Both: Good sensor + tuned PID |
| Brew strength | Coffee-to-water ratio logic | Load cell precision, pump flow rate | Both: Accurate load cell + calibrated flow |
| User interface | App features (scheduling, notifications) | Display hardware (LCD vs OLED) | App primary, minimal display |
| Connectivity | Protocol choice (MQTT, HTTP), retry logic | Wi-Fi module selection (ESP32 vs CC3200) | Reliable module + robust protocol |
Quick Decision Test:
- Can software fix this problem? → Prioritize process (e.g., temperature overshoot → tune PID)
- Do we need more power/precision? → Prioritize system (e.g., slow heating → upgrade heater)
- Is this a cost vs feature tradeoff? → Analyze: hardware cost is one-time per unit, software cost is amortized across all units
Real-World Application: Smart thermostats (Nest, Ecobee) differentiate primarily through software (learning algorithms, occupancy detection, scheduling) using commodity hardware (generic temperature sensors, relays). The system (hardware) is “good enough”; the process (software) provides competitive advantage.
The Mistake: Engineers add complex algorithms (processes) to compensate for inadequate hardware (system), or conversely, over-engineer hardware when simple software would suffice.
Example 1 - Process Complexity Masking System Inadequacy:
Scenario: Smart thermostat using a cheap ±2°C accuracy thermistor attempts to maintain ±0.5°C temperature stability through aggressive PID tuning.
What Happens:
- PID sees “temperature” jump from 21°C to 23°C (actually just ±2°C sensor noise)
- Controller responds aggressively → turns heater on full blast
- Actual temperature overshoots to 24°C (real change)
- Sensor reads 22°C (within ±2°C of 24°C) → PID turns heater off
- Result: Oscillates between 20-24°C despite sophisticated control algorithm
The Fix: Replace $2 thermistor with $8 DHT22 (±0.5°C accuracy). Simple P-only control (Kp=5) achieves ±0.5°C stability. Lesson: Good hardware makes software easier.
Example 2 - System Over-Engineering When Process Would Suffice:
Scenario: LED dimmer uses expensive 16-bit PWM generator ($12 component) to achieve “ultra-smooth” dimming, but human eye can’t distinguish beyond 8-bit resolution.
What Happens:
- 16-bit PWM: 65,536 brightness levels (0.0015% steps)
- Human perception: ~100 distinguishable levels (logarithmic, not linear)
- 8-bit PWM: 256 levels more than sufficient for smooth perceived dimming
- Cost waste: $12 component vs $3 component for identical user experience
The Fix: Use 8-bit PWM with gamma correction curve (software):
// 8-bit PWM with perceptual linearity
uint8_t gamma_table[256] = {0, 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 4, 5, 6, ... , 255};
pwm_value = gamma_table[user_brightness]; // Maps 0-255 input to perceptually linearLesson: Smart software compensates for “just adequate” hardware.
Decision Framework:
| Problem | Process Solution | System Solution | Right Choice? |
|---|---|---|---|
| Noisy sensor | Kalman filter, moving average | Higher-precision sensor | System (filter can’t remove ±2°C noise) |
| Slow response | Predictive control, feedforward | More powerful actuator | Depends (if at power limit → system; if control lag → process) |
| User experience | Sophisticated UI, animations | Higher-res display | Process (good UI on basic display > bad UI on 4K) |
| Power consumption | Duty-cycling, sleep modes | Lower-power MCU | Both (best results combine both) |
Key Principle: Process cannot overcome fundamental system limitations (you can’t extract 0.1°C precision from a ±2°C sensor), but process can maximize system potential (gamma correction makes 8-bit PWM look smooth). Analyze the bottleneck first: is it hardware physics or software logic?
Key Concepts
- Physical Process: The real-world system being controlled — characterized by its transfer function relating control input to measured output, including time constants, gain, and dead time that determine controllability
- System Time Constant (τ): The time for a first-order process to reach 63.2% of its final value after a step input — determines minimum achievable closed-loop settling time and constrains maximum control bandwidth
- Process Gain (Kp): The ratio of steady-state output change to step input change in an open-loop process — determines how aggressively the controller must act to achieve setpoint changes
- Dead Time (θ): The delay between a control action and when its effect first appears in the measured output — caused by transport delays in pipes, conveyors, or communication networks — the most challenging process characteristic for PID control
- First-Order Plus Dead Time (FOPDT): The standard simplified process model with three parameters (Kp, τ, θ) sufficient to design PID controllers for most industrial processes using established tuning rules
- Block Diagram: A graphical control system representation using blocks for subsystems (controller, process, sensor) connected by signal flow arrows, with summing junctions for feedback subtraction
Common Pitfalls
Treating the time delay before any response and the exponential rise time as the same parameter. Dead time (θ) is the pure delay before any response; time constant (τ) describes the exponential rise after delay. PID tuning rules use both independently — FOPDT characterization requires separating them.
Running a step test at one operating point and assuming the identified Kp and τ apply across the full operating range. Most real processes are nonlinear — a valve with equal-percentage characteristic has process gain that varies 10:1 from 0% to 100% opening. Test at multiple operating points.
Calculating process gain from noisy step response data without filtering. A 5% noise-to-signal ratio causes 5% error in identified gain, leading to proportionally incorrect PID gains. Filter the step response data (moving average or low-pass filter) before parameter extraction.
Setting PID gains by intuition without running step tests to characterize the process. The process time constant determines maximum control bandwidth; the dead time determines stability limits. Without these, PID tuning is trial-and-error with risk of instability.
60.8 Summary
This chapter covered the core definitions of processes and systems in IoT:
- System Definition: Understanding systems as collections of interacting components that transform inputs into outputs with defined boundaries
- Process Definition: Recognizing processes as series of actions or steps that add value by transforming inputs (materials, energy, information) into outputs
- Block Diagram Representation: Using abstraction to represent complex IoT systems as interconnected black boxes for analysis at multiple levels
- Hierarchical Decomposition: Breaking down IoT systems into hardware, software, and network subsystems for modular design and debugging
- Input-Output Transformations: Analyzing how electronic systems gather information through sensors, process it via microcontrollers, and produce outputs through actuators
- Design Considerations: Evaluating input validation, process robustness, output verification, error propagation, and resource constraints
Every smart device is a SYSTEM made of parts working together, and every system follows a PROCESS to do its job!
60.8.1 The Sensor Squad Adventure: Building a Weather Station
The Sensor Squad was building a weather station for their school. But they needed to understand how all the pieces fit together!
“Think of it like a SANDWICH!” said Max the Microcontroller. “Every sandwich has INPUTS (the ingredients), a PROCESS (putting it together), and an OUTPUT (the yummy sandwich you eat).”
Sammy the Sensor was excited. “I’m the INPUT! I measure things – like how hot it is, how much it’s raining, and how fast the wind is blowing!”
“And I’m the PROCESS!” said Max. “I take all of Sammy’s measurements and figure out what they mean. Is it going to rain? Is a storm coming? I do the THINKING!”
Lila the LED jumped up. “I’m the OUTPUT! I display the weather on a screen so everyone can see: ‘Sunny today, 24 degrees, light breeze!’ I also send alerts to your phone if a storm is coming!”
Bella the Battery smiled. “And I make sure everyone has the ENERGY to do their job. Without me, the whole system stops!”
“See?” said Max. “Together, we’re a SYSTEM – all the parts working together. My weather prediction algorithm is the PROCESS – the step-by-step recipe I follow. The SYSTEM is everything: Sammy, me, Lila, Bella, the wires, the box we live in – the whole team!”
60.8.2 Key Words for Kids
| Word | What It Means |
|---|---|
| System | All the parts working together as a team – like a band with different instruments |
| Process | The step-by-step recipe the system follows – like a cooking recipe |
| Input | Information coming IN – what the sensors measure |
| Output | What comes OUT – the display, the alert, the action |
| Block Diagram | A picture that shows how the parts connect – like a map of the system |
60.8.3 Try This at Home!
Draw Your Own Block Diagram:
- Pick any device in your house (toaster, TV remote, alarm clock)
- Draw boxes for: INPUTS (what goes in?) –> PROCESS (what happens inside?) –> OUTPUT (what comes out?)
- For example, a TV remote: INPUT = you press a button –> PROCESS = remote sends an infrared signal –> OUTPUT = TV changes channel!
Challenge: Can you draw the block diagram for YOUR school’s fire alarm system? What are the inputs, process, and outputs?
60.9 What’s Next
| If you want to… | Read this |
|---|---|
| Learn about control types | Control Types |
| Study PID control implementation | PID Control Fundamentals |
| Explore PID system fundamentals | PID Control System Fundamentals |
| Review processes overview | Processes and Systems Overview |
| Practice with the PID simulation lab | PID Simulation Lab |