Microcontroller (MC, UC, μC, or MCU)
A microcontroller is a compact, integrated computing device designed to perform specific, dedicated tasks rather than general-purpose computing. Unlike a typical computer, a microcontroller does not run a full operating system. Instead, it executes a single program or set of instructions stored in its memory to control or interact with hardware devices. Microcontrollers typically include a processor (CPU), memory (RAM and ROM/flash), and input/output peripherals on a single chip, enabling direct interaction with sensors, actuators, displays, motors, and other electronic components. They are widely used in embedded systems such as home appliances, automotive electronics, robotics, industrial machines, and IoT devices, where reliability, low power consumption, and real-time control are crucial.
Examples
- Arduino Uno: An open-source micro-controller platform
- Raspberry Pi Pico: A low-cost, high-performance micro-controller
Uses
- Sunrise Alarm Clock: An clock that mimics the natural morning light
- Weather Monitoring System: A system that monitors weather and sends notification
Microcomputer (SBC)
Also known as a system-on-a-chip (SoC) or single-board computer (SBC), this type of computer is a compact, integrated device that combines most of the essential elements of a traditional computer onto a single circuit board or chip. It typically includes a central processing unit (CPU), memory, input/output interfaces, and sometimes specialized components such as graphics processors or networking modules. These computers can perform many tasks and run full operating systems, making them suitable for a wide range of applications. While they are versatile enough for general computing, they are often designed to efficiently process data and support embedded systems, mobile devices, Internet of Things (IoT) applications, and other resource-constrained environments.
Example
- Raspberry Pi 4: A single-board computer
- VisionFive 2: A high-performance quad-core RISC-V single board computer
Uses
- Desktop: A system that’s designed to be used in one fixed location
- Web Server: A system that delivers web content
- Raspberry Pi Oscilloscope: A system that displays and analyzes the waveform of electronic signals
- Home automation: A system that controls electronic devices in your home
- Media Server: A system that delivers media content
- Raspberry Pi Retro Gaming Machine: A system that runs retro games
- Wi-Fi Repeater: A system that allows you to extend the coverage area of a WiFi network
- VPN Server: A system that hosts and delivers VPN services
General Purpose Input/Output Pins (GPIOs)
GPIO (General Purpose Input/Output) pins are versatile connectors found on microcontrollers, single-board computers like Raspberry Pi and Arduino, and other electronic devices. These pins enable the device to interact with external components by sending or receiving electrical signals. GPIO pins can be programmed to function as inputs (to read signals) or outputs (to send signals), making them essential for a wide range of applications.
- Digital pins are used to read or set specific voltage levels. For example, an LED can be controlled by setting the digital pin voltage to LOW (off) and HIGH (on). The LOW and HIGH states are determined using a threshold level: voltages above 2.5V are interpreted as HIGH, while voltages below 2.5V are interpreted as LOW.
- Analog pins are designed to read any voltage between 0V and 5V, allowing precise measurement of values within this range. These pins are particularly useful for reading inputs from a potentiometer, where the value changes with the knob’s position. While analog pins can be used to send signals, their use for sending is more limited than that of digital pins.