Embedded software is a type of software that is built into hardware systems. This software is typically designed to perform one specific function, although a single piece of hardware may contain multiple pieces of software embedded in it. Any piece of technology that has circuit boards and computer chips will likely have embedded software within it, from digital clocks to cell phones to calculators. These systems allow many of the advanced functions that are common in modern devices.
Like many pieces of innovative technology, early forms of embedded software were developed for military applications. The Americans in particular used different types of embedded systems in space exploration, missile guidance and avionics from the late 30s to the mid-60s. These early systems were typically hardwired into other components and had a high failure rate. It wasn’t until the late 60s that this type of software evolved to the point where it was useful to regular people.
In the late 70s, the first standards for an integrated microcontroller chip made embedded software take off. This single chip acted like a tiny computer; it could take in, save and output data as well as process its own information. With these chips, it became possible to write a single program, load it into the chip and then have that chip execute its program whenever it received the correct input. By the end of the 1980s, nearly every form of consumer electronics had some sort of microcontroller chip embedded inside it.
In the years that followed, the cost of producing integrated microcontrollers has dropped to pennies. As a result, they are in nearly every electronic device, and each of these chips has one or more pieces of embedded software. They are even in items that most people wouldn’t think had computers, such as toasters, electric fans or children’s toys.
Regardless of what the software is part of, pieces of software that are embedded work the same way. Their chip receives input from their connected device. The software reads the input and determines whether it needs to activate. If it does, it executes its program and outputs the results. These results may go to the user or even another piece of software.
Embedded software takes the place of a full-blown computer system. In a normal computer, or a machine connected to a normal computer, there are relatively few pieces of embedded software. Typically, computer systems only have a handful of pieces that control start-up procedures and essential hardware functions. As complex devices become more computerized, their embedded software is actually dropping as it is replaced with standard computer systems.