Glossary
Board — a circuit board carrying a microcontroller, ready to program: an Arduino Uno, an ESP32 development board. The target of everything in this guide.
Core — PlatformIO Core, the pio
command-line program itself. It owns
no compiler; it organises the parts
that do the work.
Core directory — the store where
platforms and packages live:
~/.platformio by default, movable
with PLATFORMIO_CORE_DIR.
Cross-compiler — a compiler that runs on one kind of processor and produces machine code for another: gcc on your laptop emitting AVR code for an Uno.
Environment (env) — one complete
build configuration in
platformio.ini: an [env:NAME]
section naming platform, board,
framework, libraries and flags.
Firmware — the program as the
board holds it: the compiled binary
(firmware.hex, firmware.elf)
destined for the chip's flash memory.
Flash (memory) — the board's non-volatile program storage; keeps the firmware with power off. Also, as a verb, the act of uploading.
Framework — the library world a
program is written against: arduino
in this guide; others include ESP-IDF
and Zephyr.
LDF (Library Dependency Finder) —
the part of PlatformIO that reads
your #includes and decides which
libraries each environment compiles.
Library — reusable code with a
name and (ideally) a version: yours,
in lib/, or the registry's, via
lib_deps.
library.json — a library's manifest: name, version, description, and which platforms and frameworks it serves.
lib_deps — the platformio.ini
option listing a project's registry
libraries, with their version pins.
Native — the platform that builds for the machine you are sitting at, with its own compiler. The desktop twin's home.
Package — a downloadable tool bundle: a toolchain, a framework, an upload tool, a checker.
Pin — a version constraint in
lib_deps (@^7.4.3) that keeps a
library's version from drifting
between builds.
Platform — a downloadable bundle
describing one chip family: its
boards, packages and upload methods
(atmelavr, native).
RAM — the board's working memory: variables, buffers, stack. On an Uno, 2 KB of it; the size report's second line.
Registry — the PlatformIO
Registry, the public catalogue of
libraries that pio pkg searches and
installs.
Serial monitor — the tool that
shows what a board prints over its
USB serial line, and the window into
a running program's mind:
pio device monitor.
Source filter (build_src_filter)
— the option deciding which files in
src/ an environment compiles; the
multi-target project's traffic cop.
Toolchain — the compiler and its companions (linker, archiver) for one chip family, delivered as a package.
Unity — the small C unit-test
framework PlatformIO's pio test
uses by default.
Upload — sending firmware to the
board: pio run -t upload, via the
platform's tool (avrdude, for AVR),
down the USB lead, into flash.