1-919-535-3180 | 1-800-360-6802

GE / IP FANUC Series 90/30 In Stock

World's Largest Warehouse

of GE 90-30, Genius, and RX7i



Mon-Fri 8AM-5PM EST


PLC vs Embedded System

A PLC is a large standalone control unit that is pre-packaged and typically rack-mounted in a control cabinet near the equipment or the process being controlled. On the other hand, an embedded system is designed as a single board and can be fully integrated into a product. For example, a smart TV consists of an embedded system integrated into its body. However, in spite of the differences in hardware build-ups, an embedded system can easily perform the functionalities of a PLC.

Though embedded system design engineers view PLC engineers as dinosaurs. While PLC experts view embedded systems as overly complex, risky, and finicky. But some electronics designers generally consider all PLCs to be embedded systems, but not all embedded systems are PLCs. So, which is the best control option between the two? The answer of course is that it depends on your application requirements and sometimes your budget. This article provides a detailed comparison between PLCs and Embedded Systems, which can assist you to structure the decision-making process when considering the two control options.

What is an Embedded System? 

An embedded system is processor-based computer hardware that has software that is designed to perform dedicated functions, either as a part of a larger system or as an independent control system. The processor used can be a microcontroller or a microprocessor. A microcontroller is simply a microprocessor with integrated memory and peripheral interfaces. Microprocessors usually require more support circuitry compared to microcontrollers.

The complexity of an embedded system highly depends on the control task for which it is intended to perform. Complexities can range from a single processor to a suite of processors with connected networks and peripherals; from zero users interface to advanced graphical user interfaces. Applications for embedded systems range from microwaves and digital watches to avionics and hybrid vehicles. Currently, 98% of all the microprocessors manufactured annually are used in embedded systems.

Characteristics of Embedded Systems

First, embedded systems are designed to be task-specific. Second, they typically consist of three components namely: hardware, firmware, and software. And since they are built for specialized tasks, they can be integrated into a larger system to perform a specific function within the system. In such cases, they are required to carry out their functions under a time constraint, so that the larger system can continue functioning properly.

As previously mentioned, an embedded system can either be microcontroller-based or microprocessor-based; both of which are integrated circuits that give the system computing power. Additionally, embedded systems are mainly used for real-time sensing and computing in Internet of Things (IoT) devices. They can vary both in functionality and complexity, which affects the type of hardware, firmware, and software used.

Basic Structure of an Embedded System

Embedded systems generally consist of three main components but they can include more elements depending on the complexity of the system. The three main components include:

  • Hardware: Embedded systems hardware is based on microcontrollers and microprocessors. A microprocessor typically refers to the Central Processing Unit (CPU) which is integrated with other basic computing elements such as Digital Signal Processors (DSPs) and memory chips. In microcontrollers, such components are built into one chip. 
  • Software and Firmware: Software used in embedded systems varies in complexity depending on the nature of the control task to be accomplished. However, embedded IoT systems and industrial-grade microcontrollers run on very simple software with fewer memory requirements. Note, the software used in an embedded system is usually very specific to the function that the system serves. Firmware refers to the programming instructions for the embedded systems, which are stored in the flash memory chips or read-only memory. Firmware runs with limited hardware resources. 
  • Real-Time Operating System (RTOS): The RTOS defines how an embedded system works by acting as a supervisory software and setting rules during program execution. They are not always included in embedded systems, especially the smaller versions.

In terms of hardware, a typical embedded system would consist of the following components: 

  • Sensors: They measure physical quantities and convert them into electrical signals which can be read by an operator or any electronic instrument such as an A-D Converter.  
  • Analog-to-Digital (A-D) Converters: They convert analog electrical signals sent by the sensors into digital signals. 
  • Processors: They process the digital signals to control outputs and they also store the processed data in memory. 
  • Digital-to-Analog (D-A) Converters: They convert the digital data from the processor into analog data. 
  • Actuators: They compare outputs from the D-A converters to the memory-stored/ actual output and choose the correct output. 
Embedded System Structure Diagram

How does an Embedded System Work?

