--- user-invocable: false name: hardware description: Electronics and embedded engineering judgment, distilled from a stronger model - invoke when CHOOSING components, MCUs, modules, or interfaces; designing or reviewing a circuit, power tree, or PCB; writing embedded firmware; debugging physical hardware (resets, noise, dead boards, flaky sensors); or planning bring-up and validation of a new board. Scenario-driven part selection, electrical design margins, firmware-for-unattended-devices rules, bench debugging discipline, and a trap catalog. --- # Hardware — parts, circuits, firmware, bring-up, traps Rule content lives in the five files below; this SKILL.md only routes (`doctrine/04-maintenance.md` governs edits to this bundle too). ## Route by moment | You are about to… | Read (in this folder) | |---|---| | Pick an MCU, module, sensor, or any component; judge a BOM or parts proposal | `parts.md` | | Design or review a circuit: power, protection, interfaces, layout concerns | `circuits.md` | | Write or review embedded firmware (loops, ISRs, watchdogs, OTA, flash) | `firmware.md` | | Debug a physical board, plan first power-up, or validate before shipping | `bringup.md` | | Estimate battery life or a power budget ("how long on a 2000mAh cell?") | `circuits.md` §1 + `traps.md` A5 — peak budgeting, measured charge per duty cycle | | Review a hardware project's health; name why a design or process feels fragile | `traps.md` | A new design usually runs `parts.md` → `circuits.md` (power tree first) → `firmware.md`, with `bringup.md` §1 consulted BEFORE layout — bring-up is designed, not improvised. ## Scope and neighbors Physical-world engineering judgment. Firmware architecture inherits `backend/logic.md` (this bundle adds the physics); debugging inherits `methods/investigate.md` (this bundle adds instruments and the four failure domains); whether to delegate → `doctrine`. ## The stance The physical world is analog, undocumented, and expensive to iterate: **derate, measure, and design for bring-up** — and treat every datasheet as a contract whose real terms are in the footnotes (`parts.md` §4). One honest limit governs all debugging here: the model cannot see the board, so measurements come before theories (`bringup.md` §4).