Documentation Index
Fetch the complete documentation index at: https://docs.pcb.new/llms.txt
Use this file to discover all available pages before exploring further.
README
Every board/package gets a README.md at its root (pcb new creates one from a template). READMEs are the first thing someone reads — keep them practical and current.
Board README
Boards are top-level designs that get manufactured. Their READMEs orient someone who needs to build, flash, or test the board.
# <BoardName>
One or two sentences: what it does, key specs.
## Features
- Feature one
- Feature two
## Build Instructions
\`\`\`bash
pcb build <BoardName>.zen
pcb layout <BoardName>.zen
\`\`\`
## License
MIT (or whatever applies)
Required sections: Description (main MCU/IC, key interfaces, form factor), Features (scannable bullet list), Build instructions (pcb build/pcb layout commands plus any non-obvious prerequisites), License.
Optional sections (include only when useful): Pin Configuration, Design Notes, Related (datasheets, reference designs).
Package README
Packages are reusable modules/components other designs depend on. Answer: what does this export, and how do I use it?
# <package_name>
One or two sentences: what this package provides.
## Usage
\`\`\`python
load("<package_name>.zen", "SymbolName")
\`\`\`
## Exported Symbols
| Symbol | Description |
|--------|-------------|
| `BuckConverter` | Adjustable step-down converter with configurable output voltage |
| `LDO` | Low-dropout linear regulator |
## Configuration
\`\`\`python
converter = BuckConverter(
v_out = Voltage(3.3),
i_max = Current(2.0),
)
\`\`\`
Required sections: Description (what it provides, when to use it), Usage (load() statement with actual symbol names), Exported symbols (table of every public symbol with one-line description).
Optional sections: Configuration (example config() parameters), Dependencies (non-obvious ones), Design Notes (thermal, layout constraints).
Writing Style
- Be concise. One sentence beats a paragraph that says the same thing.
- Keep it current. Update the README in the same commit as the design change.
- Use backticks for identifiers. Symbol names, file names, CLI commands, pin names.
- Delete empty sections. Don’t leave
<!-- TODO --> placeholders.
Complete Examples
Board
# DM0001
Motor controller board with STM32F4, dual CAN bus, and hardware ESTOP circuit.
Designed for 12V systems with up to 4A continuous motor drive.
## Features
- STM32F446 MCU with 180MHz Cortex-M4F
- Dual CAN bus with independent termination
- Hardware ESTOP with debounce and LED indicator
- 3.3V and 1.8V regulated rails from 12V input
- SWD debug header and UART console
## Build Instructions
\`\`\`bash
pcb build DM0001.zen
pcb layout DM0001.zen
\`\`\`
## License
MIT
Package
# power_supply
Configurable switch-mode power supply modules for common topologies.
## Usage
\`\`\`python
load("power_supply.zen", "BuckConverter", "BoostConverter")
\`\`\`
## Exported Symbols
| Symbol | Description |
|--------|-------------|
| `BuckConverter` | Step-down converter, 4.5–28V input, adjustable output |
| `BoostConverter` | Step-up converter, 2.5–5.5V input, up to 12V output |
| `BuckBoost` | Buck-boost converter for inputs above or below output |
## Configuration
\`\`\`python
reg = BuckConverter(
v_in = Voltage(12),
v_out = Voltage(3.3),
i_max = Current(3.0),
switching_freq = Frequency(500_000),
)
\`\`\`