Embedded System Design:
An Engineer's Guide

It is difficult to argue against the fact that we are increasingly moving towards a future where our environments will exhibit ambient intelligence (AmI). The devices, appliances, and vehicles we interact with will be aware of and adaptive to our presence. This is not hard to imagine when we already have simple examples like lights that use sensors to turn lights on and off when someone enters or leaves a room.  

Additionally, we have many devices and appliances that can decide their operation by gathering and processing external data. These ‘smart’ products exhibit the technological foundation from which AmI development will be realized. And the brains that enable the development of smart products are embedded systems. 

Embedded systems, which are electronic circuit boards installed within larger systems, can range from simple to quite complex. However, they all incorporate at least one microprocessor or microcontroller, which allows for the mathematical and logical processing needed to make smart decisions. Optimizing embedded system design requires understanding the attributes, performance classifications, and functionality types and following guidelines intended to maximize performance, reliability, and efficiency.

Embedded-system-design-the-brain-of-smart-electronics
Embedded system design: the brain of smart electronics

Your choice of microprocessor or microcontroller is critical to ensure your embedded system design is optimized for manufacturing, performance, and reliable operation. However, researching components can cost you valuable development time and may not yield the best part for your project. The most efficient option is to employ a personalized component resource. 

With Ultra Librarian’s Virtual Librarian Service (VLS) you can

Embedded System Attributes

Irrespective of the application, embedded systems have common features, such as a dedicated processor – often a single-chip microcontroller – installed in a larger system and specific functionality. Other attributes, as listed below, are also typical for these electronic circuit boards.
  • Dedicated operating system
  • Internal memory
  • Boot from ROM

  • No or minimal direct user interface

  • Requires peripherals for input/output

  • Perform in real time

  • Highly reliable

  • Stable operation

  • Low cost

As the list above indicates, embedded systems are composed of computers programmed to perform a specific task(s) that enables or enhances the capabilities of a larger system. The limit to how these boards may be used is far from defined and continually deployed in new applications. This versatility makes designing and implementing embedded systems attractive but does pose a challenge for classifying them, which is usually based on performance complexity or operational environment. Both of these are discussed below.

Embedded System Performance Classifications

High reliability, stability, and real-time operation are important attributes that your embedded system should possess. Therefore, performance type is one of the popular ways of categorizing embedded systems. Examples of each of the three classes used are shown below.

Embedded System Performance Classes
Embedded SystemCharacteristicsExample
Small ScaleThese embedded systems employ an 8 or 16-bit processor and are often used in small portable devices powered by batteries. Typical applications include cellular phones and digital cameras.
Medium Scale16 or even 32-bit processors are used in these embedded systems, as they are larger and more complicated than small scale devices.  Software is typically created in C, C++, or Java.  Applications include routers and ATMs.
SophisticatedThese devices often contain multiple 32 or 64 bit processors. They have advanced programming and operations. Examples include medical imaging equipment and hybrid vehicles.  
As the table illustrates, embedded systems are major components of systems we use daily.

Embedded System Functionality Types

In addition to grouping by performance level, embedded systems are also classified according to functionality. This is shown below, along with industry applications.

EMBEDDED SYSTEM INDUSTRY APPLICATIONS

Function Type Common Industry Applications
Standalone Home Appliances, Commercial Products, Robotics
Networked Financial, Government, Automotive, Computing, Industrial
Mobile Commercial Products
Real-time Transportation, Financial
The above list is not exhaustive; however, it accurately shows where embedded systems with the functionality above are commonly utilized. Knowing common applications is very helpful and should be used as a guide for your design. However, it is also important to understand when to use embedded systems and not to use them.

Embedded Systems: Advantages and Disadvantages

As we have discussed, embedded systems are used in various industries and for many applications. Many reasons or advantages have led to this broad deployment of embedded systems. These are listed below, along with situations where there may be better options than these devices.
  • Advantages of Embedded Systems:
  • Small and reliable
  • It can be used in a wide range of applications
  • Improves system resource utilization
  • Enhances product quality
  • Typically has low power consumption
  • Can be mass produced
  • Disadvantages of Embedded Systems:
  • Can have long development cycles

  • Requires programming or flashing

  • Often cannot be reprogrammed

  • Minimal resources; such as memory

It is essential to understand and be able to justify the use of an embedded system before incorporating it into your design. 

Optimizing Your Embedded System Design

Embedded systems are electronic circuit boards; therefore, good design practices should be followed. The following paradigm shows the process.
  • 1. Embedded System Design Guidelines (Hardware)
  • Functionality
  • Manufacturability
  • Acquire and follow your CM’s DFM and DFA rules
  • Work with your CM to ensure that your design intent is maintained throughout fabrication and assembly
  • Reliability
  • 2. Embedded System Design Guidelines (Software)
  • Firmware Development
  • Create a detailed flowchart
  • Write code
  • Debug code
  • Test software
  • 3. Validate Embedded System Operation

As shown above, the embedded system design process can be complex and time-consuming. Typically, multiple engineers and teams are involved. For example, PCB design, Firmware designer, and mechanical designer. Therefore, avoiding supply chain disruptions and creating thorough, accurate design and BOM files is essential. This is best done using a component and data source that offers up-to-date and manufacturer-vetted component data.

If you’re looking for CAD models for common components or best practices and tips like how to optimize your embedded system design, Ultra Librarian helps by compiling all your sourcing and CAD information in one place. Working with Ultra Librarian sets up your team for success to ensure streamlined and error-free design, production, and sourcing. Register today for free.