Glossary
Every defined term in this course, A–Z.
1-Wire
Read the section →A bus that carries data (and optionally power) on one wire, with each device having a unique 64-bit ID.
5 V tolerant
Read the section →A 3.3 V pin that is rated to accept 5 V on its input without damage.
7-segment display
Read the section →A digit made of seven LED bars that light in patterns to show 0 to 9.
The common UART format: 8 data bits, no parity, 1 stop bit.
absolute maximum rating
Read the section →A limit that must never be exceeded, even briefly, or the part may be damaged.
Alternating current: current that reverses direction many times a second, as from a wall socket.
accelerometer
Read the section →A sensor that measures acceleration, including gravity.
acceptance criterion
Read the section →The evidence that shows a requirement is met.
accuracy
Read the section →How close a reading is to the true value.
The bit after each I²C byte where the receiver pulls SDA low to say "got it"; NACK is leaving it high.
active buzzer
Read the section →An active buzzer beeps at a fixed tone when powered; a passive one needs a square wave and can play notes.
active-low
Read the section →A signal that means "on" or "asserted" when it is LOW.
address
Read the section →A number that names one location in memory.
address-of
Read the section →The & operator, which gives a variable's memory address.
addressable LED
Read the section →An RGB LED with a tiny chip, chained so each LED in a strip can be set individually.
affinity
Read the section →Pinning a task to one particular CPU core.
aliasing
Read the section →Sampling too slowly, so a fast signal looks like a slower, false one.
alignment
Read the section →The rule that a value must start at an address that is a multiple of its size.
ampere
Read the section →The unit of current; one coulomb per second.
analog
Read the section →A signal that can take any value in a range, like a voltage from 0 to 3.3 V.
analog-to-digital converter
Read the section →The peripheral that measures a voltage and turns it into a number.
anode
Read the section →The positive side of a diode or LED, where conventional current goes in.
arbitration
Read the section →Deciding which of several transmitters gets the bus.
Arduino
Read the section →A company, and the ecosystem of boards, software and libraries it started.
Arduino IDE
Read the section →Arduino's editor and build program for writing, compiling and uploading sketches.
Arduino Uno R4 Minima
Read the section →Arduino's Uno board with a Renesas RA4M1 chip, one of the course's two boards.
arduino-cli
Read the section →Arduino's command-line tool for compiling and uploading.
argument
Read the section →The actual value passed to a function when it is called.
Arm Cortex-M
Read the section →Arm's family of processor cores for microcontrollers.
array
Read the section →A fixed number of values of one type stored side by side, numbered from 0.
as-if rule
Read the section →The rule letting the compiler change your code however it likes, as long as the observable behaviour is the same.
assignment
Read the section →Storing a new value in an existing variable with =.
atomic
Read the section →Done as one indivisible step, so nothing can see it half-done.
average current
Read the section →Total charge per cycle divided by cycle time.
average voltage
Read the section →A PWM signal's voltage averaged over a period: the duty cycle times the high voltage.
The 8-bit processor family in older Arduinos such as the Uno R3.
back-feeding
Read the section →Current flowing backwards into a supply that isn't meant to receive it.
backtrace
Read the section →The list of function return addresses on the stack at a crash.
baud rate
Read the section →How many bits per second a serial link sends; both ends must agree.
bench power supply
Read the section →An adjustable lab power source with a current limit you can set.
beta equation
Read the section →The formula relating an NTC thermistor's resistance to temperature using one constant, β.
binary
Read the section →Base 2: writing numbers using only the digits 0 and 1.
bipolar junction transistor
Read the section →A transistor in which a small base current controls a larger collector current.
One binary digit, 0 or 1.
bitwise operator
Read the section →Operators that work on each bit: &, |, ^, ~, << and >>.
Blink
Read the section →The first sketch: turning an LED on and off once a second.
blocking
Read the section →Code that makes the program wait, such as delay(), so nothing else can run.
board package
Read the section →An installable bundle with the core, toolchain and upload tools for one family of boards.
board variant
Read the section →The part of a board package that maps a board's pin names to the chip's real pins.
Boards Manager
Read the section →The Arduino IDE window for installing and updating board packages.
Bill of materials: the list of every part, with quantity and cost.
boost converter
Read the section →A switching regulator that steps a voltage up.
boot loop
Read the section →Firmware that crashes during start-up, resets, and crashes again forever.
bootloader
Read the section →A small program that runs first at reset and can receive new firmware over USB or serial.
breadboard
Read the section →A board with spring-clip holes for building circuits without soldering.
breaking change
Read the section →A change to a library that makes existing code stop compiling or working.
breakout board
Read the section →A small board that carries one part and brings its pins out to easy-to-wire headers.
breakpoint
Read the section →A marker that stops the program when it reaches a chosen line, so you can inspect it.
brown-out
Read the section →A dip in supply voltage that is too low for reliable operation but not a full power cut.
brown-out detector
Read the section →A circuit that holds or resets the chip when its supply voltage is too low.
buck converter
Read the section →A switching regulator that steps a voltage down efficiently.
by value
Read the section →Passing a copy of a value to a function, so the function can't change the caller's variable.
byte
Read the section →Eight bits.
calibration
Read the section →Measuring a sensor against known values and correcting its readings.
CAN bus
Read the section →A robust differential bus used in cars and machines.
canary
Read the section →A known value placed at the end of a stack, checked to detect overflow.
capacitance
Read the section →How much charge a capacitor stores per volt, measured in farads.
capacitor
Read the section →A part that stores charge between two plates; it lets changing signals through and blocks steady current.
case-sensitive
Read the section →Treating capital and small letters as different, so pinMode and pinmode are different names.
cathode
Read the section →The negative side of a diode or LED, where conventional current comes out; marked with a band or a flat edge.
CDC ACM
Read the section →The standard USB class that makes a device appear as a serial port with no extra driver.
centre gap
Read the section →The channel down the middle of a breadboard that separates the two halves.
character LCD
Read the section →A display that shows fixed character cells, such as 16×2 text.
charger IC
Read the section →A chip that charges a battery with the right current and voltage.
checksum
Read the section →A value computed from data and sent with it, so the receiver can detect corruption.
chip select
Read the section →A line, usually active-low, that tells one SPI device it is being addressed.
clamp
Read the section →To stop a voltage going above (or below) a limit, usually with a diode.
class
Read the section →A user-defined type that bundles data with the functions that work on it.
clone
Read the section →A copy of an open-hardware board, sold by someone other than the original maker.
closed loop
Read the section →An unbroken path from a source's positive side, through the circuit, back to its negative side.
CMake
Read the section →A tool that generates build files for a C++ project from a CMakeLists.txt file.
coast
Read the section →Coasting lets a motor spin down freely; braking shorts its terminals so it stops quickly.
collector
Read the section →The three legs of a bipolar transistor: the base controls, the collector and emitter carry the load current.
commit
Read the section →A saved snapshot of a project's files in git, with a message.
comparator
Read the section →A circuit that outputs HIGH or LOW depending on which input voltage is larger.
compiler
Read the section →The program that translates C++ source code into machine code.
complementary filter
Read the section →A filter that combines a gyro (good short-term) and an accelerometer (good long-term) to estimate tilt.
condensation
Read the section →Water forming on a surface colder than the air's dew point.
conformal coating
Read the section →A thin protective film painted over a circuit board.
constexpr
Read the section →A C++ keyword marking values or functions that can be computed at compile time.
constructor
Read the section →A special function that runs when an object is created.
contact bounce
Read the section →The rapid on–off flicker of switch contacts for a few milliseconds as they close or open.
context switch
Read the section →Saving one task's registers and restoring another's so it can run.
continuity
Read the section →Whether two points are electrically connected; the meter mode that beeps when they are.
conventional current
Read the section →The agreed direction of current, from + to −, even though electrons actually move the other way.
cooperative multitasking
Read the section →Running several jobs in turns, where each job does a short step and returns voluntarily.
core
Read the section →The software that lets Arduino code run on one family of chips.
core dump
Read the section →A saved copy of memory and registers at the moment of a crash.
coulomb
Read the section →The unit of electric charge.
counterfeit
Read the section →A fake part or board falsely sold under another maker's brand.
The part of a chip that carries out instructions one after another.
CPU fault
Read the section →An exception the CPU raises when something illegal happens.
A check value computed by polynomial division of the data bits, catching common corruptions.
critical section
Read the section →A short stretch of code during which interrupts (or other tasks) are kept out.
cross-compiler
Read the section →A compiler that runs on one kind of computer and produces code for another.
current
Read the section →How much charge flows past a point each second, measured in amperes.
current limit
Read the section →A maximum current a supply will deliver, set so a wiring mistake can't push large current through parts.
A peripheral that turns a number into an output voltage.
data flash
Read the section →A separate flash area meant for storing settings.
data type
Read the section →What kind of value a variable holds, such as int, float or bool, which sets its size and operations.
datasheet
Read the section →The manufacturer's document that specifies a part: pins, limits, guaranteed numbers and behaviour.
days of autonomy
Read the section →How many days a battery must run the device with no charging.
Direct current: current that flows in one direction at a steady voltage, as from a battery.
DC current gain
Read the section →How many times larger the collector current is than the base current, in the active region.
dead time
Read the section →A short gap when both switches in a bridge leg are off, to prevent shoot-through.
deadline
Read the section →The latest time by which a job must finish.
deadlock
Read the section →Two or more tasks each waiting for a lock the other holds, so none can continue.
debounce
Read the section →To ignore the brief flicker of a switch's contacts so one press counts once.
debug probe
Read the section →A hardware adapter that connects a debugger on your computer to the chip's debug port.
declaration
Read the section →A line that introduces a name and its type to the compiler.
decoupling capacitor
Read the section →A small capacitor right beside a chip's power pins that supplies sudden bursts of current.
deep sleep
Read the section →Low-power modes: light sleep pauses the CPU keeping RAM; deep sleep powers almost everything off and restarts on wake.
definition
Read the section →The part of the code that actually creates a function or variable.
dependency
Read the section →Something a project or library needs in order to build.
derating
Read the section →Reducing a rating to allow for real-world losses.
dereference
Read the section →Following a pointer to the value it points to, with *.
descriptor
Read the section →Data a USB device sends to describe itself.
destructor
Read the section →A special function that runs automatically when an object is destroyed.
development board
Read the section →A ready-made board with a microcontroller, USB, power parts and header pins, for learning and prototyping.
dew point
Read the section →The temperature at which air's water vapour starts condensing.
A standard USB mode for loading new firmware onto a device.
differential
Read the section →Sending a signal as the difference between two wires, so noise affecting both cancels.
digital
Read the section →A signal treated as one of a few values, usually just HIGH or LOW.
diode
Read the section →A part that lets current flow one way and blocks it the other.
Hardware that copies data between peripherals and memory without the CPU.
dominant
Read the section →On CAN, a dominant bit (0) overrides a recessive bit (1).
double buffering
Read the section →Using two buffers: one fills while the other is processed, then they swap.
download mode
Read the section →An ESP32 boot mode where the ROM bootloader waits for new firmware instead of running yours.
drift
Read the section →A slow error that builds up over time.
driver
Read the section →Software that lets an operating system, or your firmware, talk to one particular piece of hardware.
dropout voltage
Read the section →The smallest gap between input and output at which a linear regulator still regulates.
duty cycle
Read the section →The fraction of each period a signal is HIGH, often given as a percentage.
duty cycling
Read the section →Waking briefly to work, then sleeping most of the time.
E12 series
Read the section →The standard set of twelve resistor values per decade: 10, 12, 15, 18, 22, 27, 33, 39, 47, 56, 68, 82.
EEPROM
Read the section →Non-volatile memory that can be written a byte at a time; often emulated in flash.
elapsed time
Read the section →How much time has passed since a saved moment: now minus then.
electric charge
Read the section →The property of electrons and protons that makes them push and pull on each other; measured in coulombs.
electrical characteristics
Read the section →The datasheet tables that give a part's guaranteed voltages, currents and timings.
electrolytic capacitor
Read the section →A high-value, polarized capacitor that must be wired the right way round.
electrostatic discharge
Read the section →A sudden spark of static electricity, which can damage chips.
The linker's output file: machine code plus addresses and debug information.
embedded system
Read the section →A computer built into a device to do one job, rather than a general-purpose computer.
energy
Read the section →The capacity to do work; power multiplied by time.
engineering notation
Read the section →Scientific notation with the power of ten always a multiple of three, matching SI prefixes.
enum
Read the section →A type whose values are a list of named constants.
enumerates
Read the section →The process where a USB host asks a new device what it is and loads a driver.
equivalent resistance
Read the section →The single resistance that could replace a group of resistors without changing the current drawn.
ESP-IDF
Read the section →Espressif's official development framework for ESP32 chips, built on FreeRTOS.
ESP32-S3
Read the section →A Wi-Fi and Bluetooth microcontroller from Espressif, one of the course's two boards.
ESP32-S3-DevKitC-1
Read the section →Espressif's development board for the ESP32-S3, one of the course's two boards.
exit code
Read the section →The number a command-line program returns when it finishes: 0 for success, anything else for failure.
exponential moving average
Read the section →A filter that blends each new reading with the previous output: y = y + α(x − y).
expression
Read the section →A piece of code that produces a value, such as a + b * 2.
fake driver
Read the section →A stand-in implementation of an interface for testing.
fallthrough
Read the section →When a switch case without break runs on into the next case.
farad
Read the section →The unit of capacitance.
field
Read the section →A group of bits inside a register that together hold one setting.
file scope
Read the section →The region of code where a name can be used.
finite state machine
Read the section →A design where the program is always in one of a few named states and events move it between them.
firmware
Read the section →The program stored in a device's flash memory and run by its microcontroller.
fixed-width integer types
Read the section →Integer types with an exact size, such as uint8_t and int32_t.
flash memory
Read the section →Memory that keeps its contents without power; it holds the program.
floating
Read the section →An input pin connected to nothing that drives it, so it reads randomly.
floating-point
Read the section →A number type that stores a value with a fractional part, with limited precision.
floating-point unit
Read the section →Hardware that does floating-point arithmetic quickly.
flux
Read the section →A chemical in solder that cleans metal so the solder wets and bonds.
flyback diode
Read the section →A diode across a coil that gives its current a safe path when it is switched off.
forward voltage
Read the section →The roughly fixed voltage across a diode or LED while it conducts.
fragmentation
Read the section →Free memory broken into small scattered holes, so a large request fails.
frame
Read the section →One character as a UART sends it: a start bit, the data bits, an optional parity bit and a stop bit.
frame buffer
Read the section →A block of RAM holding one bit or value per pixel, drawn into and then sent to the display.
FreeRTOS
Read the section →A widely used open-source RTOS, built into the ESP32's software.
frequency
Read the section →How many cycles a repeating signal completes each second, measured in hertz.
fully qualified board name
Read the section →The exact name a tool needs to choose a board, in the form packager:architecture:board.
function
Read the section →A named block of code that does one job and can be called from elsewhere.
fuse
Read the section →A part that breaks the circuit when too much current flows.
gate
Read the section →The three legs of a MOSFET: the gate controls, the drain and source carry the load current.
gate threshold voltage
Read the section →The gate voltage at which a MOSFET just begins to conduct, not where it is fully on.
The GNU debugger.
ghost
Read the section →A key that reads as pressed when it isn't, caused by three keys pressed in a rectangle in a matrix.
A version-control program that records snapshots of a project's files.
global
Read the section →A variable declared outside every function, visible to all of them and alive the whole time.
GPIO
Read the section →General-purpose input/output: a pin firmware can set high or low, or read.
ground
Read the section →The reference point in a circuit, defined as 0 V, that other voltages are measured from.
gyroscope
Read the section →A sensor that measures rotation rate.
H-bridge
Read the section →Four switches around a motor that let firmware drive it in either direction.
Hall-effect sensor
Read the section →A sensor that detects a magnetic field.
hard real-time
Read the section →Hard: a missed deadline is a failure. Firm: a late result is useless. Soft: lateness only degrades quality.
hardware abstraction
Read the section →Hiding hardware details behind a simple interface.
header file
Read the section →A file of declarations, usually ending in .h, that other files include to use its code.
heap
Read the section →Memory handed out at run time with new/malloc and returned with delete/free.
hertz
Read the section →The unit of frequency; one cycle per second.
hexadecimal
Read the section →Base 16: digits 0 to 9 and A to F, a short way to write binary.
The USB device class for keyboards, mice and game controllers.
high impedance
Read the section →An output that is effectively disconnected, neither HIGH nor LOW.
high water mark
Read the section →The most stack a task has ever used (or the least ever left free).
high-side switch
Read the section →A switch placed between the supply and the load.
host
Read the section →Your own computer, where you write, build and test code.
host test
Read the section →A unit test compiled for and run on your computer, not the board.
hysteresis
Read the section →Using two thresholds, a higher one to switch on and a lower one to switch off, so noise near one threshold can't cause chatter.
A serial bus for digital audio.
implementation-defined
Read the section →Behaviour the C++ standard leaves to each compiler to choose and document, such as the size of int.
in parallel
Read the section →Connected across the same two points, so the parts share one voltage.
in series
Read the section →Connected one after another in a single path, so the parts carry the same current.
INA219
Read the section →A current and voltage monitor chip with an I²C interface.
inductance
Read the section →How strongly a coil opposes a change in its current, measured in henries.
inductor
Read the section →A coil of wire that resists changes in its current.
inertial measurement unit
Read the section →A sensor package with an accelerometer and a gyroscope (sometimes a magnetometer).
initialize
Read the section →Giving a variable its first value when it is created.
input capture
Read the section →A timer feature that records the count when an input edge arrives.
instruction set architecture
Read the section →The set of machine instructions a processor family understands.
Intel HEX
Read the section →A text file format for firmware that stores bytes as hex with their addresses.
interface
Read the section →What a module offers to other code: its functions and types, without the details of how they work.
interrupt
Read the section →A hardware signal that pauses the main program to run a handler right away.
interrupt handler
Read the section →The function that runs when an interrupt fires.
IP code
Read the section →A two-digit rating for how well an enclosure keeps out dust and water.
isolation
Read the section →No electrical connection between two circuits, even though one controls the other.
A two-wire bus (SDA and SCL) that connects many chips, each with its own address.
I²C address
Read the section →The 7-bit number that picks one chip on an I²C bus.
jitter
Read the section →Variation in timing from one cycle to the next.
JTAG
Read the section →A standard debug interface for halting a chip and inspecting it.
junction
Read the section →A point where three or more wires meet, drawn as a solid dot.
Kalman filter
Read the section →A filter that combines a model and noisy measurements, weighting each by its uncertainty.
kickback
Read the section →The large voltage spike a coil makes when its current is switched off suddenly.
Kirchhoff's current law
Read the section →At any junction, the current flowing in equals the current flowing out.
Kirchhoff's voltage law
Read the section →Around any closed loop, the voltage rises and drops add up to zero.
The delay a filter adds between a change and its appearance in the output.
latch
Read the section →A storage stage that holds outputs steady while new data shifts in, then updates them all at once.
latency
Read the section →The delay between an event and the response.
A low-dropout linear regulator, which works with the input only slightly above the output.
A diode that gives off light when current flows through it the right way.
LEDC
Read the section →The ESP32's PWM peripheral, originally for LED control.
level shifter
Read the section →A circuit that translates signals between two logic voltages, such as 3.3 V and 5 V.
Li-ion
Read the section →Rechargeable lithium cells.
library
Read the section →Reusable code for a task or a chip that you add to a project instead of writing it yourself.
Library Manager
Read the section →The Arduino IDE tool for finding and installing libraries.
lifetime
Read the section →The time during which a variable exists in memory.
linear
Read the section →A part whose current is proportional to its voltage, like a resistor; non-linear parts such as LEDs are not.
linear regulator
Read the section →A regulator that drops excess voltage across a transistor, turning it into heat.
linker
Read the section →The program that joins object files and libraries into one finished program.
linker script
Read the section →The file that tells the linker where flash and RAM are and which sections go where.
little-endian
Read the section →Storing a multi-byte number with its lowest byte first.
logic analyzer
Read the section →A tool that records many digital signals over time so you can see and decode them.
logic level
Read the section →The voltage ranges a digital input counts as HIGH or LOW.
logic-level MOSFET
Read the section →A MOSFET that turns fully on from a 3.3 V or 5 V pin.
logical operator
Read the section →&& (and), || (or) and ! (not), which combine true/false conditions.
low-side switch
Read the section →A switch placed between the load and ground.
The smallest step an ADC can tell apart; also the lowest bit in a number.
The unit of illuminance: how much light falls on a surface.
magic byte
Read the section →A fixed value at the start of a record that marks where it begins.
map file
Read the section →A report from the linker showing where every function and variable was placed and how big it is.
mask
Read the section →A value whose 1 bits select which bits of another value an operation touches.
mask ROM
Read the section →Code built permanently into the chip during manufacturing, which can't be erased.
matrix keypad
Read the section →Buttons wired in a grid of rows and columns, read by scanning.
Short for microcontroller unit.
memory map
Read the section →A chart of what lives at each address range.
memory section
Read the section →A named region of the program image: .text for code, .data for initialized variables, .bss for zeroed ones.
memory-mapped I/O
Read the section →Controlling hardware by reading and writing special memory addresses.
metal-oxide gas sensor
Read the section →A sensor with a heated metal-oxide layer whose resistance changes with gases.
meter loading
Read the section →When connecting a meter (or a load) changes the very voltage you are measuring.
microcontroller
Read the section →A whole small computer on one chip: processor, memory and input/output.
microprocessor
Read the section →A processor chip that needs separate memory and support chips, as in a PC or a Raspberry Pi.
MicroPython
Read the section →A small version of Python that runs on microcontrollers.
microstepping
Read the section →Dividing each full step into smaller ones by partly energizing both coils.
milliamp-hour
Read the section →A battery capacity unit: how many milliamps for how many hours.
module
Read the section →A small shielded board holding a chip, its flash, crystal and antenna, ready to solder onto a larger board.
momentary
Read the section →A switch that is only on while you press it, like a pushbutton.
MOSFET
Read the section →A transistor switched by the voltage on its gate, used to switch loads from a pin.
motor driver chip
Read the section →A chip containing H-bridges and protection, controlled by logic pins.
moving average
Read the section →The average of the last N readings, updated with each new one.
multimeter
Read the section →A handheld meter that measures voltage, current, resistance and continuity.
multiplexing
Read the section →Sharing pins by lighting or reading one group at a time, fast enough to seem simultaneous.
mutex
Read the section →A lock that lets only one task use a shared resource at a time.
Minimum viable product: the smallest version that does the core job.
N-channel MOSFET
Read the section →A MOSFET that turns on when its gate is driven above its source; the usual low-side switch.
native USB
Read the section →USB handled directly by the microcontroller itself, with no separate bridge chip.
A set of points that are all wired together, so they share one voltage.
nibble
Read the section →Four bits, half a byte, one hex digit.
node
Read the section →A point in a circuit where parts meet; everywhere on a node has the same voltage.
noise
Read the section →Random, unwanted variation in a signal or reading.
noise margin
Read the section →How much noise a digital signal can pick up and still be read correctly.
nominal voltage
Read the section →A battery's typical voltage during discharge.
non-volatile memory
Read the section →Memory that keeps its contents without power.
normally open
Read the section →Describes a switch or relay contact's state when it is not pressed or energized.
The common kind of bipolar transistor, switched on by current into its base.
null terminator
Read the section →The zero byte that marks the end of a C string.
The ESP32's key-value storage in flash.
Nyquist rate
Read the section →Twice the highest frequency in a signal: the minimum sample rate to capture it.
object file
Read the section →The compiled machine code for one source file, not yet linked.
off-by-one
Read the section →A loop or index that runs one time too many or too few.
offset error
Read the section →Offset is a constant error added to every reading; gain is a scale error.
The unit of resistance.
Ohm's law
Read the section →For a resistor, voltage equals current times resistance: V = IR.
OLED
Read the section →A display whose pixels each give off their own light.
on-resistance
Read the section →A fully-on MOSFET's resistance from drain to source.
open-drain
Read the section →An output that can only pull LOW; a pull-up resistor makes it HIGH.
OpenOCD
Read the section →Open-source software connecting GDB to a debug probe.
operating system
Read the section →The software that manages a computer's programs, files and hardware, such as Windows or Linux.
optocoupler
Read the section →An LED and a light sensor in one package, passing a signal across an isolation gap.
oscilloscope
Read the section →An instrument that draws voltage against time, showing a signal's exact shape.
out-parameter
Read the section →A pointer or reference parameter through which a function hands back a result.
overflow
Read the section →When a result is too big for its type.
overrun
Read the section →New data arriving before old data has been read, so some is lost.
padding
Read the section →Unused bytes the compiler adds inside a struct to keep members aligned.
parameter
Read the section →A named input in a function's definition.
parasite power
Read the section →Powering a 1-Wire device from its data line.
parity
Read the section →An extra bit that makes the count of 1s even or odd, to catch single-bit errors.
partition table
Read the section →A map that divides an ESP32's flash into areas for the app, settings and other data.
payload
Read the section →The useful data in a message, as opposed to its header and check value.
peak sun hours
Read the section →Daily solar energy expressed as hours of full 1000 W/m² sun.
period
Read the section →The time one full cycle of a repeating signal takes.
peripheral
Read the section →A built-in hardware block on a chip that handles one job, such as a timer or a serial port.
photoresistor
Read the section →A resistor whose resistance falls as light increases.
piezo
Read the section →A ceramic element that flexes with voltage, making sound.
pinning
Read the section →Recording the exact version of a library or board package a project uses, so builds repeat.
PlatformIO
Read the section →A build system and VS Code extension for embedded projects, configured by a platformio.ini file.
pointer
Read the section →A variable that holds a memory address.
polarized
Read the section →Having a + and a − side, so it only works connected one way round.
poles and throws
Read the section →A switch's poles are separate circuits it switches; throws are the positions each pole can connect to.
polling
Read the section →Checking repeatedly whether something has happened.
polyfuse
Read the section →A resettable fuse that goes high-resistance when overloaded and recovers when it cools.
potential difference
Read the section →The formal name for voltage between two points.
potentiometer
Read the section →A knob that is a resistor with a sliding middle contact, used as an adjustable voltage divider.
power
Read the section →How fast energy is used or delivered, measured in watts.
power budget
Read the section →A table of each state's current and time, giving the average current.
power rail
Read the section →A long strip along the edge of a breadboard, used to share the supply and ground.
power rating
Read the section →The most power a part can safely turn into heat.
precision
Read the section →How close repeated readings of the same thing are to each other.
preemptive
Read the section →Scheduling where the system can interrupt a running task to run a more urgent one.
prefix
Read the section →A letter in front of a unit that multiplies it by a power of ten, like the k in kΩ.
preprocessor
Read the section →The first stage of compiling, which handles lines starting with # such as #include and #define.
preprocessor directive
Read the section →A line starting with # that gives the preprocessor an instruction, such as #include.
prescaler
Read the section →A divider that slows a clock before it reaches a timer.
priority
Read the section →A number that decides which ready task runs first.
priority inheritance
Read the section →Temporarily raising a low-priority task that holds a mutex to the priority of a higher task waiting for it.
priority inversion
Read the section →A high-priority task stuck waiting while a medium task runs, because a low task holds its lock.
propagation delay
Read the section →The time from an input change to the output's response.
protection circuit
Read the section →A small board on a lithium cell that cuts off over-charge, over-discharge and short circuit.
protocol
Read the section →The agreed rules for how two devices format and exchange messages.
prototype
Read the section →A function's declaration, written before it is used so the compiler knows its signature.
PSRAM
Read the section →Extra RAM on some ESP32 modules, outside the chip itself.
pull-down resistor
Read the section →A resistor to ground that holds a pin or gate low when nothing else drives it.
pull-up resistor
Read the section →A resistor to the supply that holds a pin high until something pulls it low.
pulse-width modulation
Read the section →Switching a pin on and off quickly; the fraction of time on sets the average power or voltage.
PulseView
Read the section →Free, open-source software for capturing and decoding logic-analyzer signals.
push-pull
Read the section →An output that actively drives both HIGH and LOW.
quadrature
Read the section →Two signals a quarter cycle apart, whose order shows direction.
queue
Read the section →A first-in, first-out channel for passing items between tasks.
quiescent current
Read the section →The current a regulator uses itself, even with no load.
race condition
Read the section →A bug where the result depends on the exact timing of two tasks or interrupts touching shared data.
RAII
Read the section →Resource Acquisition Is Initialization: an object takes a resource in its constructor and releases it in its destructor.
Fast working memory that is lost when power goes off.
ratiometric
Read the section →A measurement that uses the same voltage for the sensor and the ADC reference, so supply changes cancel out.
RC circuit
Read the section →A resistor and a capacitor together, which charge or discharge over a predictable time.
real-time
Read the section →Correct only if the result arrives on time, not just if it is right.
recommended operating conditions
Read the section →The ranges inside which a part is guaranteed to work as specified.
register
Read the section →A small, numbered storage location inside a chip, often wired to hardware.
relay
Read the section →An electrically operated switch: a coil moves contacts that switch a separate circuit.
repository
Read the section →A project folder whose full history git tracks.
requirement
Read the section →A testable statement of what the device must do.
reset handler
Read the section →The first code that runs after reset: it sets up memory then calls main.
resistance
Read the section →How strongly something opposes current; measured in ohms.
resistor
Read the section →A part made to have a known resistance, used to limit current or set voltages.
resolution
Read the section →The number of bits an ADC uses, which sets how many steps it divides its range into.
response time
Read the section →How long a filter's or sensor's output takes to settle at a new value after its input changes.
reverse
Read the section →A diode connected so it blocks: the cathode is more positive than the anode.
ring buffer
Read the section →A fixed-size buffer whose end wraps around to its start, used as a queue.
ripple
Read the section →The small leftover wobble on a voltage that should be steady.
RISC-V
Read the section →An open instruction set, used by newer chips such as the ESP32-C3.
rise time
Read the section →How long a signal takes to go from LOW to HIGH.
rising edge
Read the section →The moment a digital signal changes level: a rising edge goes LOW to HIGH, a falling edge HIGH to LOW.
rotary encoder
Read the section →A sensor that reports rotation as pulses.
RS-485
Read the section →A differential serial standard for long cables and many devices.
RTOS
Read the section →A small operating system that runs several tasks by priority with predictable timing.
RTOS task
Read the section →An independent thread of execution with its own stack, run by an RTOS.
RTOS tick
Read the section →The RTOS's regular timer interrupt, which counts time.
safe default
Read the section →The state outputs go to when inputs can't be trusted.
safe mode
Read the section →A reduced start-up that disables risky features after repeated crashes.
sample rate
Read the section →How many measurements per second an instrument or ADC takes.
saturation
Read the section →A transistor turned fully on, acting like a closed switch with only a small voltage across it.
scheduler
Read the section →The code that decides which job or task runs next.
schematic
Read the section →A diagram that shows how parts connect electrically, using standard symbols.
Schmitt trigger
Read the section →An input or comparator with hysteresis, which turns a slow, noisy edge into one clean switch.
Schottky diode
Read the section →A fast diode with a low forward voltage, about 0.3 V.
scientific notation
Read the section →Writing a number as a value times a power of ten, like 4.7 × 10⁻⁶.
seam
Read the section →A place where code can be swapped for a test without changing it.
second-stage bootloader
Read the section →On an ESP32, the bootloader in flash that the ROM bootloader starts, which then finds and starts your application.
self-heating
Read the section →A sensor warming itself with its own current, so it reads high.
semantic versioning
Read the section →A version numbering rule, MAJOR.MINOR.PATCH, where each number says what kind of change was made.
semaphore
Read the section →A signalling object: one task or ISR gives it, another takes it.
sequence number
Read the section →A counter stored with each record so the newest can be found.
serial
Read the section →Sending data one bit after another over a single wire, rather than many bits at once.
serial monitor
Read the section →A window that shows text a board sends over serial and lets you send text back.
serial plotter
Read the section →A tool that graphs numbers a board prints over serial.
serial port
Read the section →The name the operating system gives a board's serial connection, such as COM6 or /dev/ttyACM0.
servo
Read the section →A motor with built-in position control, set by the width of a pulse.
setup time
Read the section →Setup time is how long data must be steady before a clock edge; hold time is how long after.
shift register
Read the section →A chip that converts serial bits to parallel outputs, or parallel inputs to serial bits.
shoot-through
Read the section →Both switches on one side of an H-bridge on at once, shorting the supply.
short circuit
Read the section →An accidental low-resistance path, usually straight across a supply, that lets far too much current flow.
shunt
Read the section →A small resistor in series with a supply, whose voltage drop measures current.
SI unit
Read the section →One of the standard international units, such as the volt, ampere, ohm and second.
signed
Read the section →A number type that can hold negative values.
single-producer, single-consumer
Read the section →A queue with exactly one writer and one reader, which can be made safe without locks.
sink current
Read the section →A pin sources current when it drives HIGH and current flows out; it sinks current when it drives LOW and current flows in.
sketch
Read the section →Arduino's name for a program.
Running tasks on two or more identical cores that share memory.
solid-state relay
Read the section →A relay with no moving parts, switching a load with semiconductors controlled by light.
source file
Read the section →A .cpp (or .c) file containing definitions, compiled on its own.
speed of sound
Read the section →About 343 m/s in air at 20 °C, rising about 0.6 m/s per degree.
A fast four-wire bus with a clock, two data lines and a chip-select per device.
SPI mode
Read the section →The clock polarity and phase settings both sides of SPI must agree on.
spinlock
Read the section →A lock that waits by looping, used between two CPU cores.
SRAM
Read the section →Static RAM: the fast working memory inside a microcontroller.
stack
Read the section →Memory that grows and shrinks as functions are called and return, holding locals and return addresses.
stack frame
Read the section →The block of stack one function call uses.
stack overflow
Read the section →Using more stack than was reserved, so it overwrites other memory.
stack pointer
Read the section →A CPU register that holds the address of the top of the stack.
stall current
Read the section →The large current a motor draws when it is starting or held still.
start bit
Read the section →The bits that mark the start and end of each byte on a UART line.
state diagram
Read the section →A drawing of a state machine: circles for states, arrows for transitions.
statement
Read the section →One complete instruction in C++, usually ending with a semicolon.
static local
Read the section →A variable inside a function that keeps its value between calls.
static pool
Read the section →A fixed block of memory set aside at build time and handed out in fixed-size pieces.
static_assert
Read the section →A compile-time check that stops the build with a message if a condition is false.
status code
Read the section →A value a function returns to say whether it worked, and if not, why.
stepper motor
Read the section →A motor that moves in fixed steps, controlled by energizing its coils in sequence.
strapping pin
Read the section →A pin whose level at reset chooses a chip's boot mode or settings.
string literal
Read the section →Text written in double quotes in the code, such as "hello".
struct
Read the section →A type that groups several named values into one.
successive approximation
Read the section →The ADC method that finds the code one bit at a time, from the top bit down, like a binary search.
superloop
Read the section →The basic firmware structure: set up once, then repeat one loop forever.
Arm's two-wire debug interface (SWDIO and SWCLK).
switching regulator
Read the section →A regulator that switches rapidly and stores energy in an inductor, wasting little as heat.
system on chip
Read the section →A single chip that holds a processor plus radios, memory and peripherals.
A name attached to one commit, such as a release version.
target
Read the section →The board or chip the firmware is being built for.
template
Read the section →Code written with a placeholder type, which the compiler stamps out for each type used.
terminal strip
Read the section →A row of five connected holes on a breadboard.
thermal resistance
Read the section →How many degrees a part heats up per watt it dissipates.
thermistor
Read the section →A resistor whose resistance changes with temperature.
time constant
Read the section →For a resistor and capacitor, τ = RC: the time to cover 63 % of the way to the final voltage.
time-of-flight sensor
Read the section →A sensor that measures distance by timing light.
timer
Read the section →A peripheral that counts clock ticks and can trigger events or generate PWM.
timestamp
Read the section →A recorded time at which something happened.
timing diagram
Read the section →A drawing of signals against time, showing what changes when.
TinyUSB
Read the section →An open-source USB stack for microcontrollers.
tolerance
Read the section →How far a part's real value may be from its marked value, as a percentage.
toolchain
Read the section →The set of programs that turn source code into firmware on a board.
torn read
Read the section →Reading a value while it is half-updated, getting a mix of old and new.
torn write
Read the section →A write cut short by power loss, leaving data half old and half new.
touch sensor
Read the section →A pad that detects a finger by the capacitance it adds.
traceability table
Read the section →A table pairing each requirement with the test that proves it.
transceiver
Read the section →A chip that converts between a microcontroller's logic signals and a bus's electrical signals.
transistor
Read the section →A semiconductor part that lets a small signal control a larger current; used as a switch or an amplifier.
transition table
Read the section →A table listing, for each state and event, the next state and any action.
transitive dependency
Read the section →A dependency of a dependency.
trigger
Read the section →A condition that tells a scope or logic analyzer when to start showing a capture.
TVS diode
Read the section →A diode that clamps short voltage spikes, such as static discharges, on a line.
two's complement
Read the section →The way computers store negative integers: invert the bits and add one.
A device's transmit and receive pins; one device's TX connects to the other's RX.
UART
Read the section →The hardware that sends and receives bytes one bit at a time over a TX and an RX wire.
udev rules
Read the section →Linux settings that decide who may open a device such as a board's serial port.
ultrasonic distance module
Read the section →A sensor that measures distance by timing an echo of a sound pulse.
undefined behaviour
Read the section →Code the C++ standard places no rules on, such as reading past an array; anything may happen.
unit test
Read the section →An automatic check that one small piece of code gives the expected result.
unsigned
Read the section →A number type with no negative values, so all its bits count upward from zero.
upload
Read the section →Copying compiled firmware from your computer into a board's flash memory.
USB OTG
Read the section →USB On-The-Go: a port that can act as either device or host.
USB-Serial-JTAG
Read the section →A fixed USB block on the ESP32-S3 that gives both a serial port and a JTAG debug link over one cable.
USB-to-serial bridge
Read the section →A small chip that turns USB from the computer into the TX/RX serial a microcontroller understands.
variable
Read the section →A named piece of memory that holds a value of one type.
vector table
Read the section →A table of addresses at the start of flash: the initial stack pointer, then the address of each handler.
virtual function
Read the section →A member function chosen at run time based on the object's actual type.
volatile
Read the section →A C++ keyword telling the compiler every read and write of a variable must really happen.
volt
Read the section →The unit of voltage.
voltage
Read the section →The electrical push between two points, measured in volts.
voltage divider
Read the section →Two resistors in series across a supply; the point between them gives a fixed fraction of the supply voltage.
voltage drop
Read the section →The voltage across a part that current flows through.
voltage rating
Read the section →The most voltage a part, such as a capacitor, may ever have across it.
voltage regulator
Read the section →A part that turns a varying input voltage into a steady output voltage.
vtable
Read the section →A table of function pointers that virtual calls go through.
wake source
Read the section →An event that wakes the chip from sleep.
watchdog
Read the section →A timer that resets the chip unless the firmware keeps resetting it.
watchpoint
Read the section →A debugger stop that triggers when a memory location is read or written.
watt
Read the section →The unit of power; one joule per second.
watt-hour
Read the section →A unit of energy: one watt used for one hour.
wear levelling
Read the section →Spreading writes across flash so no block wears out early.
wiper
Read the section →The sliding middle contact of a potentiometer.
worst-case reaction time
Read the section →The longest a loop can take to notice an input.
wraps
Read the section →When a counter passes its maximum and starts again from zero.
write-new-then-switch
Read the section →Writing new data to a spare slot and only then marking it current, so power loss never leaves nothing valid.
Xtensa
Read the section →The processor architecture used by the ESP32 and ESP32-S3.
Zener diode
Read the section →A diode made to conduct backwards at a set voltage, used to clamp a voltage.
zero-cost
Read the section →A feature that costs nothing extra at run time compared with writing it by hand.