Microcontroller: Technology which never rusted, Never Will (A simple guide for complete beginner)

poonam Lekhram
8 min readNov 12, 2020

If we look at Consumer Electronics Products.. Toys, Cameras, Robots, Washing Machine, Microwave Ovens, etc., Medical Instruments: …Communication: … Office Equipment: …Multimedia Application: …Automobile... Various Instrumentations and Products in automation...

from a consumer product to an automobile…There is one thing in common... Microcontroller!!!... After introducing the semiconductors in the market... It became an era of semiconductors and after emerging of AI in recent years... it will be an era of semiconductors again..

To give life to the hardware of microcontrollers, we program them, we use them...

But when you are a newbie and just start exploring the software systems.. you wonder! You have lots of questions.. lots of doubts.. where to start? What are all these plethoras of hardware.. what are these number of software tools? What are these connections for? How exactly different they from each other?

After/While studying .. some books about microprocessors and microcontrollers… you heard 8051 MCU for the first time... AFTER THAT… you go to the internet to have fun with the embedded boards to realize the power of the microcontrollers... What happens! Booommmm…
Tons of microcontrollers ICs pop up on the internet… A lot of terms pop up in front of your eyes on your computer screen.. and you wonder again!!!!! exactly how many things are there in Microcontrollers... Well, I don’t even know the answer.. however I can guide you to the path of some MCU ICs...

These are some questions popped up in my mind while starting as an embedded system engineer… I hope this will help you as well...
Do continue to read till the end...

Before continuing…
Some words to keep in mind before you start confusing from the start
*ARM Ltd is the company and ARM is MCU/processor
*8051/avr/arm/pic is a single microprocessor
*8051/avr/arm/pic based microcontroller (or variants ) are the whole family of MCUs...

This information is provided in form of questions and answers...

1) I have heard/studied about 8051 microcontrollers. Now when I want to do some fun for the real one.. what are the controllers available other than this?

First of all, 8051 is an old microcontroller from the Intel company. Today similar and exact to old 8051, other 8051 microcontroller IC is available with different names from different manufacturing companies.. Which are called 8051 Variants.

In the market, different microcontroller Ics are available other than 8051 variants are AVR based microcontroller, PIC-based Microcontroller, ARM-based microcontroller.

2) what is the difference between the 8051, AVR, PIC, ARM — BASED microcontroller?

We will back to these questions in a while… let's go to the next questions...and then come back…here…

With the advance of microcontroller technologies, and with the demand for more features, more communication interface facility, more memory storage, faster speed for accessing memory, and programming, different Architectures were tried with different manufacturing companies.

8051 was introduced by Intel in the 1980s, In a similar time, research was conducted by General Instrument on basic PIC in the 1970s which is acquired by Microchip company in 1985.

In 8051 Microcontroller from intel, only UART, I2C, and SPI communication protocol available. Microchip introduced a PIC microcontroller which has also CAN, Ethernet communication protocol. This new architecture had a speed of 4_clock/instruction_cycle.

Then came the AVR microcontroller from Atmel company with some more facility. ARM micro-controller was introduced by the Acron computer organization family of reduced instruction set computing (RISC) architectures. Both ARM and AVR had a single clock/instruction.

With a “new design team” of Apple, VLSI Technology company, and Acron, new Advanced RISC Machines Ltd. ARM ltd came into existence. This company produced many ARM-based microcontrollers (ARM variants).

Single ARM processor — different ICs & peripheral

Source : Google search engine
Source: Google Images

Many other manufacturing companies took the basic architecture (like ARM core) and started to manufacture various family varients… other ARM-based microcontrollers are Apple, Nvidia, Qualcomm, Motorola, ST Microelectronics, Samsung Electronics, and TI, etc.

3) how my project will affect when I select one of these?
If you go into the technical depth, major changes may be there.. but for a newbie like me.. the answer is that mainly the programming will change if you alternate the family. My headache will be that Installed Software (maybe another IDE) will change.. and some hardware setup change…

however, in some cases, AVR can replace the 8051 setups…

Every manufacturer provides its own hardware and software development tools. Sometimes, a third party and some open-source tools are also available.

4) Does these above covers all the microcontroller in the market? How do I select THE ONE from all?

There are lots of… lots of .. lots of… microcontrollers are available in the market... but these above 4 family (ARM from ARM ltd, PIC from Microchip, 8051 from Atmel) covers most of the microcontrollers.. some other major remaining microcontrollers are MSP430 from Texas Instruments, ESP8266/ESP32 from Espressif Systems.

When I entered into the MCU world… I did not even know... which microcontroller is popular these days.. or which is best/suitable for my application...

To get the answer... One way is.. explain my requirement to an experienced person and get the answer… but hey!!! I have to go to the experts to get the answer for every… single… application.

