Reference

Embedded Systems Glossary

Every piece of jargon used across our projects, tutorials, and programming guides — defined once, in plain language, with a link to the full lesson where there is one.

A

ADC (Analog-to-Digital Converter)
Converts a continuous analog voltage into a discrete digital number a microcontroller can process — its resolution (e.g. 10-bit, 12-bit) sets how many distinct steps it can tell apart. Full tutorial
Agile / Scrum
An iterative software development approach built around short cycles (sprints) and frequent re-planning — contrasted on embedded teams with the more document-heavy V-Model. Full article

B

Bare-Metal Programming
Writing firmware with no operating system and no vendor HAL underneath it — direct register access, your own startup code, and a custom linker script. Full guide
Baud Rate
The signalling speed of a serial link like UART, in symbols per second — both ends must agree on the same baud rate or the received bytes come out as garbage. Full tutorial
BJT (Bipolar Junction Transistor)
A current-controlled switching/amplifying device (NPN or PNP) — a small base current controls a much larger collector-emitter current. Full article
BLE (Bluetooth Low Energy)
A low-power variant of Bluetooth built around short connection bursts and a GATT data model, rather than Classic Bluetooth's always-on audio-grade link. Full article
Bootloader
A small program that runs first on power-up, before your main firmware — its usual job is deciding whether to load new firmware (e.g. over USB or UART) or jump straight to the existing application.
Breadboard
A reusable, solderless prototyping board with a grid of connected holes — lets you wire a circuit for testing before committing it to a permanent PCB.

C

CAN Bus (Controller Area Network)
A differential two-wire bus where every node can see every message and the lowest-numbered (highest-priority) identifier wins arbitration when two nodes transmit at once — the backbone of modern vehicle electronics. Full tutorial
Closed-Loop Control
A control system that measures its own output and feeds that measurement back to correct itself (e.g. a PID controller) — as opposed to open-loop control, which just applies a fixed action and hopes. Full tutorial
Cross-Compiling
Compiling code on one machine (e.g. your PC) to run on a different target architecture (e.g. an ARM-based board) — essential for embedded Linux and most microcontroller toolchains. Full guide

D

DAC (Digital-to-Analog Converter)
The reverse of an ADC — converts a digital number into a continuous analog voltage, e.g. to generate an audio waveform or a precise reference voltage. Full tutorial
Datasheet
A component manufacturer's official reference document — pinouts, absolute maximum ratings, timing diagrams, and electrical characteristics. The first thing to check before wiring up any new part. Full article
Debounce
Filtering out the rapid electrical "bounce" a mechanical switch or button produces for a few milliseconds after being pressed, so it registers as one clean press instead of several. Full tutorial
DMA (Direct Memory Access)
A peripheral that moves data between memory and I/O without the CPU copying every byte itself — frees the CPU to keep running while a transfer happens in the background. Full tutorial
Doxygen
A documentation generator that turns specially-formatted comments in your source code into browsable HTML/PDF reference docs. Full guide
Duty Cycle
The percentage of one PWM period a signal spends HIGH — a 25% duty cycle means the signal is on for a quarter of each cycle, used to control average power to LEDs, motors, and heaters.

E

