Embedded Systems 101

The embedded systems definition is very easy to find. Some useful resources are the classical Wikipedia and this one from Trenton Systems to get some context and technical perspective.

In practical words, the electronic systems can be divided into two big realms: analog and digital. The generic difference is that one uses continuous values and the other works with 1’s and 0’s. But here the key between them is that the latter have processors (of some kind) and the former do not.

Within this broad category of digital electronics, there are roughly two other subdivisions, related to the type of processing used. The first is general-purpose processing, such as that found in PCs or smartphones. The other is specific-purpose processing, which is what we find in embedded systems.

In this way, an embedded system is an electronic device with processing elements and a specific purpose or function. These characteristics restrict the resources available for these devices, so they have to be intentionally designed to accomplish their job.

When we talk about resources and capabilities we are referring basically to power, speed and memory. There are others but these are the main ones. The constraints are mainly related to the cost, size, and application. Hence we find that embedded systems are very specific devices that do their best with the resources available.

The limited resources are represented in the processing elements of these devices. Generally, in a PC we have a dedicated processor, and even specific co-processors like GPUs and NPUs, with powerful capabilities to do a lot of different tasks in a single machine. On the other hand, in embedded systems we have microcontrollers, which have tiny processors inside with less speed and therefore less power consumption. Also memories vary significantly between each other where you can find gigabytes of RAM and SSD at GHz speeds on one side, and kilobytes (megabytes at most) at some MHz on the other. 

These big differences make the design process of embedded systems an endeavor to squeeze all the resources available to do the assigned tasks with the less power consumption and the necessary speed for the application. That optimization level has to be reflected in all phases of the engineering processes, from part selection and PCB design to code execution and user interaction.

In the embedded systems world you can find a lot of different technologies, devices, strategies, tools, etc. You can see equipment with tiny 8-bit microcontrollers, fast and reliable ARM CORTEX-A microprocessors and even some crazy applications with re-programmable hardware running inside FPGAs. Each of these devices have its advantages and disadvantages. The selection of one or the other depends on the particular application that you are working on, the requirements and restrictions, and also the resources available.  

You can find embedded systems of all flavors and colors. These systems varies depending on if it is an IoT device, a medical equipment, a household appliance, etc. They can be battery powered, directly connected to the electrical grid or use renewable energy from solar panels. Their applications are practically endless and can be used in a wide variety of industries.

At eming we are dedicated to creating embedded systems with professionalism and quality engineering.

Leave a Reply

Your email address will not be published. Required fields are marked *