Embedded Systems
Tags: softwareengineering, automation, csharp, programming
Published: 2023-10-17 19:24:55

## What are embedded systems?
Embedded systems are a combination of software and hardware, created to perform a specific function. They are computer systems that have a dedicated function and are often times part of a larger mechanical or electronical system. Whenever you're dealing with devices that have one main ability, it is most likely going to be an embedded system. For example, a DSLR camera, like the one pictured below, would be considered an embedded system, since it's sole ability is to take photos and nothing else. That makes a point, that embedded systems are not multifunctional. Embedded systems perform there function and nothing can be done further. On most other computer systems, you can perform multiple functions, and even create other softwares sometimes using it.

![dlsr camera](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a9b6xeod443s72gcbxd2.jpg)

## Embedded Subsystems
Embedded subsystems are embedded systems that are part of a larger system. They, unlike some other embedded systems, do not stand alone. For example, a computer keyboard would be considered an embedded subsystem since it is part of a larger computer system. Although the keyboard performs one function, to input characters using keys and buttons, it is still part of a larger system. The larger system is the whole computer setup, and the keyboard is used to input the data from the key strokes into the computer system. Subsystems can be really useful when building out these bigger systems, because multiple can be made to perform their own specific tasks to bring together a well-kept ecosystem without any conflicts.
![computer keyboard diagram](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jhs0j8dn8paa6bmg1qis.jpg)
## Standalone Embedded Systems 
Standalone embedded systems are virtually the same as embedded subsystem, in which they both are designed to handle a specific function. The difference between the two is that standalone systems only handle their function and that's it, whereas subsystems are a small piece to a much larger puzzle. For example, a handheld calculator is a standalone embedded system. The calculator is considered a standalone, because all it does is handle math equations. It would've been considered a subsystem if it'd handle math equations and then send them to a computer system automatically.

![microwave](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1h88vsxw7vywgg0lf2tm.jpg)

## Embedded Systems vs General Computers 
In most cases, embedded systems and general computers differ a lot. The biggest difference is that general computers can be used to do pretty much anything technical. In contrast, embedded systems have a very limited scope of work it can do and that can't be changed. Many of us use general computers and embedded systems daily. For example, the device you are reading this article on is considered a general computer. That's because you can do anything on it. A microwave, something else you've probably used recently, is considered an embedded system since it can only perform one function, heating food.
## Conclusion
Take some time to pay attention to all of the devices that you use on the daily basis. Once you've read this article, you'll be able to tell what's an embedded system and what's not. You'll also start to realize how important embedded systems are for to perform our daily tasks. Overall, I would say that embedded systems are pretty cool and very valuable.