A very work in progress pinout diagram generator using Python and drawsvg
Configuration can be split across multiple config files to allow for sharing of common properties
"_style" fields are standard SVG properties like fill, font_family, etc.
types:
pin:
width: 80
description: PIN NAME
box_style:
stroke: black
fill: grey
text_style:
font_family: Roboto Mono
fill: white
...
pins:
PIN1:
- type: pin
name: PD7
alt: False
- type: spacer
...
mapping: [PIN1, PIN2, ...]
See the default files for further reference
pin: !include ../defaults/pin_qfn.yaml
label: !include ../defaults/label_qfn.yaml
package: !include ../defaults/package_qfn.yaml
footprint: QFN-20 #Footprint-PinNumber
name: "IC NAME"
subtitle: "SUBTITLE"
package_text:
text: "ON PACKAGE TEXT"
sub_text: "ON PACKAGE SUBTEXT"
canvas_width: 2000
canvas_height: 1000
To generate a single Image
py pinout.py [yaml file] [output file]
To generate a whole directory, first characters of yaml files should match directory name. SVGs will be saved in the directory
py generate_dir.py [yaml dir]
- Error checking
- Documentation
- Improve SVG generation
- Add different styling options
- Added YAML functionality like Homeassistant and ESPHome has
- Improve modularity to allow for more complex footprints
- Clean up a lot of bad programming and improve readability
- Use config files and cli