If you are in a similar situation.. let me give you a straight answer. The other way … Jut dig into it and get an understanding of each microcontroller by yourself... It may seem difficult to imagine but.. only 10 minutes of the next questions.. will give you an understanding of the market of Mcontrollers...

After that.. you will be able to connect the dots of your all doubts and will be ready to get the answer by yourself…

Straight to the answer.. for clearing your all doubts about the “THE Suitable ONE” from available.. know the market or know the manufacturers... It may feel strange.. but.. selection of a microcontroller is not only about the n-pin IC but also, about interface hardware, software tool, community support, debugging, the suitability of your application...

Continue to read the next questions.. all your doubts will be clear...

5) what are the manufacturing companies of these microcontrollers?

Many manufacturing companies for microcontrollers are

6) I have heard about Renesas, Panasonic, Maxim Integrated, and Cypress, etc. companies. What are those?
By using the basic core of 8051/AVR/PIC/ARM many companies manufacture the variants of Ics under different names.
Core design remains the same but PIN configurations may change. To get the details.. you need to read the datasheet of a particular IC.

7) How to use them for a real one? I know that to use the 8051 microcontrollers. I need to program them. Do I need a similar setup for the other microcontrollers too?

Ok.. let's say.. you understand the various family of microcontrollers available in the market... Either you can go for ARM-based, 8051 variants, PIC-based, AVR based or other microcontrollers like MSP430, ESP32, ESP8266….

You choose any microcontroller, you need to program them just like.. 8051 MCU... Any microcontroller is just dead stacks of transistors... To make alive them... We load the program through pins available to ICs. Means burn the program into IC… we need some help of Development Tools to burn the program.

To prepare the connection between each part, we need hardware tools, make a program, debug a program, program uploading we need software tools…

Development tools are required to develop the code, program the microcontroller, and test/debug the code. The development tools include hardware and software development tools (in short SDK)…
Among, SDK is * Compiler * Debugger * In-Circuit Serial Programmer (ICSP)
The program is made on the PC.

8) Ok I know the no. of microcontrollers, and No. of ICs available in the market. I also know the difference between all these products. But why there are so many editors available to program them? Which one is better? and which one is the standard editor?

Each Manufacturer supplies computer software with the microcontroller. For programming, and software debugging... Broady,

Keil was the first C compiler designed for specifically 8051 family microcontrollers. Since the acquisition, ARM has continued the development and support of Keil products for existing 8051, 251, and C166 markets.

The Keil products from ARM include C/C++ compilers, debuggers, integrated development and simulation environments, RTOS and middleware libraries, and evaluation boards for ARM, Cortex-M, Cortex-R4, 8051, C166, and 251 processor families.

The manufacturer supplies computer software for the development known as MPLAB X, assemblers and C/C++ compilers, and programmer/debugger hardware under the MPLAB and PICKit series. Third-party and some open-source tools are also available. Some parts have in-circuit programming capability; low-cost development programmers are available as well as high-production programmers.

9)Hi… what programming language is more commonly used to program microcontrollers?

Initially, assembly language was used for 8051 variants, nowadays most commonly C/C++ and assembly languages are used to program the microcontroller… you can use any IDE from above to program them…

Initially, assembly language from Keil was used for 8051 variants looks like below….

(https://www.keil.com/support/man/docs/armclang_intro/armclang_intro_chr1383143764305.html)
source: https://www.keil.com/support/man/docs/armclang_intro/armclang_intro_dwe1472208421505.html

This is the programming in assembly and C. You need to compile separately after making the program. Also, in IDE, you need to choose the compatible compiler for your particular microcontroller.

10) Is there any general/standard classification method?

  • 000-Classification According to Number of Bits — 8-bit, 16-bit, 32-bit
    (Based on the internal bus either 8-bit, 16-bit, or 32-bit)
  • 001-Classification According to Instruction Set — RISC, CISC
    (Based on the number of clock_cycles used to perform instruction)
  • 002 — Classification According to Memory Architecture — Harward, VonNeuman (Way of accessing program memory and data memory)
  • 003- Classification according to Application — Low power consumption, high performance, higherI/O interface

As said above, companies take a combination and make a product. Give the name- confuses us. You can choose anyone

11) Is there final advice on microcontroller selection? Which MCU to use in what application to narrow down the process?
General Advice available on the internet is to use 8051 for basic functions, low-cost application, AVR family to use for cheap projects, large libraries available so good for beginners, PIC variants to use in low-cost projects.. but low community support available for debugging purpose... ARM variants are more popular these days to a large community and lots of features available i.e. fast computing, a large number of timers, ADC...

This is not my opinion, this is collaborative advice from netizens. Anyways… who follows the advice... My advice is to not follow this advice.. and dig into by yourself.. again.. who follow the advice... Ufffff………

--

--