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 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kicad_callouts-0.1.1.tar.gz.
File metadata
- Download URL: kicad_callouts-0.1.1.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e458633bb52598fd3f34e74bc12c258fa7c94d36c01c4c3f038e861fcb52ad1
|
|
| MD5 |
02913aee424cf2e96b9f95cb2a79c7c7
|
|
| BLAKE2b-256 |
8eacd0f326b92d2b685275c3f49710a4368d6a625ecd492048398cf8000814bf
|
File details
Details for the file kicad_callouts-0.1.1-py3-none-any.whl.
File metadata
- Download URL: kicad_callouts-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32d5945d9c459b09f9278c05ec2fca19916aa77a52ae23e03b452f92f05a7eee
|
|
| MD5 |
7dafaab95fd41ff938283f913a42d180
|
|
| BLAKE2b-256 |
fb3edc83274e03cf0a2546282f3977a58e73dc32717420a204b59bee8f6c67a8
|