A lot of people take computers for granted. And why wouldn’t they? Computers advanced so quickly, and with such an exponential growth in their capacity, that to most people they are basically miracles.
And yet, because they have become so easy to use, and so fundamental to our society, they are a common element of daily life for even the most technologically illiterate among us.
All that being said, let's take a moment today to learn about one of the technologies that underpin all of modern computing.
What is a Microcontroller?
At it’s most basic level, a microcontroller IS a computer. Which, frankly is already confusing. But think of it this way, all computers, from giant mainframes to smartphones, have a few things in common:
-they contain a CPU (central processing unit) that executes programs,
-they have a repository from which to load these programs,
-they have some RAM (random-access memory) where temporary information can be stored,
-they have some form of input and output devices.
The laptop or smartphone you are most likely using to read this article is a "general purpose computer", which is a basic way of saying that it can run any of thousands of programs.
Microcontrollers, on the other hand, are what you would call "special purpose computers." Instead of doing hundreds of diverse things, microcontrollers are only meant to do one thing, and to do it very well.
As you might expect from this simplicity, microcontrollers are used in multiple industries and applications, including in the home and enterprise, building automation, manufacturing, robotics, automotive, lighting, industrial automation, and even communications tech.
The simplest of these microcontrollers facilitate the operation of electromechanical systems found in everyday convenience items such as ovens, mobile devices, and video games, as well as commercial machines we interact with every day like smart meters, ATMs, and security systems.
More sophisticated microcontrollers, however, may perform critical functions in aircraft, cargo ships, vehicles, medical and life-support systems, robots, and even the international space station.
That’s it in a nutshell, but the bigger truth is that there are a number of other common characteristics that define microcontrollers. If a computer matches a majority of these characteristics, then you can safely call it a "microcontroller".
These include: being embedded in other products to control a certain feature of the larger machine, being dedicated to a single task, having a set input device that never changes, and of course- being micro.
As a general rule microcontrollers are small because the whole point of them is to being used a lot together, and nobody wants to lug around a bigger computer when they could have a smaller one.
In most cases, this is all you really have to know about how a microcontroller works because the industry as a whole is trending towards developing loads of low-level drivers where the expertise comes in developing an application over them.
If, however, you plan on going into a computer-related field, learning the ins and out of microcontrollers is equivalent to a doctor having a basic knowledge of anatomy.
Why you should care:
Okay look, the truth is that most of us probably don’t really need to know all of this.
It’s been 30 years since anyone expected even an expert programmer to know anything about instruction opcodes, and relatively few jobs require more than the bare minimum of knowledge of how to structure a source file in assembly language.
But still, you should know about all of this because it is bound to become more important as time goes on.
As technology continues to advance, we are quickly going to come to the theoretical limit of the efficiency of our computers. Soon it simply won’t be possible to make the fundamental components of a computer chip any smaller.
When that happens, until there is some sort of fundamental shift in computing technology, the best way to make new and better computers will be with creative and innovative combinations of microcontrollers.
If we are to continue advancing as a society, we will have to start caring about the little miracle machines, because the more people who know how a computer actually works, the more people there are to figure out a way to make them better.
The way of the future…
The future holds many potential advancements for this technology. Let’s take a look at just two of them.
Bespoke Processors: Most microcontrollers and their associated processors today are designed to be "general purpose" and meant to support a wide range of applications.
This is because even when that is unnecessary for a certain application, it's often cheaper to purchase an overpowered processor than it is to design an application-specific one.
But now, we are beginning to realize the cost of this over-design, not just in space and materials, but also in huge wastes in power consumption.
Research has shown that in most generic machines, less than 60% of their processors are even used at all. This could mean that as we move forward, we will push toward "bespoke" application-specific machines that removed completely unused circuitry.
This alludes to a future where we can create small, low-power, application-specific processors.
Plastic Microcontrollers: Researchers at some of the best institutions in the world have been working on a project focused on creating cheap, disposable micro-controllers printed on plastic with as little as a 2 micron level of accuracy.
While not a bleeding-edge advancement computationally, plastic chips will benefit from an estimated 90% lower IC cost than silicon chips.
Plastic chips can also be flexible, thinner than a human hair, and have no rigid interconnection points.
This could lead to incredible new advancements, such as flexible sensors, disposable/recyclable displays, food packaging that tells you when the food has gone bad, or even pill bottles that remind you to take your medicine.
There are dozens of other advancements in the microcontroller word that are on the edge of redefining the entire field.
More than that, these advancements are bound to set how we think about computing power for the next decade, or at least until somebody figures out an entirely new way of building a computer.
Which is exactly why microcontrollers are important.