Embedded Systems

Embedded systems are at the heart of countless devices we rely on daily, from smartphones and medical equipment to industrial machinery and automobiles. As technology advances, embedded systems are becoming increasingly integral to developing smarter, more connected devices that drive innovation across industries.

Endava pattern on swirling red white and blue dots

What is an embedded system?

An embedded system is a computer system built into a more extensive mechanical or electronic system to perform a specific function. It comprises a computer processor, memory and input/output (I/O) devices. These systems can be programmable or have a fixed function.  

 

Embedded systems can range from having no user interface (UI), such as buttons, LEDs and touchscreen sensing that performs a single task, to complex graphical user interfaces (GUIs). Examples include the controller that runs a microwave oven or the engine control system of a car. 

 

Embedded systems are used in many devices, such as smart home technology, wearables, autopilots, remote sensors, Internet of Things (IoT) devices, biomedical equipment, digital watches, household appliances, aeroplanes and vending machines. They can also support embedded applications, which are computer applications embedded in a host device's microprocessor system. 

Characteristics of embedded systems

The main characteristic of embedded systems is that they're task specific. They also have the following characteristics: 

  • They typically consist of hardware, software and firmware. 
  • They're built for specialised tasks within the system, not various tasks. 
  • They can be either microprocessor-based or microcontroller-basedboth are integrated circuits that give the system compute power. 
  • They often use ASIC and FPGA systems on chip (SoCs). 
  • They're often used for sensing and real-time computing IoT devices. 
  • They can vary in complexity and function, which affects the type of software, firmware and hardware they use. 
  • They're often required to perform their function under a time constraint to keep the more extensive system functioning correctly. 

Components of an embedded system

Embedded systems can vary in complexity but generally consist of the following three elements:  

Embedded systems hardware

The hardware of embedded systems is based on microprocessors and microcontrollers. Microprocessors are like microcontrollers and refer to a central processing unit (CPU) integrated with other essential computing components, such as memory chips and digital signal processors. Microcontrollers have those components built into one chip, often called system-on-a-chip (SoC). 

 

A basic embedded system consists of the following elements: 

  • Sensors. Sensors convert physical sense data into an electrical signal. 
  • Analog-to-digital converters. A-D converters change an analogue electrical signal into a digital one. 
  • Processors. Processors process digital signals and store them in memory. 
  • Digital-to-analogue converters. D-A converters change the digital data from the processor into analogue data. 
  • Actuators. Actuators control the mechanical motion of the embedded system by converting electrical signals into physical actions. 

The sensor reads external inputs, the converters make that input readable to the processor and the processor turns that information into helpful output for the embedded system. 

Embedded systems software and firmware

Software for embedded computing systems can vary in complexity. However, industrial-grade microcontrollers and embedded IoT systems usually run simple software that requires little memory. 

Real-time operating systems (RTOS)

These are only sometimes included in embedded systems, especially smaller-scale systems. RTOSes define how the system works by supervising the software and setting rules during program execution. 

How does an embedded system work?

Because embedded systems function as a part of a complete device, they're low-cost, low power consuming small computers embedded in other mechanical or electrical systems.  

 

Using a communication protocol, embedded systems use communication ports to transmit data between the processor and other devices – often other embedded systems. The processor interprets this data with the help of minimal software stored in the memory. The software is usually particular to the function that the embedded system serves. 

 

A microcontroller and a microprocessor can be used in an embedded system, but microprocessors typically require more support circuitry than microcontrollers because they're less integrated into the microprocessor.  

 

Often, embedded systems are used in real-time operating environments and communicate with the hardware using an RTOS. This is suitable at higher levels of chip capability, where the systems are generally fast enough, and the tasks can adapt to slight variations. 

 

Embedded system designers often use compilers, assemblers and debuggers to develop embedded system software. 

Gaining Competitive Advantage in Embedded and IoT Product Development via Multidisciplinary Practices

Read the e-book
image

Types and examples of embedded systems

Embedded systems can differ in their functional requirements. They include the following: 

Mobile embedded systems

Mobile embedded systems are small, portable systems. Examples include digital cameras, smartphones and laptops. 

Networked embedded systems

Networked embedded systems are connected to a network to provide output to other systems. Examples include home security systems and point-of-sale systems. 

Standalone embedded systems

Standaloneembedded systems are different from other embedded systems because they aren't reliant on a host system. Examples include a calculator or MP3 player. 

Real-time embedded systems

Real-time embedded systems give the required output in a defined time interval. They're often used in medical, industrial and military sectors because they're responsible for time-critical tasks. A traffic control system is an example. 

 

Performance requirements can also categorise embedded systems:

  • Small-scale embedded systems often use no more than an 8-bit microcontroller. 
  • Medium-scale embedded systems use a larger 16-32-bit microcontroller and often link microcontrollers together. 
  • Sophisticated-scale embedded systems often use several algorithms that might require more complex software, a configurable processor and a programmable logic array. 

Architecture of embedded systems

There are several common embedded system software architectures, including: 

  • Simple control loops call subroutines, which manage a specific part of the hardware or embedded programming. 
  • Interrupt controlled systems have two loops: a main one and a secondary one. Interruptions in the loops trigger tasks. 
  • Cooperative multitasking is a simple control loop located in an application programming interface. 
  • Pre-emptive multitasking or multithreading is often used with an RTOS and features synchronisation and task-switching strategies. 

Embedded systems trends

Embedded systems are expected to grow rapidly, driven in part by IoT. Other embedded system trends include the following:  

  • AI and ML. There is a growing trend of integrating AI and ML systems into smartphones, autonomous vehicles, industrial automation and wearable devices. 
  • Edge computing. Edge computing, which pushes data processing closer to the source device, is also becoming more prevalent in embedded systems, as it can lower latency and bandwidth usageespecially in real-time applications. 
  • Security. As security becomes an increasing concern for many, security features such as encryption and secure boot mechanisms are being integrated into embedded systems. 
  • Increased connectivity. Continued improvements in Bluetooth and 5G technologies provide higher bandwidth and lower latency for embedded systems. 
  • Quantum computing. Integrating quantum computing with embedded systems could offer better security through quantum cryptography, improved optimisation and advanced problem-solving. 
  • Edge AI. Edge artificial intelligence refers to deploying AI algorithms and AI models directly on local edge devices such as sensors or IoT devices, enabling real-time data processing and analysis without constant reliance on cloud infrastructure. 

The demand for innovative technology solutions will grow as industries embrace digital transformation. Embedded systems play a pivotal role in developing cutting-edge technologies, from enhancing device functionality to improving operational efficiency. Businesses that harness the potential of these systems are well-positioned to lead in innovation and drive future advancements across various sectors.  

Further reading

Check out these resources to learn more about embedded systems and its role in people-centric innovation.

hero-challenges-for-adopting-ai-systems-in-software-development_1920x1280

Challenges for Adopting AI Systems in Software Development

Read this blog to learn about the challenges of adopting AI for software development and delivery.

Read the article
Pattern Mono Dark

What’s at the Core of Efficient Software Architecture? With Eoin Woods

Tune into this episode of Tech Reimagined to learn about software architecture as a discipline, how we practice it in our projects, and what makes software architects one of the key roles in large technology projects.

Listen to the podcast
An Endava branded race car driving on the track.

Opening Lap: An Endava and Toyota Racing Development Q&A

Read this Q&A with Toyota Racing’s Chief Information Officer Jonny Elliott and Commercial Director Jon Flack to learn more about the role of technology in race car development.

Read the article
Discover more insights