← Documentation index

PPAUTO_LAYOUT

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
EXIT STATUS
EXAMPLES
SEE ALSO
AUTHOR
COPYRIGHT

NAME

ppauto_layout - print a real schematic’s own breadboard placement, as plain text

SYNOPSIS

ppauto_layout [--kicad-cli CMD] [--debug] [--quiet] SCHEMATIC
ppauto_layout
{--help|--version}

DESCRIPTION

ppauto_layout reads a real KiCad schematic (SCHEMATIC), runs it through this project’s own breadboard placement engine (classify() then layout()), and prints exactly where every real anchor and passive landed and why — a plain-text diagnostic dump of the placement decision itself, not a rendered diagram. For an actual breadboard-style SVG of the same placement, see pprender(1) instead; this program is the tool for inspecting the underlying decision when a rendered diagram alone doesn’t explain it (which column a given passive shares, which already-placed member it attached to, whether it needed relocating for room — see FutureResearch.org ’s own row-assignment item history — or, honestly, why it ended up unplaced at all).

OPTIONS

--kicad-cli CMD

The kicad-cli(1) command to invoke for netlist export. Defaults to $KICAD_CLI if set, otherwise plain kicad-cli on $PATH, the same convention this project’s own other real command-line tools already use.

--max-components N

Override this project’s own real, default component-count limit ( breadboard_config.py’s own DEFAULT_MAX_COMPONENTS constant, currently 150) — see that constant’s own docstring for the full, real rationale. Raising it above the real, existing default prints a real, direct warning to standard error, but still proceeds.

--version

Show this project’s own current version (read from VERSION) and exit.

--debug

Also print every anchor’s own real pin-to-column mapping, one line per pin, not just its own starting column.

--quiet

Print only the placement lines themselves (one per anchor and one per passive) and the final unplaced summary; suppress the leading anchor/passive/rail counts and the section labels.

EXIT STATUS

0

The schematic was loaded and its placement printed successfully (this is independent of whether every component actually got placed — an honestly-reported UNPLACED component is not, by itself, a program failure; see FutureResearch.org ’s own row-assignment and far-leg items for real, known cases where this can happen).

1

The schematic could not be loaded (missing file, or a kicad-cli(1) failure), or the circuit’s own real component count exceeds whichever --max-components limit is in effect (see above).

2

Invalid command-line usage.

EXAMPLES

Print the full placement decision for a real schematic:

ppauto_layout power.kicad_sch

Just the placement lines, with every anchor pin’s own column shown:

ppauto_layout --quiet --debug power.kicad_sch

SEE ALSO

pprender(1), ppnetlist(1), FutureResearch.org in packpay’s own documentation set (see Index.org).

AUTHOR

Péter Felecan <pfelecan@gmail.com>, with development assistance from Claude (Anthropic).

COPYRIGHT

Copyright © 2026 Péter Felecan. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.