Home Think Topics Microcontroller What is a microcontroller?
Explore IBM enterprise server solutions Subscribe to cloud topic updates
Illustration with collage of pictograms of computer monitor, server, clouds, dots

Published: 4 June 2024
Contributors: Josh Schneider, Ian Smalley

What is a microcontroller?

A microcontroller unit (MCU) is essentially a small computer on a single chip. It is designed to manage specific tasks within an embedded system without requiring a complex operating system.

These compact integrated circuits (ICs) contain a processor core (or cores), random-access memory (RAM) and electrically erasable programmable read-only memory (EEPROM) for storing the custom programs that run on the microcontroller, even when the unit is disconnected from a power supply.

Unlike general-purpose microprocessors, microcontrollers integrate processing, memory and input/output (I/O) peripherals—including timers, counters and analog-to-digital converters (ADCs)—into one efficient and cost-effective standalone unit. By combining multiple components into a single system, microcontrollers are well-suited for applications requiring real-time signal processing, such as controlling motors and servos and interfacing with various types of sensors and communications. 

Discover the ROI that your business could realize from IBM Power servers

Use this calculator to see a total cost of ownership (TCO) for various configurations and how much Power could lower your TCO by answering a few simple questions in the calculator.

Microcontroller components

The following are key components of a microcontroller: 

  • Central processing unit (CPU): Colloquially referred to as the “brain” of the computer, the CPU serves as the core component responsible for executing instructions and controlling operations.
      
  • Memory: Microcontrollers contain both volatile memory (RAM)—which, unlike program memory, stores temporary data that may be lost if the system loses power—and non-volatile flash memory for storing the microcontroller’s programming instruction set (firmware).

  • Peripherals: Depending on the intended application, a microcontroller might contain various auxiliary components, such as input/output (I/O) interfaces—including timers, counters, analog-to-digital (ADC) and digital-to-analog (DAC) signal converters (ADCs)—and communication protocols (UART, SPI, I2C). Auxiliaries might also include components like LCD screens, ethernet connectivity ports or interfaces for such types of modules.

Microcontrollers are ideal for battery-operated consumer electronics, such as smartphones, smartwatches and other wearables, because they are lightweight, small and require comparatively low power.  

A favorite among open-source hobbyists, low-cost microcontrollers and microcontroller development boards, such as those made by Arduino and Adafruit, can be easily configured within an integrated development environment (IDE) using common programming languages like C, C++ and Python. Although readily accessible to even beginner developers, microcontrollers are also frequently used to control systems in a wide range of professional applications, including prototyping, robotics, automotive systems, industrial automation and Internet of Things (IoT) applications. 

Microcontrollers versus microprocessors

Microcontrollers and microprocessors share many similarities. Both can be described as single-chip processors capable of executing computing logic, and both are highly valuable in the development and proliferation of general computing technology. However, the two components differ in both hardware architecture and application.

The defining characteristic of a microcontroller is the combination of all necessary computing elements into a single chip—microcontrollers do not require any additional external circuits to operate. Conversely, microprocessors consist of a CPU and several supporting chips providing memory, serial interface, I/O and other necessary features. While the terms microprocessor and CPU are sometimes used interchangeably, it’s more accurate to describe microprocessor semiconductors as single integrated circuits that contain a CPU and can be connected to other external auxiliaries, such as input/output devices. 

The main difference between these two types of microchips is that microcontrollers are self-contained, whereas microprocessors are designed to interface with external auxiliaries. As a result, generalized and demanding tasks that might require specialized hardware with increased processing power are better suited for microprocessors. Specific tasks within embedded systems, such as sensor or motor control, are good examples of suitable microcontroller applications.

Key differences between microcontrollers and microprocessors

When comparing microcontrollers and microprocessors, it's helpful to consider four key features: 

  1. Integrations:
    • Microcontrollers integrate CPU, memory and I/O auxiliaries onto a single chip.
    • Microprocessors require external memory and additional auxiliaries. 
  2. Applications:
    • Microcontrollers are better suited for specific, low-power or ultra-low power applications within embedded systems, such as home appliances or IoT devices.
    • Microprocessors are more suitable for general-purpose and high-performance applications requiring more processing power, such as personal computers or the data centers' servers.
  3. Performance:
    • Microcontrollers are optimized for efficiency and real-time processing and operate at lower clock speeds up to 200MHz.
    • Microprocessors are built for more demanding and complicated computations and can operate at clock speeds above 1 GHz. 
  4. Operational costs:
    • Microcontroller hardware is inexpensive, and because they do not require specialized programming knowledge, they add little to overall project budgets.
    • Microprocessors are more expensive and more complex. Configuring an advanced microprocessor-based system might require specialized skills. 
