These relate to the physical components and resources of the system.
This is often the most critical constraint, especially for battery-powered or mobile devices.
Source: Is the device battery-operated, powered by USB, or plugged into the wall? This dictates the entire power budget.
Battery Life: For mobile devices (wearables, IoT sensors), the system must be designed for ultra-low power consumption to maximize time between charges or battery replacements. This involves using low-power components and aggressive power-saving modes (e.g., sleep, deep sleep).
* Thermal Management: High power consumption generates heat. The system's physical enclosure must be able to dissipate this heat to prevent component damage. A smaller device has less surface area for dissipation, making this a major challenge.
Embedded systems are notoriously memory-constrained.
RAM (Volatile Memory): This is used for running the program (stack, heap, global variables). It is often very limited (from a few kilobytes in simple MCUs to a few megabytes). This constraint forces developers to use efficient data structures, avoid dynamic memory allocation, and manage memory meticulously.
Flash/ROM (Non-Volatile Storage): This is where the program code and constant data are stored. The size of your application binary must fit within the available flash memory. This drives the need for code size optimization.
The goal is to choose a processor that is "just powerful enough" to do the job, as more power means higher cost and energy consumption.
Clock Speed (MHz/GHz): A direct measure of how many instructions per second the CPU can execute.
Architecture: The choice between an 8-bit, 16-bit, 32-bit, or 64-bit microcontroller/microprocessor has huge implications for performance, power, and cost.
* Specialized Cores: Does the application require a Digital Signal Processor (DSP) for audio/video processing, a Floating Point Unit (FPU) for complex math, or a Graphics Processing Unit (GPU) for a display?
The system must physically fit into its final product.
Miniaturization: For devices like medical implants, wearables, or small sensors, every millimeter counts. This impacts PCB layout, component selection, and enclosure design.
Weight: Crucial for drones, wearables, and aerospace applications.
The system needs to interact with the outside world.
Number of Pins: The microcontroller must have enough General-Purpose I/O (GPIO) pins for all the sensors, buttons, LEDs, and actuators.
Communication Interfaces: Does it need UART, SPI, I2C, CAN, Ethernet, USB, Wi-Fi, Bluetooth? The chosen microcontroller must have these peripherals built-in, or they must be added with external chips, increasing cost and complexity.
These define how the system must behave while performing its task.
This is a defining characteristic of many embedded systems. It's not about being fast, but about being on time.
Hard Real-Time: Missing a deadline is a catastrophic system failure. Examples: Anti-lock braking system in a car, a pacemaker, or a factory robot's safety stop.
Soft Real-Time: Missing a deadline degrades performance but isn't catastrophic. Examples: A dropped frame in a video stream or a slight delay in a smart home device responding to a command.
* Latency & Jitter: The system must respond to an event within a specific time (latency), and that response time must be consistent (low jitter).
The system must operate correctly and consistently for its expected lifespan.
Mean Time Between Failures (MTBF): The system must be designed to run for years without failure, especially if it's in a remote or inaccessible location (like a satellite or an undersea sensor).
Environmental Factors: The system must withstand its operating environment, which could include extreme temperatures, humidity, vibration, shock, radiation (in space), or electromagnetic interference (EMI).
These are the "real-world" pressures that shape the entire design process.
Cost is arguably the single most dominant constraint in consumer electronics and high-volume products.
Bill of Materials (BOM) Cost: The cost of every single component on the board. In high-volume manufacturing, saving even a fraction of a cent per unit is significant.
Non-Recurring Engineering (NRE) Cost: The one-time costs for design, development, testing, and tooling.
* Total Cost of Ownership: Includes maintenance, updates, and potential recalls.
In competitive industries, getting a product to market quickly is critical. This can force design compromises, such as using off-the-shelf modules instead of a custom design, or choosing a more powerful (and expensive) processor to reduce software optimization time.
With the rise of the IoT, security is no longer an afterthought.
Data Protection: Protecting sensitive user data both on the device (at rest) and during communication (in transit) using encryption.
System Integrity: Preventing unauthorized modification of the firmware using features like secure boot.
* Physical Security: Resistance to physical tampering and reverse engineering.
For many industries, the system must be certified to meet specific safety standards.
Examples: ISO 26262 for automotive, DO-178C for avionics, IEC 62304 for medical devices.
Impact: This adds immense overhead to development, requiring rigorous documentation, testing, and traceability, which in turn increases cost and time-to-market.
How will the device be updated or fixed once it's in the field?
* Firmware Over-The-Air (FOTA/OTA): The ability to securely update the device's software remotely is essential for fixing bugs, patching security vulnerabilities, and adding new features. This requires a robust bootloader and sufficient storage.
The key challenge in embedded design is that these constraints are all interconnected. For example:
Ultimately, embedded systems engineering is the art of balancing these competing constraints to deliver a product that is perfectly tailored to its specific function.