Embedded Systems are created to overcome the real-time computing constraints and they are controlled by RTOS (Real-Time Operating System) which can process the data it received without delays. They are composed of software and hardware which relies on microprocessors, microcontrollers, memory, input/output communication interfaces, and a power supply to function. They serve as a PCB (Printed Circuit Board) which is programmed with software that informs the hardware how to manage and operate data using I/O communication interfaces and memory. Embedded Systems consist of 3 parts: the hardware, the software, and the real-time OS. The hardware part is built around a central processing unit (CPU) that serves as the main system controller such as memory, I/Os, computer buses, sensors, analog to digital converters, digital to analog converters, actuators, and peripherals. The software part has four constituents such as firmware, an operating system, middleware, and application software.


The hardware layer is built around a central processing unit (CPU) which serves as the main system controller. A CPU stands for a microprocessor and microcontroller. Other important hardware elements are memory, I/O devices, sensors, analog to digital converters, digital to analog converters, actuators, and peripherals. The hardware elements can be integrated on a single board, comprising a system on-chip. Also, a more complicated board- a system on the module- can be used for different projects.

The main embedded hardware elements are:

Memory for the data storage. If an embedded system is powered by a microprocessor, a memory chip should be added to the system but if it is powered by a microcontroller, the system memory is already available on the chip. Read-only memory (ROM) is used in embedded systems to store the software program that controls the microcontroller, and random-access memory (RAM) is used to temporarily store data that the system receives or uses.

Sensors to convert physical data to electric signals. It also keeps the quantity measured in the memory.

Computer Buses is a communication device that transports data between embedded system components. Some of the bus controllers are Serial Buses (I2C, SPI, SMBus etc.), RS232, RS485, and Universal Serial Bus.

Microprocessor, which contains only a CPU, has minimum power to perform one single task

Microcontroller, which is an integration of I/O ports, CPU, and RAM/ROM memory on one chip. Embedded Systems are built around a microcontroller and microprocessor. Microcontrollers have one or more CPUs, as well as integrated memory and programmable I/O peripherals.

Peripherals (scanners, keyboards, cameras, printers etc.)

Analog to Digital Converters, for transform analog electrical signals into digital ones

Digital to Analog Converters, for transform digital signals from the processor into electrical ones.

I/O Devices for input and output operations. Input devices are devices that receive data from the outside environment. Sensors, switches, photodiodes, optocouplers, and other input devices are examples of input devices. They take the user's input and answer appropriately. The output devices are the results that occur due to input events from outside the microcontroller. LCD, Touch screen, LED, Motors, Seven segment displays, Buzzer, Relays are the perfect examples for output devices.

You can also look at our article ''What is an Embedded Computer'' in order to deepen your knowledge on embedded computers. 


Depending on the intricacy and purpose, the software layer contains diverse components such as firmware, an operating system, middleware, and application software. In general, the large embedded systems consist of all these components although simple embedded systems may lack some software parts. Embedded Systems programming is generally done using C, C++, Embedded C language, or assembly language. The Embedded System programming, including RTOS, exists in the memory chip and can be approached whenever the power supply for the system is activated. Different than the standard computers, Embedded Systems are designed to carry out a task or a function rather than general use. Because of that, Embedded Software Systems are highly distinct to each application of embedded systems.

Application Software, the software that performs the system functions and interacts with the end-users.

Middleware, the intermediary which enables the communication between upper and lower software levels. It lies between an OS and application software.

Operating System, set the rules, and control the system resources. It contains drivers that provide API for upper software components and enable them to communicate with hardware parts. There are 2 types of operating systems: GPOS and RTOS.

Firmware, built-in program written for specific hardware.


Every Embedded device has some inputs and corresponding outputs. In below, you can find an example of how an embedded device works.

If you want to learn more about how embedded systems are used in real-world applications, read our article "Embedded System Examples ".