Microcontroller-Based Design: Most embedded systems use microcontrollers (MCUs) which integrate the CPU, memory, and peripherals onto a single chip to save space and cost.
Firmware Development: Software is typically written as 'firmware'—low-level code that interacts directly with hardware. This is often written in C or Assembly to maximize performance and control.
Monitoring vs. Control: Systems are categorized by their interaction with the environment. Monitoring systems passively collect data (e.g., a digital thermometer), while control systems actively change the environment based on sensor input (e.g., a thermostat turning on a heater).
| Feature | Embedded System | General Purpose System |
|---|---|---|
| Function | Dedicated/Specific | Multi-purpose/Flexible |
| Hardware | Minimal/Optimized | High-performance/Scalable |
| User Interface | Simple or None | Complex (GUI, Keyboard) |
| Cost | Low per unit | High per unit |
The 'Computer' Misconception: Students often think a device isn't a computer if it doesn't have a screen or keyboard. In reality, any device with a processor and memory that executes logic is a computer system.
Over-specifying Hardware: A common design error is choosing a processor that is too powerful for the task, which increases unit cost and power consumption unnecessarily.
Ignoring Latency: Failing to account for the time it takes for a signal to travel from a sensor through the processor to an actuator can lead to system instability in control loops.
Internet of Things (IoT): Many modern embedded systems are now connected to the internet, allowing for remote monitoring and updates, though this introduces new security challenges.
Feedback Loops: Embedded control systems rely on the concept of feedback, where the output of the system is used to adjust future inputs to maintain a desired state (e.g., cruise control in a car).