Introduction: MicroController 101

Greetings fellow Instructables Readers,Makers,Geeks,Hobbyists,Electronics Enthusiasts and Beginners;

Today, almost everyone is aware of the infamous Arduino and Raspberry Pi.Many even know how to use it to make cool stuff!
However,not many know what an Arduino actually is,how does it work,how it's made and finally how can we use it in real life.Some are even intimidated by it.Many want to know more about it and make cool stuff using them.I

I would like to put an end to this ever so common Doubt and try to explain to the best of my ability, what an Arduino or a Raspberry Pi at its core is:
A MicroController.

Step 1: What Is a MicroController?

The word MicroController sometimes also referred to as MCU, is made up of two words:
Micro-meaning one millionth or 10^-6 of a second(used with respect to time)
Controller- a piece of hardware containing necessary circuitry and information to control something

Combining these two we get MicroController:A piece of hardware which contains all the necessary circuitry and information to control something (usually electronics) by either the data being fed into to it or using the data already stored in it at a staggering rate of a microsecond or one-millionth of a second.

It is essentially a CPU + RAM + Flash + I/O all on a single chip.

In modern day microcontrollers like the Arduino,which are made so that anyone can use them come with a fance GUI or IDE(Integerated Development Environment) along with easy to use, distinctly marked I/O(input and Output) pins for easy hardware integration and a USB port to make the process of uploading the code a piece of cake!

Step 2: Working of a MicroController

The basic working principle of a micrcontroller is associated with Logic Levels:High and Low,1 or 0, On or Off, True or False. All logically equivalent but used differently depending upon the application.

In Layman's Terms:

  • The code we write in our computers is written in a computer programming language.
  • A language,similar to what we use in our daily life to communicate but one that the computer can understand and interpret,For example: C++.
  • The code we write is then compiled by the compiler which is then converted into a binary , which consists of only 0's and 1's, something which we would see as gibberish.
  • This binary code is then transferred to the microcontroller, which then using the appropriate circuitry and harware(I will not go into the technicalities of that,many sites have them explained in detail) interpreted by the microcontroller, enabling it to perform as per the code written.

The basic workflow and control circuitry of every microcontroller is given in its datasheet,as a flow diagram commonly referred to as the Architecture of the MicroController.

Step 3: Some History!

Basically,when people wanted to automate menial processes where the use of human labor was thought of as demeaning and of very little importance,a need for an autonomous controller came about, something that was cheap and could be easily tweaked for various application.This was the starting point for a mini computer without the dance GUI or human interference hardware devices, what later came to be known as the MicroController.

Some Facts:

  • It was during 1970 and 1971 when Intel was working on inventing the world’s first microprocessor, that Gary Boone of Texas Instruments was working on quite a similar concept and invented the microcontroller.
  • Boone designed a single integrated circuit chip that could hold nearly all the essential circuits to form a calculator; only the display and the keypad were not incorporated.
  • Surprisingly, this exceptional breakthrough in the field of electronics and communication was rather given a mundane name of TMS1802NC; however, the device wasn’t ordinary. It had five thousand transistors providing 3000 bits of program memory and 128 bits of access memory!! So, it was possible to program it to perform a range of functions.
  • In 1975, Intel fabricated a chip (Intel 8048) with inbuilt RAM and ROM which was widely used in numerous applications.
  • Atmel (the people who make the Atmega328P IC, the brain behind the synonymous Arduino)used the Flash memory and launched the first microcontroller.
  • The microcontroller became popular after Intel Corporation released an 8-bit version in 1981 called the 8051.
  • The family of 8051 microcontrollers signalled an electronic revolution with the end user reaping the benefits in technology and science.

Step 4: Designing and Manufacturing

MicroControllers are physically created by Semiconductor Device Fabrication.

Some Basic Steps that Go into Designing a MicroController Include:

  • What microcontroller target application is? Is it for tinkerers and hobbyists or porffessionals.
  • What do we want to emphasize? For example-A micro-controller going to car does not need to worry about power consumption that much so it can be more powerful in a smaller form factor
  • What price should it have?
  • What support should be offered? This also increases costs, a microcontroller with good programming support (Free IDE\ Good materials\ Free Compiler) will be an attractive proposition.

Once we know that the design can commence it breaks down into:

  • Creating the hardware design
  • Test runs on FPGA devices (hardware simulators)
  • Improvement and Debugging
  • Mass manufacture!

Step 5: Application of MicroControllers

Well, now the fun part: Using our Knowledge of MicroControllers to make cool stuff!

You may not even realise how often in a day you use MicroControllers to make things easy:

  • The electronic device you are using to read thi s instructable, has a microcontroller.
  • The calculator you are using to find square roots of 3+ digit numbers, has a microcontroller in it.
  • Your car will have several microcontrollers in it to control numerous peripherals and perform calculations while you are driving.

  • The security alarm in your home has a microcontroller.

The applications are endless.It is upto you how you will use it and what you will make out of it!

Inorder to use microControllers yourself, some good websites are:

There are several tutorials on using microcontrollers on the internet, which can be used as a reference so you can make whatever you want to.

Still, Let Me Google that For You!

Step 6: Key Developments and Final Thoughts!

As years passed by, microcontrollers have grown to offer much more to end-users and businesses.
1. More ease-of-use and ability to reach market faster.
2. More energy efficiency.
3. More integrated features like RF and USB.
4. Smaller form factors.
5. Increasing processing power

A great example is the Computer: Something which required a whole room just for its operational parts to perform basic logical operations is now slimmer than your finger, can fit into a backpack and perform complex computations previously deemed as unsolvable.

Lastly, if this instructable in any way inspired you, made you to think of making a project using microcontrollers or has simple taught you that they are also called MCU's, please consider voting it for the 'MicroControllers Contest'.All you love and votes will be much appreciated and will help me in pursuing my interest of Robotics and Electronics in a huge way!

If you have an query, feel free to message me or drop down a comment!

If you like my work, you can check out more of it at:

www.hrithikbansal.com