What is an embedded system?
We explain the key characteristics of an embedded system, their benefits and challenges
An embedded system is a controller that sits within a larger system in order to perform a dedicated function.
They are used in a host of modern devices, including household machines such as microwaves, toasters and washing machines. Embedded systems in a washing machine, for example, would be tasked with the closing and opening of valves to let water through into the system at set intervals (pre-wash, washing) and then out when it needs to drain. These processes are controlled by microcontrollers.
The complexity of an embedded system can vary significantly depending on the task it's designed for, ranging from a single microcontroller to a suite of chips with connected peripherals and networks.
A car is a good example of an embedded system in action. Modern vehicles generally contain a host of smart features, both for the user experience and the management of the internal systems. Cars usually rely on a CPU, and have embedded systems that manage the traction control system, GPS navigation, stability controls and the airbags.
Hardware foundations of an embedded system?
Modern embedded systems are typically based on microcontrollers, having moved away from simple microprocessors.
The main difference is that microprocessors are made up of just a central processing unit, with additions like RAM and ROM being added externally. Microcontrollers, however, generally come with a fixed amount of built-in memory.
Embedded systems are required to be highly reliable, as any faults in the unit can have devastating consequences for the larger system. Not only will core functions cease to operate, but accessing and fixing an embedded system can be incredibly difficult depending on the device.
There are a number of types of embedded systems, such as stand-alone systems that don't require a host - an example of this is video game consoles. Real-time embedded systems, which runs specific tasks in specific time frames. Network-embedded systems, which are connected to a network. And, mobile embedded systems, which can be found in portable devices, as the name suggests.
Key features of an embedded system
Although most embedded systems are designed to carry out one function very well, and will often only be required to repeat this function over and over again, some embedded systems can be designed to control the entire operating system.
But even this is one function with little variety - they will very rarely be expected to do anything more and therefore this makes them more reliable than using a variable component.
Embedded systems have an extremely important role, and because they're embedded, they're not interchangeable. If they were not essential to the overall system's operation, they would instead be modular and could be swapped in and out to allow for new functions or processes.
Other characteristics of an embedded system are that they are completely reactive, communicating through sensors or actuators. If they don't offer the right response in real-time, the response is considered incorrect and they will not function.
Examples of embedded systems
Almost every mechanical device today will have an embedded system inside it, including a watch, a car, a microwave, a smoke alarm, or a washing machine. They're also regularly used in IT components too, such as routers and switches.
What are the benefits of an embedded system?
Because embedded systems usually only have one function, they are able to operate with very little power consumption and can fit in a tiny space compared to other components. They are also very cheap, making them a hugely efficient way of controlling devices.
Embedded systems are also very low maintenance, rarely needing any hardware or programming changes. This makes them very useful for integrating into devices that don't need end-user servicing.
Because they only need to complete one task, over and over and over again, embedded systems are great for use in devices that don't need updating to work effectively. For example, a high proportion of aeroplane entertainment systems using embedded systems were able to run Windows XP for much longer than laptops - that was until Microsoft withdrew support.
What are the challenges of an embedded system?
Embedded systems certainly have their benefits, but equally, there are lots of limitations to a component that is so dependent on other elements of a totally enclosed system.
For starters, they are very hard to upgrade as their 'embedded' nature means they are sometimes in very deep or inaccessible places within the overall machine.
The deep level of embedded system integration also means it's hard to fix something when it goes wrong. Unlike modular systems, embedded systems are hard to re-program when in situ. This means it's very difficult to upgrade any software if a fault is found and even if it can be tweaked, it may have a knock-on effect on some of the other parts.
For a replacement to be successful and to effectively overcome issues, it's likely the entire device will need to be totally deconstructed with other components removed, with the part replaced and reprogrammed in order to work.
Often, it's more cost-effective for the whole machine to be replaced rather than a single part when labour costs and new component costs are combined.
However, in some cases, the embedded system's dependency on other components means that sometimes tweaks can be applied via other, more accessible parts.
Top 5 challenges of migrating applications to the cloud
Explore how VMware Cloud on AWS helps to address common cloud migration challengesDownload now
3 reasons why now is the time to rethink your network
Changing requirements call for new solutionsDownload now
All-flash buyer’s guide
Tips for evaluating Solid-State ArraysDownload now
Enabling enterprise machine and deep learning with intelligent storage
The power of AI can only be realised through efficient and performant delivery of dataDownload now