A typical embedded system functions as part of a complete mechanical or electrical system. The embedded system sensors read external inputs, the A-D converters change that input data into a format that is readable by the processor, the processor then converts that information into useful output for the actuators connected to the embedded system. Note, the embedded system’s processors interpret the input data with the assistance of the software stored in the CPU’s memory.

Also, an embedded system has communication ports. It uses the communication ports to exchange data between its processor and peripheral devices, but in other cases, it can communicate with other embedded systems using a communication protocol. The peripheral devices connect embedded systems with the real world, linking input and output devices.

Note, embedded systems are managed by Digital Signal Processors (DSP) or microcontrollers, Field Programmable Gate Arrays (FPGA), Application-Specific Integrated Circuits (ASIC), Graphics Processing Unit (GPU) technology, and gate arrays. All the aforementioned processing systems are integrated with other components which are dedicated to handling mechanical and/or electrical interfacing to the embedded systems. The term System on Chip (SoC) is frequently used to include multiple interfaces and processors on a single chip. High-volume embedded systems usually include SoCs. Examples of SoC types are the Field Programmable Gate Arrays (FPGA) and Application-Specific Integrated Circuits (ASIC).

What is a PLC?

A Programmable Logic Controller (PLC) is a compact and ruggedized industrial computer that can receive input data through its input modules and send control commands through its output modules. They are mainly utilized in the control of manufacturing processes and industrial machines, assembly lines, robotic devices, or any other control activity that requires high reliability, process fault diagnosis, and ease of programming.

Basic Structure of a PLC System

Basic Structure of a PLC System

  • CPU Module and Memory: The CPU module includes microprocessor-based CPU, ROM, and RAM memory. It continuously reads input data from physical devices like sensors, processes the received data, and finally sends commands to control field devices; based on the programmed logic execution results and the state of the inputs. 
  • Input and Output Modules: The I/O modules interface a PLC to the outside world or rather to the rest of the machine. These I/O modules can be either digital or analog. They provide information to the CPU module and trigger specific results on the output devices. Input devices connected to the PLC input modules could include sensors, meters, and switches, while output devices connected to the PLC output modules might include valves, drives, relays, and lights. 
  • Programming Device: This is the device used to feed the user-defined program into the PLC’s processor memory. It is also used to monitor or make changes to the values stored in the PLC program.  
  • Power Supply Module: This module provides power to the entire PLC system. It achieves this by converting the available AC line voltage to DC power that is useable by the CPU and the PLC’s I/O modules. Generally, PLC systems work on a 24V DC supply. 
  • Communications: A PLC system may be required to connect to other systems in addition to connecting to input and output field devices. For example, operators may need to export application data from a PLC system to a SCADA (Supervisory Control and Data Acquisition) system, which provides overall control over multiple connected devices. For this reason, PLCs provide a wide range of communication protocols and ports to ensure communication with other different kinds of systems like SCADA. 

How does a PLC work?

The PLC monitors relevant data inputs by collecting information from the connected input devices, it then sends the collected data to its CPU for processing. On processing the data, the CPU triggers the appropriate outputs based on pre-programmed parameters. Therefore, depending on the state of the inputs and outputs, and the programmed logic, a PLC can monitor and control functions or processes such as operating temperature, machine productivity, automatic start and stop processes, generating alarms whenever machine malfunctions, and many other tasks.

PLC Versus Embedded Systems

From the above description, an embedded system can be defined as a dedicated set of hardware, firmware, and software functioning together to provide application-specific control functionality. From an electronic engineer’s point of view, it consists of a microcontroller (MCU) or microprocessor, memory chips, communication modules, power management circuits, and Input/Output functionality. This structure might sound similar to a PLC system, but there are distinct functional and operational differences between them. In this section, we’ll discuss the key factors that differentiate PLCs from Embedded Systems:

A) Configuration: Embedded systems are mainly designed as a single board, which significantly reduces their purchase prices. On the other hand, PLCs are designed as modular systems and are easily replaceable whenever a specific module fails.  

