Skip to main content

Microcontroller in Depth

 Microcontroller in Depth

What Is a Microcontroller?

  • MCU in simplest means are Integrated Circuit (IC)
  • MCU is a system on chip (SOC); a chip consists of several components. We’ll discuss these components
  • MCUs are designed for embedded applications

Microcontroller Components

Basically, a microcontroller comprises one or more following components:

  • The central processing unit (CPU)
  • Random Access Memory)(RAM)
  • Read-Only Memory (ROM)
  • Input/output ports
  • Timers and Counters
  • Interrupt Controls
  • Analog to digital converters
  • Digital analog converters
  • Serial interfacing ports
  • Oscillatory circuits

A microcontroller inside contains all structures essential for a computing system and functions as a computer without adding any outside digital parts in it. The maximum of the pins in the microcontroller chip may be made programmable by the user. A microcontroller has numerous bit handling commands that can be simply understood by the programmer. This is also accomplished to control Boolean functions. A microcontroller has a higher speed and performance. Better firmware security is being provided by an on-chip ROM structure in a microcontroller. This is too easy to design with low cost and small size.


The brain of a microcontroller is known as the CPU. It is accountable for fetching the instruction, decodes it, and then finally executed. It links all parts of a microcontroller into a single system. The primary function of the CPU is eye-catching and decoding instructions. The instruction made from program memory must be decoded by the CPU.


In a microcontroller, the function of memory is similar as a microprocessor. This is utilized to store data and programs. For storing program source codes, a microcontroller typically has a sure amount of RAM and ROM or flash memories.

Parallel input/output ports

These are generally used to drive or interface various devices for example printers, memories, LCD’S, and LED’S to a microcontroller.

Serial ports

Serial ports deliver many serial interfaces between a microcontroller and other peripherals like parallel ports.


Timers or counters are the most useful function of a microcontroller. There may be more than one timer and counters in a microcontroller. They deliver altogether timing and counting functions inside the microcontroller. The main jobs like modulations, clock functions, pulse generations, making oscillations, and frequency measuring are being done by this function. This also may be used for counting external pulses.

Analog to Digital Converter (ADC)

These are used for converting the analog signal to digital form. The input signal in this converter should be in analog form as a sensor output. The yield from this unit is in digital form. The digital output may be used for different digital applications such as measurement devices.

Digital to Analog Converter (DAC)

Digital to Analog Converter performs reversal operation of ADC conversion. It changes the digital signal into an analog format. It frequently used for controlling analog devices like DC motors, various drives, etc.

Interrupt control

It is used for providing interruptions or delays for a working program. The delay can be external as activated by using an interrupt pin or internal as by using interrupt instruction during programming.

Special functioning block

Several microcontrollers are used only for some special applications for example space systems and robotics. These controllers hold additional ports to do such special operations. This reflected as a special functioning block.


We can find microcontrollers all around; every device that calculates, stores, controls, or displays information must have microcontrollers. From cell phones to smartwatches to ACs to washing machines to vehicles all are the applications of microcontrollers. We can also find microcontrollers inside keyboards, mice, modems, printers, and other peripherals. A microcontroller makes it easy to add types for example the ability to store measurements, to create and store user routines, and to show messages and waveforms. Further, the following are areas where MCUs are extensively being used:

  • Used in biomedical instruments (Glucometers, blood pressure monitor)
  • Communication Systems (Cell phones, routers, switches, answering machines)
  • Robotics
  • Automobile Industry (Vehicle suspension, braking, fuel injection, steering)
  • IoT Application

IoT Architecture - Edge Computing

                          IoT Architecture - Edge Computing

Why Microcontroller?

All the applications mentioned in previous slides can be implemented using just Raspberry Pi. Then why we should use a microcontroller that operates even without OS?

There are 3 reasons that push us to use MCUs:

  • Low cost
  • Low power consumption
  • Real-time constraints


  • A microcontroller act as a microcomputer deprived of any digital part.
  • Usage is simple, easy to troubleshoot, and system maintenance.
  • By way of the higher integration inside microcontroller decreases cost and size of the system.
  • Immediately respond to any event that occurs.
  • The maximum of the pins is programmable by the user.


  • Got complex architecture than microprocessors.
  • Perform a limited number of executions simultaneously.
  • Typically used in micro-equipments
  • Cannot perform heavy computations due to limited resources.

Popular posts from this blog

What is Internet of Things (IoT)?

 What is Internet of Things (IoT)?    The internet of Things, or IoT, refers to the billions of physical devices  round the  world that are now connected to  the web  , collecting, sharing and analyses  of knowledge  . It presents and provides the explanation of the network of physical things which is embedded with software , sensors,  and other technologies for the benefit of connecting and exchanging data with other devices and systems on the internet   . Due to the cheap processors and wireless networks, it's possible to  means  anything, from a pill to an aero plane to a self-driving car into  an area  of the IoT. Overview IoT will control the Fourth  technological revolution  . The Fourth  technological revolution  is changing the very software-defined automation allows manufacturers to link all stages of  the worth  chain, rapidly adapt to changing markets , and make highly personalized products on a mass scale. The opportunities provided by this revolution are authenticated

What is Rust Borrowing?

What is Rust Borrowing? Borrowing We call having references as function parameters borrowing. As in real world , if an individual owns something, we 'll borrow it from them . Whenever we’re done, we 've got to offer it back. Referencing  The reference is that the act of consulting somebody or something so as to urge information We would  declare reference in terms of Rust programing as if we are taking a replica of it without damaging or taking its ownership. ‘&’ symbol is employed to pass the reference Have a look that  how ‘&’ symbol is employed in code. fn main() { let s1 = String::from("hello"); let len = calculate_length(&s1); println!("The length of {} is {}.", s1, len); } fn calculate_length(s: &String) -> usize { s.len()} Mutable References The actual concept of mutable reference is same as we use mutable variable When  we  need to  modify  mutable reference is employed once   the worth we make regard to.

Kubernetes Readiness Probes

 Kubernetes Readiness Probes Description We understand that liveness probes and the way they assist keep our apps healthy by ensuring unhealthy containers are restarted automatically. Same like liveness probes, Kubernetes permit us to also define a readiness looked for our pod. The readiness probe is deployed periodically and examines whether the precise pod should receive client requests or not. Whenever a container’s readiness probe returns back success, it’s signaling that the container is ready to simply accept requests. This notion of being prepared is clearly something that’s specific to every container. Almost as liveness probe Kubernetes sends requests to container and supported the result either successful or unsuccessful response it decides container is prepared to require traffic or still preparing for that. The liveness probes not like, if a container fails the readiness check, it won’t be killed or restarted.   This is a very good practice to