Skip to content

Latest commit

 

History

History
61 lines (36 loc) · 3.46 KB

File metadata and controls

61 lines (36 loc) · 3.46 KB

PinConnect

An interactive pinout generator for PCBs. PinConnect turns a photo of a board into an interactive pinout diagram you can open in a browser or embed in a documentation site.

A generated PinConnect pinout: hovering connectors on the board, then opening the connector list and picking connectors from it

A generated pinout for the Birds' Nest CAN board — hover a connector on the board for its pinout, or open the connector list to browse every connector at once.

Quick start

Open https://pinconnect.isiks.tech, load a photo of your board, draw a box over each connector, label the pins, and press Generate. The generator runs in your browser, so your photo and your config never leave it.

Full walkthrough: Getting Started.

Automating it

For regenerating pinouts as a board changes, or publishing from CI, there is a command line tool that renders the same file from a saved config:

pip install ./pinout_gen
pinout-gen board.toml         # writes board.pinout.html

The output is identical either way, because the designer runs this same generator rather than a copy of it. pinout-gen --serve also opens the designer locally if you would rather not use the hosted one.

See Automating.

If you'd like to see a live demo of the generated pinouts, you can find it on this documentation website: https://docs.isiks.tech/pinouts/bnc/bnc.pinout.html

Documentation

All guides live in the docs/ folder — start with the documentation index:

  • Getting Started: a board photo to a finished pinout.
  • The designer: every panel and field, plus troubleshooting.
  • Concepts: how the pieces fit and the three kinds of TOML file.
  • Automating: the command line tool, and publishing from CI.
  • Embedding: pinouts in an MkDocs or Zensical page.

Reference: board TOML, connector types, themes.

Repository layout

  • pinout_design/: the designer, a static web app.
  • pinout_gen/: the pinout-gen CLI, connector type library, and themes. The designer loads this package to do its rendering.
  • pinout_embed/: the Markdown embedding extension.
  • docs/: documentation.

Each package folder has its own README with a short overview.

US-based PCB Assembly

PinConnect was initially created to improve our PCB documentation at Isik's Tech, and decided to open-source it after realizing others could find it useful too.

We also moved to in-house PCB assembly in early 2025 after struggling to find a reliable and affordable US-based PCB assembler, and we recently launched a new PCB assembly service to help others with PCB assembly as well. We can often match or beat delivered costs from overseas. We have an estimator on our website so you can upload your BOM and get an instant estimate. For more information, visit IsikPCB.com

License

This project is licensed under GPL-3.0. See LICENSE.

If you'd like to support the development of this and other open-source projects, you can donate on GitHub Sponsors or Patreon.