B) Programming: PLCs are generally programmed in Ladder Diagrams (LD); a language that is easy to understand. This makes PLC programming much easier and less time-consuming. However, embedded systems are programmed in high-level languages such as C and C++, which may be difficult to understand. Also, embedded systems firmware takes longer to write and configure. In addition, you cannot reprogram or modify the application program of an embedded system as you would do with a PLC’s application code. 

C) Operating Environment Reliability: If your intended control application involves operating in harsh environments with extreme vibration, temperature, and shock, then the best choice would be a PLC. Unless you are set on developing a customized embedded system for these conditions and you have an adequate budget for the same. Also, there’s a good chance you won’t have sufficient lab testing for your customized embedded system, which is necessary to make sure that the system can withstand such conditions. But PLCs are typically ruggedized and pre-tested to withstand a variety of harsh operating environments.  

D) Certification: Various industrial control applications require that all electronic control systems be certified by standard agencies and organizations. This is quite easy with PLCs, as branded PLCs are usually pre-certified by CE, UL, RoHS (Restriction of Hazardous Substances), SIL (Safety Integrity Level), and other certifications. With embedded systems, certified modules may be available, but the integrated system may require further assessment and lab testing to demonstrate conformance with certification standards. Thus, if the cost of certifying your customized embedded system outweighs the cost of purchasing an already certified PLC, then you should choose the latter.

E) Unit costs and Development costs: Once developed, a localized system can cost less than PLC’s unit cost by about 10%. However, developing a localized embedded system will typically cost more as there’s more interfacing and integration to be built up. In addition to the hardware unit costs, PLCs have reoccurring software license costs in addition to the hardware unit costs, the software license has to be renewed on an annual basis. But embedded system software tends to be open source, so it’s free with some exceptions. A key trade-off between the two, in this case, is the expected production volume, balancing the reoccurring licensing costs (for PLCs) with the non-reoccurring development costs (for embedded systems). 

F) Flexibility: Most of the PLC technologies such as CPU, programming language, operating system, user interface, and development environment are already made. But with embedded systems, you’re free to make the choices for the aforementioned elements. This is both advantageous and disadvantageous. That making the technology choices in embedded systems can be confusing and daunting but it gives you the chance to develop a highly flexible system. A PLC on the other hand is a ready-made solution but you are constrained by the technology decisions already made by its manufacturer. For instance, even if you find that you don’t like a PLC’s user interface library, there isn’t much you can do about it; you’re just stuck with it. 

G) Code libraries and languages: PLCs are normally restricted to IEC 61131 standardized languages such as Ladder Logic, Function Block Diagram (FBD), Structured Text (STX), etc. These programming languages are simple to use but they are limited in terms of the complexity of the functions they can implement. But it is possible to program Linux-based embedded systems in a variety of high-level languages like C#, C++, C, Python, Java, etc. This gives you a more powerful and flexible system, even though you’ll require more skills and expertise to be able to program in such high-level languages. In addition, programming languages for embedded systems can easily support standardized code across an installed base of products, as they are object-oriented in nature. 

H) Version control: PLCs usually have their source code saved into a vendor-proprietary file format or “binary blob”. Embedded systems on the other hand are programmed in textual source code i.e., C/C++. Currently, version control for textual-based source code is highly developed with tools such as GitHub. However, version control for PLCs is still a challenge, as it relies on manufacturer-specific tools which are not yet able to match the power of Git. 

I) User Interfaces: PLC systems are renowned for having outdated User Interfaces (UIs) similar to 1990s websites. This of course has improved with time but current PLC UIs cannot compare to embedded UI frameworks in terms of functionality. In fact, with embedded systems, you have the choice of more powerful UI frameworks like JavaFX and Qt. 

J) Remote Monitoring and Remote Updates: Initially, PLCs were conceived as isolated, factory-setting-based systems that are not connected to the internet. Nevertheless, major PLC vendors like Allen-Bradley have made significant changes to improve this through the use of EtherNet/IP communication protocols, but still, PLCs don’t have the remote power of an embedded system. For example, when using an embedded system, you can easily set up a web server on board as well as configure Continuous Integration (CI)/Continuous Delivery (CD) pipelines to push out new source code improvements to the field networks. 

