Making nice-looking and interactive diagrams for your PCBs

Share via

I have always liked pinout diagrams like this:

Arduino Nano Pinout. Source: http://www.pighixxx.com/test/wp-content/uploads/2014/11/nano.png
Arduino Nano Pinout. Source: http://www.pighixxx.com/test/wp-content/uploads/2014/11/nano.png

They work quite well, there is all the information and they look nice. However, they work only when you have pins on two sides of the PCB and once you squeeze too much information in it, the diagram becomes hard to follow. Also, I sometimes struggle with finding the right pin when I connect duponts to my boards — there is simply too much information presented at once.

Therefore, I created Pinion — a simple tool that will take your KiCAD board and builds a nice-looking interactive diagram. You can either present them or embed them into your websites like this:

What it can do?

Pinion diagrams allow the user to highlight pins or components on hover. The highlighted component can have arbitrarily long descriptions (you specify the description as markdown, so you can structure your text, add links, use bullet points). The user can also pin one or more pins on the PCB — this is especially useful when you need to connect some cables to your board. You just click on the pins you want to connect and they stay highlighted.

Specification of the diagram is simple. You write a YAML file that tells pinion which pads and components to highlight and what description they should have. Everything else (e.g., pad shape and position) is extracted from the KiCAD board.

I want to use it!

Just follow Pinion documentation. There is an up-to-date tutorial on the usage. One thing you might struggle with is acquiring the source image. I like the “hand-draw” digrams, so Pinion currently generates them. However, to do so it needs a hand-draw component library. We have a steadily growing library, however, it is possible that you might need to draw some of your components.

You might wonder, why I cannot use the 3D render from KiCAD? The answer is simple. KiCAD (as of version 5 and I am afraid as of version 6) does not allow from programmatic extraction of the 3D render of the boars.


Recent news: My open letter to the 3D-printing community

I love the 3D-printing community, but I think there is room for improvement. Let's get better in 2023! Read the full letter.

Support my work!

If you like my work (these blog posts, my software and CAD models) and you would like to see more posts on various topics coming, consider supporting me in various ways:

If you are interested in knowing what I am up to and recent sneak-peaks, consider following me on social media (Twitter, Instagram, Facebook).

My store offers

I launched new tank cleaning kits for Elegoo Saturn, Saturn S, Mars 1, and Mars 3. You can find them in my store.

Share via
Back To Top