Microcontroller (MCU)

IC (Compute)

A tiny computer on a chip: CPU, memory and I/O pins in one package. You program it to read sensors, drive outputs and run the logic of a product.

Schematic symbol

Integrated circuit (DIP)

How microcontroller (mcu) appears in a circuit diagram.

Types & variants

8-bit AVR (ATmega328 - Arduino Uno)ARM Cortex-M (STM32, RP2040)ESP32/ESP8266 (Wi-Fi/BT)PIC8-bit space-saver (ATtiny)

Key specs

Core / clock

MHz

Architecture and speed (e.g. 16MHz AVR, 240MHz ESP32).

Flash / RAM

KB

Program storage and working memory.

GPIO / peripherals

-

Number of pins; ADC, PWM, UART/SPI/I2C, timers.

Operating voltage

V

Typically 1.8-3.3V or 5V; watch pin logic levels.

Connectivity

-

Built-in Wi-Fi/Bluetooth/USB/CAN on some parts.

Markings

Part number laser-etched on top; pin 1 dot/notch. Use the datasheet pinout - it varies per chip.

Standard values

ATmega328P, ATtiny85, STM32F103/F4, RP2040, ESP32, ESP8266.

How to choose

Match needs: pins, flash/RAM, ADC/PWM, comms (Wi-Fi?), voltage and power budget. Pick one with good toolchain/community (Arduino, STM32Cube, ESP-IDF). Start on a dev board, then bare chip.

Pinout & package

Power + GND, crystal/oscillator (some), reset, and GPIO multiplexed with peripherals. DIP (ATmega), QFP/QFN (STM32), modules (ESP32). Add decoupling caps on every VCC.

Example circuits

  • Read a sensor over I2C and show on a display
  • PWM motor/LED control
  • Wi-Fi data logger (ESP32)
  • Button + debounce + relay control

Common failures

Bricked by bad firmware (re-flash/bootloader), latch-up or fried pin from over-voltage/static, brown-out from a weak supply, missing decoupling causing resets.

How to test

Flash a blink program. Check 3.3/5V on VCC pins and a clean reset line. No serial/upload = check bootloader, crystal, and power.

Substitutes

Same family/footprint with >= flash/RAM/pins (e.g. ATmega168->328). Cross-family swaps mean re-writing firmware.

Where to buy