Skip to main content

kicad-callouts

Generate a static, annotated top-down 3D image of a KiCad PCB with a labelled callout for each connector (or any other footprint you choose).

Give it a .kicad_pcb file in which the footprints you want called out carry a Callout property. It renders the board with KiCad, draws a red box around each listed footprint, adds a leader line to a label box on the nearest side of the board, and adds overall board dimensions. The result is a PNG, PDF, or SVG suitable for a datasheet, README, or assembly guide.

Install

With uv:

uv tool install git+https://github.com/keenanjohnson/kicad-callouts

Usage

kicad-callouts board.kicad_pcb -o docs/connectors.png

Arguments and options:

Argument Meaning
pcb Path to the .kicad_pcb file.
-o, --out Output path. The extension picks the format: .png, .pdf, or .svg. Defaults to connectors.png.
--dpi Resolution for PNG/PDF output. Defaults to 300.
--title Title printed at the top of the image. Defaults to the PCB filename.

If the PCB lives in a git repository, the short commit hash is printed under the title so you can tell which board revision the image was made from.

Marking footprints for callout

Every footprint with a non-empty Callout property gets a callout. Two properties are read:

Property Meaning
Callout Short label shown in bold next to the reference designator, such as USB-C. Required.
Callout Description Longer text shown under the label. Wrapped to two lines; anything beyond that is cut. Optional.

The easiest place to set them is the schematic: add the fields to each symbol (Symbol Properties, or the Symbol Fields Table for many at once), then run Update PCB from Schematic. KiCad copies symbol fields onto the footprints, and they survive later updates. Adding them directly to a footprint in the PCB editor also works, but the next update from the schematic may remove them. Either way, mark the fields as hidden so they are not drawn on the board.

Layout

Callouts are placed in a column on whichever side of the board the footprint is closer to, ordered top to bottom by the footprint's position. Boxes that would overlap are pushed down. Callout text can be any footprint, not just connectors, so the same tool works for switches, LEDs, test points, or mounting holes.

License

MIT. See LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kicad_callouts-0.1.0.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kicad_callouts-0.1.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file kicad_callouts-0.1.0.tar.gz.

File metadata

  • Download URL: kicad_callouts-0.1.0.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for kicad_callouts-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8a533bf4ea8c411718fdd714cfbb19d0eb487497eb997e3ec36ee2651bbc6960
MD5 70f6347ff0bf8612d733f2210be341b0
BLAKE2b-256 326d6dc5d80fbdcdf512049d10befc33026a0bc6ab4213c1c51a177b6f53448c

See more details on using hashes here.

File details

Details for the file kicad_callouts-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: kicad_callouts-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.10 {"installer":{"name":"uv","version":"0.12.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for kicad_callouts-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e3e96df9737e006d1849846e4b7f0064e66b127748e5bcb70dc739d7a3e45c98
MD5 34221113d24a7a29b3d7d595c64c48ea
BLAKE2b-256 783608ad95bc06fba2da76dea81c68cd40d139cef7a7acc1849bbea7a5a84091

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.1

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page