Types of microcontrollers

The first types of microcontrollers grew out of advancements made in microprocessor manufacturing as researchers developed techniques to integrate CPU, memory and peripheral components into single chips.

Texas Instruments engineers Gary Boone and Michael Cochran are credited with creating the first microcontroller in 1971. Manufacturers like Intel and various Japanese electronics vendors followed quickly.

Today, dozens of different microcontroller manufacturers—such as Intel, NXP and Arm—offer hundreds of varieties, ranging from general-purpose options for hobbyists and amateurs to highly specialized solutions for professional technologists and all manner of industries. 

Here are some of the more common types of microcontrollers:

8-bit microcontrollers

The most basic type of microcontroller, featuring limited processing and memory and typically used in small appliances like toys and remote controls.

16-bit microcontrollers

Twice as capable as 8-bit models, 16-bit microcontrollers are used for more complex applications, including medical devices, automotive systems and industrial control systems.

32-bit microcontrollers

The most powerful and feature-rich type of microcontrollers, these are used for demanding applications, such as gaming consoles, entertainment devices and high-end industrial automation. 

Reduced instruction set computer (RISC) microcontrollers

RISC microcontrollers incorporate a design architecture that simplifies and improves operations by executing fewer compute instructions faster than other methodologies, such as the complex instruction set computer (CISC) architecture. 

ARM microcontrollers

Formerly an acronym for Advanced RISC Machines, these types of microcontrollers incorporate the ARM architecture, including the modern ARM Cortex subset, that bolsters performance and reliability. ARM microcontrollers are widely used in mobile devices, automotive systems and industrial control systems.

PIC microcontrollers

Developed by Microchip Technology, the PIC microcontroller is the world’s smallest microcontroller, found frequently in robotics, home and industrial automation and renewable energy systems.

FPGA-based microcontrollers

Commonly used in applications necessitating digital signal processing, video processing and high-speed networking, these microcontrollers use field-programmable gate arrays (FPGAs), which can be configured and reconfigured on the hardware level, to achieve highly versatile and customizable processing results. 

Related products and solutions
Enterprise server solutions

Develop an approachable, low-risk path that integrates with your existing IT infrastructure and paves the way for innovation.

Explore enterprise server solutions

IBM® Storage FlashSystem

More value in store. The new IBM FlashSystem 5300 provides improved performance and cyber-resilience. The new IBM Storage Assurance simplifies storage ownership and helps you address IT lifecycle challenges.

Explore IBM Storage FlashSystem

IBM Storage

IBM Storage is a family of data storage hardware, software-defined storage and storage management software. IBM Storage helps you do more by ensuring your data is secure and easily accessible for faster, more informed decision-making. It efficiently unites disparate data sources so you can customize, automate and gain insight while reducing overall costs. Make sure that your data is resilient and ready for hybrid cloud, big data and AI—and whatever comes next.

Explore IBM Storage
Resources What is a central processing unit (CPU)?

A central processing unit (CPU) is the primary functional component of a computer. It is a piece of electronic circuitry that run a computer’s operating system and apps and manages a variety of other computer operations.

What is data storage?

Data storage refers to magnetic, optical, or mechanical media that records and preserves digital information for ongoing or future operations.

What is a field-programmable gate array (FPGA)?

A field programmable gate array (FPGA) is a versatile type of integrated circuit designed to be programmable on the hardware level to suit different purposes such as high-performance computing (HPC) and prototyping.

Field programmable gate arrays (FPGAs) vs. microcontrollers: What’s the difference?

Field programmable gate arrays (FPGAs) and microcontroller units (MCUs) are two types of commonly compared integrated circuits (ICs) that are typically used in embedded systems and digital design.

Types of central processing units (CPUs)

The CPU is the computer’s brain and different types are defined by the processor or microprocessor driving them.

What is supercomputing?

Supercomputing is a form of high-performance computing that determines or calculates by using a powerful computer—a supercomputer—reducing overall time to solution.

Take the next step

With enterprise-class servers at the foundation of your IT infrastructure strategy, you can integrate with your infrastructure of choice, deploy and move workloads where you want across hybrid cloud—on-prem or in the cloud. Develop an approachable, low-risk path that integrates with your existing IT Infrastructure and paves the way for innovation.

Explore enterprise server solutions