EEPROM
Electrically Erasable Programmable Read-Only Memory — non-volatile memory a microcontroller can rewrite byte-by-byte at runtime, commonly used to persist small settings across power cycles.
EMI / EMC
Electromagnetic Interference (unwanted signals a circuit radiates or picks up) and Electromagnetic Compatibility (a design's ability to work properly despite it) — why a board that works fine on the bench can fail certification. Full article

F

Firmware
The software that runs directly on a microcontroller's hardware — low-level, close to the metal, as opposed to an application running on top of a general-purpose OS.
Flash Memory
Non-volatile memory that holds a microcontroller's compiled program (and sometimes data) — erasable and rewritable in blocks, unlike EEPROM's byte-level access. Full tutorial
Flip-Flop
A one-bit memory circuit built from logic gates that holds its state until explicitly changed (typically by a clock edge) — the basic building block of registers and counters. Full tutorial
FSM (Finite State Machine)
A design model with a fixed set of states and defined transitions between them — a natural fit for both digital hardware (in Verilog/VHDL) and firmware control logic.

G

Gerber File
The industry-standard file format used to send a finished PCB design to a manufacturer — one file per copper layer, silkscreen, and drill pattern. Full tutorial
GPIO (General-Purpose Input/Output)
A microcontroller pin that firmware can configure as either a digital input (read a voltage level) or output (drive HIGH/LOW) — the most basic building block of hardware control.

H

HAL (Hardware Abstraction Layer)
A vendor-supplied library (e.g. STM32 HAL) that wraps direct register access behind friendlier function calls — trades a little performance and binary size for portability and faster development. Full guide
Harvard Architecture
A CPU design with separate memory spaces (and buses) for program instructions and data, as used in AVR/Arduino chips — contrasted with Von Neumann architecture's single shared memory space. Full tutorial
HIL (Hardware-in-the-Loop)
Testing firmware against real or simulated hardware signals automatically, rather than only on a PC — catches timing and peripheral-interaction bugs unit tests alone can't. Full guide

I

I2C (Inter-Integrated Circuit)
A two-wire (SDA/SCL) serial bus where multiple devices share the same lines, each identified by its own address — common for sensors and small peripherals that don't need high speed. Full tutorial
Interrupt
A hardware or software signal that pauses the CPU's normal execution to immediately run a dedicated handler (an ISR), then resumes exactly where it left off — the mechanism behind responsive, event-driven firmware. Full tutorial
ISR (Interrupt Service Routine)
The function that actually runs when an interrupt fires — convention is to keep it as short as possible (set a flag, copy a byte) and do the real work back in the main loop. Full tutorial

J

JTAG
A standard hardware debug interface that lets an external probe halt the CPU, set breakpoints, and step through running code — alongside the newer, 2-wire SWD used on most modern ARM chips. Full tutorial

L

Linker Script
A file that tells the linker exactly where in memory each part of your compiled firmware (code, initialized data, stack, heap) should live — essential for bare-metal programming with no OS to handle this for you. Full guide
Logic Analyzer
A tool that captures many digital signals at once over time and can decode protocols like UART, SPI, or I2C from the raw waveform — the digital counterpart to an oscilloscope. Full tutorial
LoRaWAN
A long-range, low-power wireless protocol built on LoRa radio modulation — trades data rate for kilometres of range, suited to sparse sensor networks. Full tutorial

M

MCU (Microcontroller Unit)
A single chip combining a CPU, memory, and peripherals (timers, ADC, UART, etc.) — distinct from an MPU/SBC like a Raspberry Pi, which runs a full OS on separate RAM and storage. Full guide
MISRA C
A widely-used set of coding guidelines for safety-critical C, restricting risky language constructs (like certain pointer arithmetic) to reduce the chance of undefined behaviour. Full guide
Modbus
A simple, decades-old serial/TCP protocol still dominant on factory floors for talking to PLCs and industrial sensors — request/response, one master, many slaves. Full article
MOSFET
A voltage-controlled switching transistor — unlike a BJT, it's driven by gate voltage rather than base current, making it efficient for switching higher currents like motors and solar charge paths. Full article
MQTT
A lightweight publish/subscribe messaging protocol built for constrained IoT devices and flaky networks — devices publish to a topic, a broker forwards it to every subscriber. Full article
Multiplexer (MUX)
A digital circuit that selects one of several input signals and routes it to a single output, based on a set of select lines. Full tutorial
Mutex (Mutual Exclusion)
An RTOS primitive that lets only one task at a time access a shared resource — unlike a plain binary semaphore, a mutex has an owner and typically supports priority inheritance to avoid priority-inversion bugs. Full guide

N

NVIC (Nested Vectored Interrupt Controller)
The interrupt-handling hardware block on ARM Cortex-M chips — manages interrupt priorities and nesting so a higher-priority interrupt can preempt a lower one already running. Full guide
Nyquist Rate
The minimum sampling rate — at least twice the highest frequency present in a signal — needed to reconstruct that signal from its digital samples without aliasing. Full tutorial

O

Op-Amp (Operational Amplifier)
A high-gain analog building block used for amplification, filtering, and comparison — the core component behind most analog signal-conditioning circuits. Full tutorial
Open-Loop Control
A control system that applies a fixed action without measuring or correcting for the actual result — simpler than closed-loop control, but blind to disturbances. Full tutorial

P

PCB (Printed Circuit Board)
A board with copper traces etched into it to connect components, replacing loose breadboard wiring with a permanent, manufacturable layout. Full tutorial
PID Controller
A closed-loop controller combining Proportional, Integral, and Derivative terms to drive a system's error toward zero — tuning the three gains trades off speed, overshoot, and stability. Full tutorial
Priority Inheritance
An RTOS mechanism where a low-priority task holding a mutex a high-priority task is waiting on gets temporarily boosted to that higher priority — prevents the high-priority task from being stuck behind medium-priority tasks (priority inversion). Full guide
Pull-Up / Pull-Down Resistor
A resistor that holds a digital input at a known HIGH (pull-up) or LOW (pull-down) level when nothing else is actively driving it — prevents a floating pin from reading random noise.
PWM (Pulse-Width Modulation)
Rapidly switching a digital pin on and off and varying the proportion of time it's on (duty cycle) to approximate an analog output — used for LED dimming, motor speed, and simple DACs.

Q

Queue (RTOS)
A thread-safe FIFO buffer an RTOS provides for passing data between tasks, or between an ISR and a task, without them touching shared memory directly. Full guide

R

Rectifier
A circuit (typically diodes) that converts AC voltage into pulsating DC — the first stage of most linear and switching power supplies. Full tutorial
Register
A small, directly-addressable memory location inside a peripheral or CPU — writing specific bits in specific registers is how firmware configures and controls hardware at the lowest level.
RISC vs CISC
Two CPU instruction-set philosophies — RISC (Reduced Instruction Set Computer, e.g. ARM, RISC-V) favours many simple, fast instructions; CISC (e.g. x86) favours fewer, more complex ones. Full tutorial
RTOS (Real-Time Operating System)
A scheduler that runs multiple firmware "tasks" with defined priorities and timing guarantees, adding preemption, queues, semaphores, and mutexes on top of what a bare while(1) loop can do. Full tutorial

S

Schematic
A diagram showing a circuit's components and how they're electrically connected, using standard symbols — the design document a PCB layout is built from.
Semaphore
An RTOS synchronization primitive — a binary semaphore signals a single event between tasks/ISRs, a counting semaphore tracks how many units of a resource are available. Unlike a mutex, a semaphore has no owner. Full guide
SPI (Serial Peripheral Interface)
A fast, full-duplex serial bus using separate MOSI/MISO data lines plus a clock and per-device chip-select — higher throughput than I2C at the cost of more wires. Full tutorial
SRAM (Static RAM)
Fast, volatile memory a microcontroller uses for variables and the stack at runtime — contents are lost on power-off, unlike Flash or EEPROM. Full tutorial
SWD (Serial Wire Debug)
ARM's 2-wire alternative to JTAG for debugging and programming Cortex-M chips — fewer pins, now the default on most ARM dev boards. Full tutorial

T

Task (RTOS)
An independently-scheduled unit of firmware in an RTOS, each with its own stack and priority — the RTOS equivalent of a thread. Full guide
Timer
A hardware peripheral that counts clock cycles independently of the CPU — the basis of delays, PWM generation, and precise event scheduling. Full tutorial
Toolchain
The full set of tools (compiler, assembler, linker, debugger) that turns your source code into a flashable binary for a specific target chip. Full guide

U

UART (Universal Asynchronous Receiver/Transmitter)
A simple two-wire (TX/RX) serial protocol with no shared clock line — both sides must be configured to the same baud rate to stay in sync. Full tutorial
Unit Testing
Testing individual pieces of firmware logic in isolation — often run on a PC rather than real hardware, with peripherals mocked out, to catch bugs before they ever touch silicon. Full guide
USB (Universal Serial Bus)
A standardized, hot-pluggable serial interface — on embedded boards, often used for flashing firmware, serial debug output, or acting as a virtual COM port.

V

V-Model
A structured, document-heavy development process pairing each design phase with a matching test phase — still common on safety-critical embedded projects where traceability matters more than iteration speed. Full article
Von Neumann Architecture
A CPU design using one shared memory space (and bus) for both instructions and data — simpler than Harvard architecture, but instruction and data fetches can't happen simultaneously. Full tutorial

W

Watchdog Timer
A hardware timer that resets the chip unless firmware "feeds" it periodically — a last-resort safety net if firmware ever hangs or gets stuck in an infinite loop. Full tutorial

Z

Zigbee
A low-power, low-data-rate mesh networking protocol built on the same radio layer as Thread — common in home-automation sensor networks. Full tutorial