K) Real-Time: PLCs are equipped with real-time schedulers which facilitate running specific control loops at desired timing intervals. With an embedded system, this can only be achieved using an RTOS (Real-Time Operating System), which needs more skills and expertise to select and configure than a PLC. 

L) Technical Support: You can easily contact support teams for PLCs from a reputable company or vendor if you have any questions or problems with the system. Although this comes at a cost. However, with embedded systems, you’re usually on your own. But you can outsource a registered contractor to develop your localized embedded system, which will ensure that you’ll receive a decent amount of technical support. Also, some embedded system board manufacturers usually provide application support, but it isn’t as reliable as with the PLC vendors.  

Typical Applications of PLCs

The following are examples of applications where PLCs are the best choice:

  • Material handling over conveyor belts in factory settings 
  • Robotic arms that handle radioactive waste 
  • Laser cutting machines.  
  • Automation of car wash systems 
  • Elevators 
  • Washing machines 
  • Control of pouch filling machines 
  • Gravimetric batching control system 
  • Mail sorting control system in a postal department. 

Examples of Embedded Systems

Embedded systems are used in a wide range of control applications across an array of industries. Some typical examples include:

Some typical examples include: 

  • Automobiles: Embedded systems are designed to perform different tasks within modern vehicles. Examples of embedded systems in consumer vehicles include anti-lock braking, suspension control, cruise control, backup sensors, airbag systems, engine control units, and navigation systems. 
  • Mobile phones: These include a variety of embedded systems including operating systems (OS), microphones, cameras, Graphical User Interface (GUI) software and hardware, Input/Output modules, and Universal Serial Bus (USB). 
  • Industrial machines: They have integrated automation systems(embedded systems) that perform specific monitoring and control tasks. 
  • Medical equipment: These may include embedded systems such as control mechanisms and sensors. Also, medical equipment is required to be very user-friendly so as not to jeopardize human health as a result of preventable machine mistakes. This means they will often contain more complex GUI and OS frameworks designed for an appropriate User Interface. 


To summarize, a PLC is a ready-made embedded system that can be deployed “in situ” to an end application with minimal engineering overheads. As an application design engineer, you won’t have to worry about the PLC’s power requirements, or whether the system will withstand extreme industrial conditions such as EMI/RFI noise or extended temperatures. You can straightaway concentrate on meeting the end requirements of the control task that the PLC is intended for.

However, as an embedded system design engineer, you will be dealing directly with the hardware requirements and all the issues associated with them. These include managing power requirements, deciding which bus to use for peripherals communication, managing the sourcing/sinking voltage capacity of I/O pins, or deciding how much non-volatile memory needs to be allocated, and so on.

In conclusion, the choice of PLCs or Embedded Systems heavily depends on the end application. Also, in contrast to the popular belief among embedded system design engineers, PLCs are still an excellent choice when straightforward functionality/quick turnaround is required without space constraints. Therefore, whenever you are facing a choice between PLCs or Embedded Systems you should be as objective as possible, assessing the application needs against the differentiating factors discussed in this article.

This entry was posted on December 20th, 2021 and is filed under Education, Hardware Comparison, PLC, Uncategorized. Both comments and pings are currently closed.

Comments are closed.

PDF Supply Company, LLC. sells surplus and refurbished products, which are sourced through independent channels. All warranties and support, if applicable, are with PDF Supply Company, LLC. and not the manufacturer; manufacturer warranties do not apply. PDF Supply Company, LLC. is not an authorized distributor or representative for the listed manufacturers and makes no representations as to any quality control performed by any listed manufacturers on the products. The products listed on this website may vary as to their country of origin; the accessories, and other items included with the product; and the language used on the packaging, the parts, and any related instructions or printed material related to the products. PDF Supply Company, LLC. does not sell or license software that may be needed to operate certain hardware and customers must obtain any necessary software licensing, maintenance, or upgrades from the manufacturer or other authorized source. This website is not sanctioned or approved by any manufacturer or other authorized source. This website is not sanctioned or approved by any manufacturer or tradename listed. Designated trademarks, brand names and brands appearing herein are the property of their respective owners.