Electronic – Program to draw pinouts (and easily visualize pin’s multiplexed functions)

diagrampinout

Documenting an electronics project is also an important task if it will be used by someone else other than the hardware designer(s). Right now I need to draw a diagram for a breakout board in order to show what functions are available on each pin. Something like the following diagram (of mbed):

enter image description here

Can someone recommends me a program that allows me to easily draw such diagrams?

Best Answer

Fritzing is pretty nice for this, there are a bunch of libraries built in and available for download that have a lot of the more popular platforms made, and you can define your own parts using an svg editor like Inkscape. It's particularly nice for having defined pin areas for your lines to connect to so things don't break if you drag it around.

draw.io is good for doing quick block diagrams and simplified wiring and is browser based with nice cloud integration. But I haven't tried to use images of PCBs for pinouts with it so it might not be the right thing for that.

edit 2/22/2020: here is a good video showing how the Adafruit feather diagrams are made: https://youtu.be/ndVs1UvK6AE

Sparkfun also has a repo on github for generating SVG elements that they use for their "graphical datasheet" pinouts. I have not tried it but Sparkfun does a lot of these types of pinouts: https://github.com/sparkfun/Graphical_Datasheets

Someone has taken this further with a python script, which may be a good option for advanced users if you don't mind learning how to use the format: https://github.com/stevenj/GenPinoutSVG

Also adding this link to another GitHub repo to generate nice looking SVG representations of PCB designs from a KiCad board file. I have not used this myself either, but it looks like it would pair really well with the way Fritzing defines parts: https://github.com/yaqwsx/PcbDraw