diff --git a/tutorial/MolexKK254.jpg b/tutorial/MolexKK254.jpg
new file mode 100644
index 0000000..755cfe9
Binary files /dev/null and b/tutorial/MolexKK254.jpg differ
diff --git a/tutorial/MolexKK254MALE.jpg b/tutorial/MolexKK254MALE.jpg
new file mode 100644
index 0000000..c2dc5a7
Binary files /dev/null and b/tutorial/MolexKK254MALE.jpg differ
diff --git a/tutorial/readme.md b/tutorial/readme.md
new file mode 100644
index 0000000..a2ed733
--- /dev/null
+++ b/tutorial/readme.md
@@ -0,0 +1,474 @@
+# WireViz Tutorial
+
+[01 - Bare-bones example](#01---Bare-bones-example)
+
+[02 - Adding parameters and colors](#02---adding-parameters-and-colors)
+
+[03 - Pinouts, shielding, templates (I)](#03---pinouts-shielding-templates-(I))
+
+[04 - Templates (II), notes, American standards, daisy chaining (I)](#04---templates-(II)-notes-american-standards-daisy-chaining-(I))
+
+[05 - Ferrules, wire bundles, custom wire colors](#05---ferrules,-wire-bundles,-custom-wire-colors)
+
+[06 - Custom ferrules](#06---custom-ferrules)
+
+[07 - Daisy chaining (II)](#07---daisy-chaining-(II))
+
+[08 - Part numbers and additional components](#08---part-numbers-and-additional-components)
+
+[09 - Hidden wire information and using a template for nice display](#09---hidden-wire-information-and-using-a-template-for-nice-display-as-a-din6771-document)
+
+
+## 01 - Bare-bones example
+
+* Minimum working example
+* Only 1-to-1 sequential wiring
+
+
+```yaml
+connectors:
+ X1:
+ pincount: 4
+ X2:
+ pincount: 4
+
+cables:
+ W1:
+ wirecount: 4
+ length: 1
+
+connections:
+ -
+ - X1: [1-4]
+ - W1: [1-4]
+ - X2: [1-4]
+```
+
+
+
+[Source](tutorial01.yml) - [Bill of Materials](tutorial01.bom.tsv)
+
+
+## 02 - Adding parameters and colors
+
+* Parameters for connectors and cables
+* Auto-calculate equivalent AWG from mm2
+* Non-sequential wiring
+
+
+```yaml
+connectors:
+ X1:
+ pincount: 4
+ # More connector parameters:
+ type: Molex KK 254
+ subtype: female
+ X2:
+ pincount: 4
+ type: Molex KK 254
+ subtype: female
+
+cables:
+ W1:
+ wirecount: 4
+ # more cable parameters:
+ length: 1
+ gauge: 0.25 mm2
+ show_equiv: true # auto-calculate AWG equivalent
+ colors: [WH, BN, GN, YE]
+
+connections:
+ -
+ - X1: [1-4]
+ - W1: [1-4]
+ # non-sequential wiring:
+ - X2: [1,2,4,3]
+```
+
+
+
+[Source](tutorial02.yml) - [Bill of Materials](tutorial02.bom.tsv)
+
+
+## 03 - Pinouts, shielding, templates (I)
+
+* Connector pinouts
+ * Pincount implicit in pinout
+* Cable color codes
+* Cable shielding, shield wiring
+* Templates
+
+
+```yaml
+connectors:
+ X1: &template1 # define a template for later use
+ pinlabels: [GND, VCC, RX, TX] # pincount implicit in pinout
+ type: Molex KK 254
+ subtype: female
+ X2:
+ <<: *template1 # reuse template
+
+cables:
+ W1:
+ wirecount: 4
+ length: 1
+ gauge: 0.25 mm2
+ show_equiv: true
+ color_code: DIN # auto-assign colors based on DIN 47100
+ shield: true # add cable shielding
+
+connections:
+ -
+ - X1: [1-4]
+ - W1: [1-4]
+ - X2: [1,2,4,3]
+ - # connect the shielding to a pin
+ - X1: 1
+ - W1: s
+```
+
+
+
+[Source](tutorial03.yml) - [Bill of Materials](tutorial03.bom.tsv)
+
+
+## 04 - Templates (II), notes, American standards, daisy chaining (I)
+
+* Overriding template parameters
+* Add nodes to connectors and cables
+* American standards: AWG gauge and IEC colors
+* Linear daisy-chain
+ * Convenient for shorter chains
+
+
+```yaml
+connectors:
+ X1: &template_con
+ pinlabels: [GND, VCC, SCL, SDA]
+ type: Molex KK 254
+ subtype: male
+ notes: to microcontroller # add notes
+ X2:
+ <<: *template_con # use template
+ subtype: female # but override certain parameters
+ notes: to accelerometer
+ X3:
+ <<: *template_con
+ subtype: female
+ notes: to temperature sensor
+
+cables:
+ W1: &template_cbl
+ wirecount: 4
+ length: 0.3
+ gauge: 24 AWG # specify gauge in AWG directly
+ color_code: IEC # IEC 62 colors also supported
+ notes: This cable is a bit longer
+ W2:
+ <<: *template_cbl
+ length: 0.1
+ notes: This cable is a bit shorter
+
+connections:
+ -
+ - X1: [1-4]
+ - W1: [1-4]
+ - X2: [1-4]
+ - # daisy chain connectors (in line)
+ - X2: [1-4]
+ - W2: [1-4]
+ - X3: [1-4]
+```
+
+
+
+[Source](tutorial04.yml) - [Bill of Materials](tutorial04.bom.tsv)
+
+
+## 05 - Ferrules, wire bundles, custom wire colors
+
+* Ferrules
+ * Simpler than connectors
+ * Compact graphical representation
+ * Only one pin, only one connection, no designator
+ * Define once, auto-generate where needed
+* Wire bundles
+ * Internally treated as cables
+ * Different treatment in BOM: Each wire is listed individually
+ * Represented with dashed outline
+* Custom wire colors
+ * Wirecount can be implicit in color list
+
+
+```yaml
+connectors:
+ X1:
+ pinlabels: [+12V, GND, GND, +5V]
+ type: Molex 8981
+ subtype: female
+ F1:
+ style: simple
+ type: Crimp ferrule
+ subtype: 0.5 mm²
+ color: OG # optional color
+
+cables:
+ W1:
+ category: bundle # bundle
+ length: 0.3
+ gauge: 0.5 mm2
+ colors: [YE, BK, BK, RD] # custom colors, wirecount is implicit
+
+connections:
+ -
+ - F1. # a new ferrule is auto-generated for each of the four wires
+ - W1: [1-4]
+ - X1: [1-4]
+```
+
+
+
+[Source](tutorial05.yml) - [Bill of Materials](tutorial05.bom.tsv)
+
+
+## 06 - Custom ferrules
+
+* Custom ferrules
+ * Allows attaching more than one wire to a ferrule
+ * Requires defining them as regular connectors with unique designators, adding `category: ferrule` parameter
+
+
+```yaml
+connectors:
+ X1:
+ pinlabels: [+12V, GND, GND, +5V]
+ type: Molex 8981
+ subtype: female
+ F_10: # this is a unique ferrule
+ style: simple
+ type: Crimp ferrule
+ subtype: 1.0 mm²
+ color: YE # optional color
+ F_05: # this is a ferrule that will be auto-generated on demand
+ style: simple
+ type: Crimp ferrule
+ subtype: 0.5 mm²
+ color: OG
+
+cables:
+ W1:
+ category: bundle # bundle
+ length: 0.3
+ gauge: 0.5 mm2
+ colors: [YE, BK, BK, RD] # custom colors, wirecount is implicit
+
+connections:
+ -
+ - [F_05., F_10.F1, F_10.F1, F_05.]
+ - W1: [1-4]
+ - X1: [1-4]
+```
+
+
+
+[Source](tutorial06.yml) - [Bill of Materials](tutorial06.bom.tsv)
+
+
+## 07 - Daisy chaining (II)
+
+* Zig-zag daisy chain
+ * Convenient for longer chains
+
+
+```yaml
+connectors:
+ X1: &template_con
+ type: Molex KK 254
+ subtype: female
+ pinlabels: [GND, VCC, SCL, SDA]
+ X2:
+ <<: *template_con
+ X3:
+ <<: *template_con
+ X4:
+ <<: *template_con
+ X5:
+ <<: *template_con
+ X6:
+ <<: *template_con
+
+cables:
+ W1: &template_wire
+ gauge: 0.25 mm2
+ length: 0.2
+ colors: [TQ, PK, YE, VT]
+ category: bundle
+ W2:
+ <<: *template_wire
+ W3:
+ <<: *template_wire
+ W4:
+ <<: *template_wire
+ W5:
+ <<: *template_wire
+
+connections:
+ -
+ - X1: [1-4]
+ - W1: [1-4]
+ - X2: [1-4]
+ -
+ - X3: [1-4]
+ - W2: [1-4]
+ - X2: [1-4]
+ -
+ - X3: [1-4]
+ - W3: [1-4]
+ - X4: [1-4]
+ -
+ - X5: [1-4]
+ - W4: [1-4]
+ - X4: [1-4]
+ -
+ - X5: [1-4]
+ - W5: [1-4]
+ - X6: [1-4]
+```
+
+
+
+[Source](tutorial07.yml) - [Bill of Materials](tutorial07.bom.tsv)
+
+
+## 08 - Part numbers and additional components
+
+* Part number information can be added to parts
+ * Only provided fields will be added to the diagram and bom
+* Bundles can have part information specified by wire
+* Additional parts can be added to components or just to the bom
+ * quantities of additional components can be multiplied by features from parent connector or cable
+
+
+```yaml
+options:
+ mini_bom_mode: false
+
+connectors:
+ X1: &template1 # define a template for later use
+ type: Molex KK 254
+ pincount: 4
+ subtype: female
+ manufacturer: 'Molex ' # set manufacter name
+ mpn: '22013047 ' # set manufacturer part number
+ supplier: Digimouse
+ spn: 1234
+ # add a list of additional components to a part (shown in graph)
+ additional_components:
+ - type: Crimp # short identifier used in graph
+ subtype: Molex KK 254, 22-30 AWG # extra information added to type in bom
+ qty_multiplier: populated # multipier for quantity (number of populated pins)
+ manufacturer: Molex # set manufacter name
+ mpn: 08500030 # set manufacturer part number
+ - type: Test
+ qty: 1
+ pn: ABC
+ manufacturer: Molex
+ mpn: 45454
+ supplier: Mousikey
+ spn: 9999
+ X2:
+ <<: *template1 # reuse template
+ pn: CON4 # set an internal part number for just this connector
+ X3:
+ <<: *template1 # reuse template
+
+cables:
+ W1:
+ wirecount: 4
+ length: 1
+ gauge: 0.25 mm2
+ color_code: IEC
+ manufacturer: CablesCo
+ mpn: ABC123
+ supplier: Cables R Us
+ spn: 999-888-777
+ pn: CAB1
+ W2:
+ category: bundle
+ length: 1
+ gauge: 0.25 mm2
+ colors: [YE, BK, BK, RD]
+ manufacturer: [WiresCo, WiresCo, WiresCo, WiresCo] # set a manufacter per wire
+ mpn: [W1-YE, W1-BK, W1-BK, W1-RD]
+ supplier: [WireShack, WireShack, WireShack, WireShack]
+ spn: [1001, 1002, 1002, 1009]
+ pn: [WIRE1, WIRE2, WIRE2, WIRE3]
+ # add a list of additional components to a part (shown in graph)
+ additional_components:
+ - type: Sleve # short identifier used in graph
+ subtype: Braided nylon, black, 3mm # extra information added to type in bom
+ qty_multiplier: length # multipier for quantity (length of cable)
+ unit: m
+ pn: SLV-1
+
+connections:
+ - - X1: [1-4]
+ - W1: [1-4]
+ - X2: [1-4]
+ - - X1: [1-4]
+ - W2: [1-4]
+ - X3: [1-4]
+
+additional_bom_items:
+ - # define an additional item to add to the bill of materials (does not appear in graph)
+ description: Label, pinout information
+ qty: 2
+ designators:
+ - X2
+ - X3
+ manufacturer: 'Brady '
+ mpn: 'B-499 '
+ pn: Label-ID-1
+```
+
+
+
+[Source](tutorial08.yml) - [Bill of Materials](tutorial08.bom.tsv)
+
+
+## 09 - Hidden wire information and using a template for nice display as a DIN6771 document
+
+What will this 'tutorial' show you?
+
+## Hide wire information
+
+* Sometimes the box around the wire will be distracting
+ * unfortunately some fields can not (yetd) be suppressed:
+ length
+ gauge
+ color_code
+ manufacturer
+ mpn
+ supplier
+ spn
+ pn
+
+## Nice uniform template
+
+* Formatting the end result in a DIN-6771 template makes for a very nice result.
+ * using a template ensures all your wiring diagrams will have a uniform look
+ * the template can be found at:
+ /home/[USER]/.local/lib/python3.10/site-packages/wireviz/templates/din-6771.html
+
+## Adding images to your components
+* Add an image to your component
+
+
+```yaml
+
+
+```
+
+
+
+[Source](tutorial09.yml) - [Bill of Materials](tutorial09.bom.tsv)
\ No newline at end of file
diff --git a/tutorial/readme09.md b/tutorial/readme09.md
new file mode 100644
index 0000000..ca8afb1
--- /dev/null
+++ b/tutorial/readme09.md
@@ -0,0 +1,576 @@
+# WireViz Tutorial
+
+## [01 - Bare-bones example](01---Bare-bones-example)
+## [02 - Adding parameters and colors](02---Adding-parameters-and-colors)
+## [03 - Pinouts, shielding, templates (I)](03---Pinouts,-shielding,-templates-(I))
+## [04 - Templates (II), notes, American standards, daisy chaining (I)](04---Templates-(II),-notes,-American-standards,-daisy-chaining-(I))
+## [05 - Ferrules, wire bundles, custom wire colors](05---Ferrules,-wire-bundles,-custom-wire-colors)
+## [06 - Custom ferrules](06---Custom-ferrules)
+## [07 - Daisy chaining (II)](07---Daisy-chaining-(II))
+## [08 - Part numbers and additional components](08---Part-numbers-and-additional-components)
+## [09 - Hidden wire information and using a template for nice display as a DIN6771 document](09---Hidden-wire-information-and-using-a-template-for-nice-display-as-a-DIN6771-document)
+
+
+## 01 - Bare-bones example
+
+* Minimum working example
+* Only 1-to-1 sequential wiring
+
+
+```yaml
+connectors:
+ X1:
+ pincount: 4
+ X2:
+ pincount: 4
+
+cables:
+ W1:
+ wirecount: 4
+ length: 1
+
+connections:
+ -
+ - X1: [1-4]
+ - W1: [1-4]
+ - X2: [1-4]
+```
+
+
+
+[Source](tutorial01.yml) - [Bill of Materials](tutorial01.bom.tsv)
+
+
+## 02 - Adding parameters and colors
+
+* Parameters for connectors and cables
+* Auto-calculate equivalent AWG from mm2
+* Non-sequential wiring
+
+
+```yaml
+connectors:
+ X1:
+ pincount: 4
+ # More connector parameters:
+ type: Molex KK 254
+ subtype: female
+ X2:
+ pincount: 4
+ type: Molex KK 254
+ subtype: female
+
+cables:
+ W1:
+ wirecount: 4
+ # more cable parameters:
+ length: 1
+ gauge: 0.25 mm2
+ show_equiv: true # auto-calculate AWG equivalent
+ colors: [WH, BN, GN, YE]
+
+connections:
+ -
+ - X1: [1-4]
+ - W1: [1-4]
+ # non-sequential wiring:
+ - X2: [1,2,4,3]
+```
+
+
+
+[Source](tutorial02.yml) - [Bill of Materials](tutorial02.bom.tsv)
+
+
+## 03 - Pinouts, shielding, templates (I)
+
+* Connector pinouts
+ * Pincount implicit in pinout
+* Cable color codes
+* Cable shielding, shield wiring
+* Templates
+
+
+```yaml
+connectors:
+ X1: &template1 # define a template for later use
+ pinlabels: [GND, VCC, RX, TX] # pincount implicit in pinout
+ type: Molex KK 254
+ subtype: female
+ X2:
+ <<: *template1 # reuse template
+
+cables:
+ W1:
+ wirecount: 4
+ length: 1
+ gauge: 0.25 mm2
+ show_equiv: true
+ color_code: DIN # auto-assign colors based on DIN 47100
+ shield: true # add cable shielding
+
+connections:
+ -
+ - X1: [1-4]
+ - W1: [1-4]
+ - X2: [1,2,4,3]
+ - # connect the shielding to a pin
+ - X1: 1
+ - W1: s
+```
+
+
+
+[Source](tutorial03.yml) - [Bill of Materials](tutorial03.bom.tsv)
+
+
+## 04 - Templates (II), notes, American standards, daisy chaining (I)
+
+* Overriding template parameters
+* Add nodes to connectors and cables
+* American standards: AWG gauge and IEC colors
+* Linear daisy-chain
+ * Convenient for shorter chains
+
+
+```yaml
+connectors:
+ X1: &template_con
+ pinlabels: [GND, VCC, SCL, SDA]
+ type: Molex KK 254
+ subtype: male
+ notes: to microcontroller # add notes
+ X2:
+ <<: *template_con # use template
+ subtype: female # but override certain parameters
+ notes: to accelerometer
+ X3:
+ <<: *template_con
+ subtype: female
+ notes: to temperature sensor
+
+cables:
+ W1: &template_cbl
+ wirecount: 4
+ length: 0.3
+ gauge: 24 AWG # specify gauge in AWG directly
+ color_code: IEC # IEC 62 colors also supported
+ notes: This cable is a bit longer
+ W2:
+ <<: *template_cbl
+ length: 0.1
+ notes: This cable is a bit shorter
+
+connections:
+ -
+ - X1: [1-4]
+ - W1: [1-4]
+ - X2: [1-4]
+ - # daisy chain connectors (in line)
+ - X2: [1-4]
+ - W2: [1-4]
+ - X3: [1-4]
+```
+
+
+
+[Source](tutorial04.yml) - [Bill of Materials](tutorial04.bom.tsv)
+
+
+## 05 - Ferrules, wire bundles, custom wire colors
+
+* Ferrules
+ * Simpler than connectors
+ * Compact graphical representation
+ * Only one pin, only one connection, no designator
+ * Define once, auto-generate where needed
+* Wire bundles
+ * Internally treated as cables
+ * Different treatment in BOM: Each wire is listed individually
+ * Represented with dashed outline
+* Custom wire colors
+ * Wirecount can be implicit in color list
+
+
+```yaml
+connectors:
+ X1:
+ pinlabels: [+12V, GND, GND, +5V]
+ type: Molex 8981
+ subtype: female
+ F1:
+ style: simple
+ type: Crimp ferrule
+ subtype: 0.5 mm²
+ color: OG # optional color
+
+cables:
+ W1:
+ category: bundle # bundle
+ length: 0.3
+ gauge: 0.5 mm2
+ colors: [YE, BK, BK, RD] # custom colors, wirecount is implicit
+
+connections:
+ -
+ - F1. # a new ferrule is auto-generated for each of the four wires
+ - W1: [1-4]
+ - X1: [1-4]
+```
+
+
+
+[Source](tutorial05.yml) - [Bill of Materials](tutorial05.bom.tsv)
+
+
+## 06 - Custom ferrules
+
+* Custom ferrules
+ * Allows attaching more than one wire to a ferrule
+ * Requires defining them as regular connectors with unique designators, adding `category: ferrule` parameter
+
+
+```yaml
+connectors:
+ X1:
+ pinlabels: [+12V, GND, GND, +5V]
+ type: Molex 8981
+ subtype: female
+ F_10: # this is a unique ferrule
+ style: simple
+ type: Crimp ferrule
+ subtype: 1.0 mm²
+ color: YE # optional color
+ F_05: # this is a ferrule that will be auto-generated on demand
+ style: simple
+ type: Crimp ferrule
+ subtype: 0.5 mm²
+ color: OG
+
+cables:
+ W1:
+ category: bundle # bundle
+ length: 0.3
+ gauge: 0.5 mm2
+ colors: [YE, BK, BK, RD] # custom colors, wirecount is implicit
+
+connections:
+ -
+ - [F_05., F_10.F1, F_10.F1, F_05.]
+ - W1: [1-4]
+ - X1: [1-4]
+```
+
+
+
+[Source](tutorial06.yml) - [Bill of Materials](tutorial06.bom.tsv)
+
+
+## 07 - Daisy chaining (II)
+
+* Zig-zag daisy chain
+ * Convenient for longer chains
+
+
+```yaml
+connectors:
+ X1: &template_con
+ type: Molex KK 254
+ subtype: female
+ pinlabels: [GND, VCC, SCL, SDA]
+ X2:
+ <<: *template_con
+ X3:
+ <<: *template_con
+ X4:
+ <<: *template_con
+ X5:
+ <<: *template_con
+ X6:
+ <<: *template_con
+
+cables:
+ W1: &template_wire
+ gauge: 0.25 mm2
+ length: 0.2
+ colors: [TQ, PK, YE, VT]
+ category: bundle
+ W2:
+ <<: *template_wire
+ W3:
+ <<: *template_wire
+ W4:
+ <<: *template_wire
+ W5:
+ <<: *template_wire
+
+connections:
+ -
+ - X1: [1-4]
+ - W1: [1-4]
+ - X2: [1-4]
+ -
+ - X3: [1-4]
+ - W2: [1-4]
+ - X2: [1-4]
+ -
+ - X3: [1-4]
+ - W3: [1-4]
+ - X4: [1-4]
+ -
+ - X5: [1-4]
+ - W4: [1-4]
+ - X4: [1-4]
+ -
+ - X5: [1-4]
+ - W5: [1-4]
+ - X6: [1-4]
+```
+
+
+
+[Source](tutorial07.yml) - [Bill of Materials](tutorial07.bom.tsv)
+
+
+## 08 - Part numbers and additional components
+
+* Part number information can be added to parts
+ * Only provided fields will be added to the diagram and bom
+* Bundles can have part information specified by wire
+* Additional parts can be added to components or just to the bom
+ * quantities of additional components can be multiplied by features from parent connector or cable
+
+
+```yaml
+options:
+ mini_bom_mode: false
+
+connectors:
+ X1: &template1 # define a template for later use
+ type: Molex KK 254
+ pincount: 4
+ subtype: female
+ manufacturer: 'Molex ' # set manufacter name
+ mpn: '22013047 ' # set manufacturer part number
+ supplier: Digimouse
+ spn: 1234
+ # add a list of additional components to a part (shown in graph)
+ additional_components:
+ - type: Crimp # short identifier used in graph
+ subtype: Molex KK 254, 22-30 AWG # extra information added to type in bom
+ qty_multiplier: populated # multipier for quantity (number of populated pins)
+ manufacturer: Molex # set manufacter name
+ mpn: 08500030 # set manufacturer part number
+ - type: Test
+ qty: 1
+ pn: ABC
+ manufacturer: Molex
+ mpn: 45454
+ supplier: Mousikey
+ spn: 9999
+ X2:
+ <<: *template1 # reuse template
+ pn: CON4 # set an internal part number for just this connector
+ X3:
+ <<: *template1 # reuse template
+
+cables:
+ W1:
+ wirecount: 4
+ length: 1
+ gauge: 0.25 mm2
+ color_code: IEC
+ manufacturer: CablesCo
+ mpn: ABC123
+ supplier: Cables R Us
+ spn: 999-888-777
+ pn: CAB1
+ W2:
+ category: bundle
+ length: 1
+ gauge: 0.25 mm2
+ colors: [YE, BK, BK, RD]
+ manufacturer: [WiresCo, WiresCo, WiresCo, WiresCo] # set a manufacter per wire
+ mpn: [W1-YE, W1-BK, W1-BK, W1-RD]
+ supplier: [WireShack, WireShack, WireShack, WireShack]
+ spn: [1001, 1002, 1002, 1009]
+ pn: [WIRE1, WIRE2, WIRE2, WIRE3]
+ # add a list of additional components to a part (shown in graph)
+ additional_components:
+ - type: Sleve # short identifier used in graph
+ subtype: Braided nylon, black, 3mm # extra information added to type in bom
+ qty_multiplier: length # multipier for quantity (length of cable)
+ unit: m
+ pn: SLV-1
+
+connections:
+ - - X1: [1-4]
+ - W1: [1-4]
+ - X2: [1-4]
+ - - X1: [1-4]
+ - W2: [1-4]
+ - X3: [1-4]
+
+additional_bom_items:
+ - # define an additional item to add to the bill of materials (does not appear in graph)
+ description: Label, pinout information
+ qty: 2
+ designators:
+ - X2
+ - X3
+ manufacturer: 'Brady '
+ mpn: 'B-499 '
+ pn: Label-ID-1
+```
+
+
+
+[Source](tutorial08.yml) - [Bill of Materials](tutorial08.bom.tsv)
+
+
+## 09 - Hidden wire information and using a template for nice display as a DIN6771 document
+
+What will this 'tutorial' show you?
+
+##Hidden wire information
+* Sometimes the box around the wire will be distrating
+ * unfurtionaly some fields can not (yet) be suppressed:
+ length
+ gauge
+ color_code
+ manufacturer
+ mpn
+ supplier
+ spn
+ pn
+##Nice uniform template
+* Formatting the end result in a DIN-6771 template makes for a very nice result.
+ * using a template ensures all your wiring diagrams will have a uniform look
+ * the template can be found at: /home/[USER]/.local/lib/python3.10/site-packages/wireviz/templates/din-6771.html
+##Adding images to your components
+* Add an image to your connector (or wire)
+
+
+```yaml
+
+
+connectors:
+ X1: &template1 # define a template for later use
+ type: Molex KK 254
+ pincount: 4
+ subtype: female
+ manufacturer: 'Molex ' # set manufacter name
+ mpn: '22013047 ' # set manufacturer part number
+ supplier: Digimouse
+ spn: 1234
+ image:
+ src: MolexKK254.jpg
+ # add a list of additional components to a part (shown in graph)
+ additional_components:
+ - type: Crimp # short identifier used in graph
+ subtype: Molex KK 254, 22-30 AWG # extra information added to type in bom
+ qty_multiplier: populated # multipier for quantity (number of populated pins)
+ manufacturer: Molex # set manufacter name
+ mpn: 08500030 # set manufacturer part number
+ - type: Test
+ qty: 1
+ pn: ABC
+ manufacturer: Molex
+ mpn: 45454
+ supplier: Mousikey
+ spn: 9999
+ X2:
+ <<: *template1 # reuse template
+ pn: CON4 # set an internal part number for just this connector
+ subtype: male
+ image:
+ src: MolexKK254MALE.jpg
+
+ X3:
+ <<: *template1 # reuse template
+ subtype: male
+ image:
+ src: MolexKK254MALE.jpg
+cables:
+ W1:
+ wirecount: 4
+ # length: 1
+ # gauge: 0.25 mm2
+ # color_code: IEC
+ # manufacturer: CablesCo
+ # mpn: ABC123
+ # supplier: Cables R Us
+ # spn: 999-888-777
+ # pn: CAB1
+ #############
+ show_name: false
+ show_wirecount: false
+ show_wirenumbers: false
+ #############
+ W2:
+ category: bundle
+ length: 1
+ gauge: 0.25 mm2
+ colors: [YE, BK, BK, RD]
+ manufacturer: [WiresCo, WiresCo, WiresCo, WiresCo] # set a manufacter per wire
+ mpn: [W1-YE, W1-BK, W1-BK, W1-RD]
+ supplier: [WireShack, WireShack, WireShack, WireShack]
+ spn: [1001, 1002, 1002, 1009]
+ pn: [WIRE1, WIRE2, WIRE2, WIRE3]
+ # add a list of additional components to a part (shown in graph)
+ additional_components:
+ - type: Sleve # short identifier used in graph
+ subtype: Braided nylon, black, 3mm # extra information added to type in bom
+ qty_multiplier: length # multipier for quantity (length of cable)
+ unit: m
+ pn: SLV-1
+
+connections:
+ - - X1: [1-4]
+ - W1: [1-4]
+ - X2: [1-4]
+ - - X1: [1-4]
+ - W2: [1-4]
+ - X3: [1-4]
+ #############
+tweak:
+ override:
+ graph:
+ ranksep: "0.5" # Reduce the horizontal spacing (default 2)
+ wireTweak: &wireTweak
+ shape: none # Hide the surrounding frame
+ fontsize: "12" # Reduce the space needed for text
+ fontcolor: white # Same as background to hide the text
+ ## W1 uses the gauge and length field, they can not be suppressed at the moment. There was an issue #221
+ W1:
+ <<: *wireTweak
+ ###############
+
+###### the din template, A4 format
+metadata:
+ title: Power supplies
+ pn: PSU
+
+ authors:
+ Created:
+ name: Ton
+ date: 2025-03-11
+ Approved:
+ name: Ton
+ date: 2025-03-11
+
+ revisions:
+ A:
+ name: Ton
+ date: 2025-03-12
+ changelog: updates]
+
+ template:
+ name: din-6771
+ sheetsize: A4
+
+```
+
+
+
+[Source](tutorial09.yml) - [Bill of Materials](tutorial09.bom.tsv)
\ No newline at end of file
diff --git a/tutorial/todo.md b/tutorial/todo.md
new file mode 100644
index 0000000..e4907f5
--- /dev/null
+++ b/tutorial/todo.md
@@ -0,0 +1,12 @@
+* Daisychain
+ * zig-zag
+* Connection types
+ * con-cbl-con
+ * con-cbl
+ * cbl-con
+ * fer-cbl
+ * cbl-fer
+* Custom color codes
+ * Looping
+ * Clipping
+* (Merging multiple templates)
diff --git a/tutorial/tutorial01.bom.tsv b/tutorial/tutorial01.bom.tsv
new file mode 100644
index 0000000..78d7659
--- /dev/null
+++ b/tutorial/tutorial01.bom.tsv
@@ -0,0 +1,3 @@
+Id Description Qty Unit Designators
+1 Cable, 4 wires 1 m W1
+2 Connector, 4 pins 2 X1, X2
diff --git a/tutorial/tutorial01.gv b/tutorial/tutorial01.gv
new file mode 100644
index 0000000..7b53bf8
--- /dev/null
+++ b/tutorial/tutorial01.gv
@@ -0,0 +1,164 @@
+graph {
+// Graph generated by WireViz 0.4.1
+// https://github.com/wireviz/WireViz
+ graph [bgcolor="#FFFFFF" fontname=arial nodesep=0.33 rankdir=LR ranksep=2]
+ node [fillcolor="#FFFFFF" fontname=arial height=0 margin=0 shape=none style=filled width=0]
+ edge [fontname=arial style=bold]
+ X1 [label=<
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+ 2
+
+
+ 3
+
+
+ 4
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ X2 [label=<
+
+
+
+
+
+
+
+
+
+
+ 1
+
+
+ 2
+
+
+ 3
+
+
+ 4
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ edge [color="#000000:#ffffff:#000000"]
+ X1:p1r:e -- W1:w1:w
+ W1:w1:e -- X2:p1l:w
+ edge [color="#000000:#ffffff:#000000"]
+ X1:p2r:e -- W1:w2:w
+ W1:w2:e -- X2:p2l:w
+ edge [color="#000000:#ffffff:#000000"]
+ X1:p3r:e -- W1:w3:w
+ W1:w3:e -- X2:p3l:w
+ edge [color="#000000:#ffffff:#000000"]
+ X1:p4r:e -- W1:w4:w
+ W1:w4:e -- X2:p4l:w
+ W1 [label=<
+
+
+
+
+
+
+
+
+
+
+
+ X1:1
+
+ 1
+
+ X2:1
+
+
+
+
+
+
+
+ X1:2
+
+ 2
+
+ X2:2
+
+
+
+
+
+
+
+ X1:3
+
+ 3
+
+ X2:3
+
+
+
+
+
+
+
+ X1:4
+
+ 4
+
+ X2:4
+
+
+
+
+
+
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+}
diff --git a/tutorial/tutorial01.html b/tutorial/tutorial01.html
new file mode 100644
index 0000000..0566981
--- /dev/null
+++ b/tutorial/tutorial01.html
@@ -0,0 +1,205 @@
+
+
+
+
+ tutorial01
+
+
+tutorial01
+Diagram
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+X1
+
+
+X1
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+
+
+W1
+
+
+W1
+
+4x
+
+1 m
+
+X1:1
+ 1
+X2:1
+
+
+
+X1:2
+ 2
+X2:2
+
+
+
+X1:3
+ 3
+X2:3
+
+
+
+X1:4
+ 4
+X2:4
+
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X2
+
+
+X2
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+
+
+
+
+
+
+
+Bill of Materials
+
+
+
+
+ Id
+ Description
+ Qty
+ Unit
+ Designators
+
+
+ 1
+ Cable, 4 wires
+ 1
+ m
+ W1
+
+
+ 2
+ Connector, 4 pins
+ 2
+
+ X1, X2
+
+
+
+
+
+
diff --git a/tutorial/tutorial01.md b/tutorial/tutorial01.md
new file mode 100644
index 0000000..156556f
--- /dev/null
+++ b/tutorial/tutorial01.md
@@ -0,0 +1,4 @@
+## Bare-bones example
+
+* Minimum working example
+* Only 1-to-1 sequential wiring
diff --git a/tutorial/tutorial01.png b/tutorial/tutorial01.png
new file mode 100644
index 0000000..b94a390
Binary files /dev/null and b/tutorial/tutorial01.png differ
diff --git a/tutorial/tutorial01.svg b/tutorial/tutorial01.svg
new file mode 100644
index 0000000..644ce4c
--- /dev/null
+++ b/tutorial/tutorial01.svg
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+
+
+X1
+
+
+X1
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+
+
+W1
+
+
+W1
+
+4x
+
+1 m
+
+X1:1
+ 1
+X2:1
+
+
+
+X1:2
+ 2
+X2:2
+
+
+
+X1:3
+ 3
+X2:3
+
+
+
+X1:4
+ 4
+X2:4
+
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X2
+
+
+X2
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
diff --git a/tutorial/tutorial01.yml b/tutorial/tutorial01.yml
new file mode 100644
index 0000000..24b5a8b
--- /dev/null
+++ b/tutorial/tutorial01.yml
@@ -0,0 +1,16 @@
+connectors:
+ X1:
+ pincount: 4
+ X2:
+ pincount: 4
+
+cables:
+ W1:
+ wirecount: 4
+ length: 1
+
+connections:
+ -
+ - X1: [1-4]
+ - W1: [1-4]
+ - X2: [1-4]
diff --git a/tutorial/tutorial02.bom.tsv b/tutorial/tutorial02.bom.tsv
new file mode 100644
index 0000000..582b78a
--- /dev/null
+++ b/tutorial/tutorial02.bom.tsv
@@ -0,0 +1,3 @@
+Id Description Qty Unit Designators
+1 Cable, 4 x 0.25 mm² 1 m W1
+2 Connector, Molex KK 254, female, 4 pins 2 X1, X2
diff --git a/tutorial/tutorial02.gv b/tutorial/tutorial02.gv
new file mode 100644
index 0000000..7098d9a
--- /dev/null
+++ b/tutorial/tutorial02.gv
@@ -0,0 +1,169 @@
+graph {
+// Graph generated by WireViz 0.4.1
+// https://github.com/wireviz/WireViz
+ graph [bgcolor="#FFFFFF" fontname=arial nodesep=0.33 rankdir=LR ranksep=2]
+ node [fillcolor="#FFFFFF" fontname=arial height=0 margin=0 shape=none style=filled width=0]
+ edge [fontname=arial style=bold]
+ X1 [label=<
+
+
+
+
+
+
+ Molex KK 254
+ female
+ 4-pin
+
+
+
+
+
+ 1
+
+
+ 2
+
+
+ 3
+
+
+ 4
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ X2 [label=<
+
+
+
+
+
+
+ Molex KK 254
+ female
+ 4-pin
+
+
+
+
+
+ 1
+
+
+ 2
+
+
+ 3
+
+
+ 4
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ edge [color="#000000:#ffffff:#000000"]
+ X1:p1r:e -- W1:w1:w
+ W1:w1:e -- X2:p1l:w
+ edge [color="#000000:#895956:#000000"]
+ X1:p2r:e -- W1:w2:w
+ W1:w2:e -- X2:p2l:w
+ edge [color="#000000:#00ff00:#000000"]
+ X1:p3r:e -- W1:w3:w
+ W1:w3:e -- X2:p4l:w
+ edge [color="#000000:#ffff00:#000000"]
+ X1:p4r:e -- W1:w4:w
+ W1:w4:e -- X2:p3l:w
+ W1 [label=<
+
+
+
+
+
+
+ 4x
+ 0.25 mm² (24 AWG)
+ 1 m
+
+
+
+
+
+
+ X1:1
+
+ 1:WH
+
+ X2:1
+
+
+
+
+
+
+
+ X1:2
+
+ 2:BN
+
+ X2:2
+
+
+
+
+
+
+
+ X1:3
+
+ 3:GN
+
+ X2:4
+
+
+
+
+
+
+
+ X1:4
+
+ 4:YE
+
+ X2:3
+
+
+
+
+
+
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+}
diff --git a/tutorial/tutorial02.html b/tutorial/tutorial02.html
new file mode 100644
index 0000000..6252df9
--- /dev/null
+++ b/tutorial/tutorial02.html
@@ -0,0 +1,215 @@
+
+
+
+
+ tutorial02
+
+
+tutorial02
+Diagram
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+X1
+
+
+X1
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+
+
+W1
+
+
+W1
+
+4x
+
+0.25 mm² (24 AWG)
+
+1 m
+
+X1:1
+ 1:WH
+X2:1
+
+
+
+X1:2
+ 2:BN
+X2:2
+
+
+
+X1:3
+ 3:GN
+X2:4
+
+
+
+X1:4
+ 4:YE
+X2:3
+
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X2
+
+
+X2
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+
+
+
+
+
+
+
+Bill of Materials
+
+
+
+
+ Id
+ Description
+ Qty
+ Unit
+ Designators
+
+
+ 1
+ Cable, 4 x 0.25 mm²
+ 1
+ m
+ W1
+
+
+ 2
+ Connector, Molex KK 254, female, 4 pins
+ 2
+
+ X1, X2
+
+
+
+
+
+
diff --git a/tutorial/tutorial02.md b/tutorial/tutorial02.md
new file mode 100644
index 0000000..9d39bf7
--- /dev/null
+++ b/tutorial/tutorial02.md
@@ -0,0 +1,5 @@
+## Adding parameters and colors
+
+* Parameters for connectors and cables
+* Auto-calculate equivalent AWG from mm2
+* Non-sequential wiring
diff --git a/tutorial/tutorial02.png b/tutorial/tutorial02.png
new file mode 100644
index 0000000..bba6a5b
Binary files /dev/null and b/tutorial/tutorial02.png differ
diff --git a/tutorial/tutorial02.svg b/tutorial/tutorial02.svg
new file mode 100644
index 0000000..348b3d8
--- /dev/null
+++ b/tutorial/tutorial02.svg
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+X1
+
+
+X1
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+
+
+W1
+
+
+W1
+
+4x
+
+0.25 mm² (24 AWG)
+
+1 m
+
+X1:1
+ 1:WH
+X2:1
+
+
+
+X1:2
+ 2:BN
+X2:2
+
+
+
+X1:3
+ 3:GN
+X2:4
+
+
+
+X1:4
+ 4:YE
+X2:3
+
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X2
+
+
+X2
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
diff --git a/tutorial/tutorial02.yml b/tutorial/tutorial02.yml
new file mode 100644
index 0000000..030e42e
--- /dev/null
+++ b/tutorial/tutorial02.yml
@@ -0,0 +1,26 @@
+connectors:
+ X1:
+ pincount: 4
+ # More connector parameters:
+ type: Molex KK 254
+ subtype: female
+ X2:
+ pincount: 4
+ type: Molex KK 254
+ subtype: female
+
+cables:
+ W1:
+ wirecount: 4
+ # more cable parameters:
+ length: 1
+ gauge: 0.25 mm2
+ show_equiv: true # auto-calculate AWG equivalent
+ colors: [WH, BN, GN, YE]
+
+connections:
+ -
+ - X1: [1-4]
+ - W1: [1-4]
+ # non-sequential wiring:
+ - X2: [1,2,4,3]
diff --git a/tutorial/tutorial03.bom.tsv b/tutorial/tutorial03.bom.tsv
new file mode 100644
index 0000000..51f8e36
--- /dev/null
+++ b/tutorial/tutorial03.bom.tsv
@@ -0,0 +1,3 @@
+Id Description Qty Unit Designators
+1 Cable, 4 x 0.25 mm² shielded 1 m W1
+2 Connector, Molex KK 254, female, 4 pins 2 X1, X2
diff --git a/tutorial/tutorial03.gv b/tutorial/tutorial03.gv
new file mode 100644
index 0000000..7415055
--- /dev/null
+++ b/tutorial/tutorial03.gv
@@ -0,0 +1,187 @@
+graph {
+// Graph generated by WireViz 0.4.1
+// https://github.com/wireviz/WireViz
+ graph [bgcolor="#FFFFFF" fontname=arial nodesep=0.33 rankdir=LR ranksep=2]
+ node [fillcolor="#FFFFFF" fontname=arial height=0 margin=0 shape=none style=filled width=0]
+ edge [fontname=arial style=bold]
+ X1 [label=<
+
+
+
+
+
+
+ Molex KK 254
+ female
+ 4-pin
+
+
+
+
+
+ GND
+ 1
+
+
+ VCC
+ 2
+
+
+ RX
+ 3
+
+
+ TX
+ 4
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ X2 [label=<
+
+
+
+
+
+
+ Molex KK 254
+ female
+ 4-pin
+
+
+
+
+
+ 1
+ GND
+
+
+ 2
+ VCC
+
+
+ 3
+ RX
+
+
+ 4
+ TX
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ edge [color="#000000:#ffffff:#000000"]
+ X1:p1r:e -- W1:w1:w
+ W1:w1:e -- X2:p1l:w
+ edge [color="#000000:#895956:#000000"]
+ X1:p2r:e -- W1:w2:w
+ W1:w2:e -- X2:p2l:w
+ edge [color="#000000:#00ff00:#000000"]
+ X1:p3r:e -- W1:w3:w
+ W1:w3:e -- X2:p4l:w
+ edge [color="#000000:#ffff00:#000000"]
+ X1:p4r:e -- W1:w4:w
+ W1:w4:e -- X2:p3l:w
+ edge [color="#000000"]
+ X1:p1r:e -- W1:ws:w
+ W1 [label=<
+
+
+
+
+
+
+ 4x
+ 0.25 mm² (24 AWG)
+ + S
+ 1 m
+
+
+
+
+
+
+ X1:1:GND
+
+ 1:WH
+
+ X2:1:GND
+
+
+
+
+
+
+
+ X1:2:VCC
+
+ 2:BN
+
+ X2:2:VCC
+
+
+
+
+
+
+
+ X1:3:RX
+
+ 3:GN
+
+ X2:4:TX
+
+
+
+
+
+
+
+ X1:4:TX
+
+ 4:YE
+
+ X2:3:RX
+
+
+
+
+
+
+
+
+ X1:1:GND
+ Shield
+
+
+
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+}
diff --git a/tutorial/tutorial03.html b/tutorial/tutorial03.html
new file mode 100644
index 0000000..17ef045
--- /dev/null
+++ b/tutorial/tutorial03.html
@@ -0,0 +1,242 @@
+
+
+
+
+ tutorial03
+
+
+tutorial03
+Diagram
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+X1
+
+
+X1
+
+Molex KK 254
+
+female
+
+4-pin
+
+GND
+
+1
+
+VCC
+
+2
+
+RX
+
+3
+
+TX
+
+4
+
+
+
+W1
+
+
+W1
+
+4x
+
+0.25 mm² (24 AWG)
+
++ S
+
+1 m
+
+X1:1:GND
+ 1:WH
+X2:1:GND
+
+
+
+X1:2:VCC
+ 2:BN
+X2:2:VCC
+
+
+
+X1:3:RX
+ 3:GN
+X2:4:TX
+
+
+
+X1:4:TX
+ 4:YE
+X2:3:RX
+
+
+
+
+X1:1:GND
+Shield
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+X2
+
+
+X2
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+GND
+
+2
+
+VCC
+
+3
+
+RX
+
+4
+
+TX
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+
+
+
+
+
+
+
+Bill of Materials
+
+
+
+
+ Id
+ Description
+ Qty
+ Unit
+ Designators
+
+
+ 1
+ Cable, 4 x 0.25 mm² shielded
+ 1
+ m
+ W1
+
+
+ 2
+ Connector, Molex KK 254, female, 4 pins
+ 2
+
+ X1, X2
+
+
+
+
+
+
diff --git a/tutorial/tutorial03.md b/tutorial/tutorial03.md
new file mode 100644
index 0000000..92fd7cf
--- /dev/null
+++ b/tutorial/tutorial03.md
@@ -0,0 +1,7 @@
+## Pinouts, shielding, templates (I)
+
+* Connector pinouts
+ * Pincount implicit in pinout
+* Cable color codes
+* Cable shielding, shield wiring
+* Templates
diff --git a/tutorial/tutorial03.png b/tutorial/tutorial03.png
new file mode 100644
index 0000000..4bd8c39
Binary files /dev/null and b/tutorial/tutorial03.png differ
diff --git a/tutorial/tutorial03.svg b/tutorial/tutorial03.svg
new file mode 100644
index 0000000..5344fb8
--- /dev/null
+++ b/tutorial/tutorial03.svg
@@ -0,0 +1,176 @@
+
+
+
+
+
+
+
+
+
+X1
+
+
+X1
+
+Molex KK 254
+
+female
+
+4-pin
+
+GND
+
+1
+
+VCC
+
+2
+
+RX
+
+3
+
+TX
+
+4
+
+
+
+W1
+
+
+W1
+
+4x
+
+0.25 mm² (24 AWG)
+
++ S
+
+1 m
+
+X1:1:GND
+ 1:WH
+X2:1:GND
+
+
+
+X1:2:VCC
+ 2:BN
+X2:2:VCC
+
+
+
+X1:3:RX
+ 3:GN
+X2:4:TX
+
+
+
+X1:4:TX
+ 4:YE
+X2:3:RX
+
+
+
+
+X1:1:GND
+Shield
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+X2
+
+
+X2
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+GND
+
+2
+
+VCC
+
+3
+
+RX
+
+4
+
+TX
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
diff --git a/tutorial/tutorial03.yml b/tutorial/tutorial03.yml
new file mode 100644
index 0000000..fba6e6d
--- /dev/null
+++ b/tutorial/tutorial03.yml
@@ -0,0 +1,25 @@
+connectors:
+ X1: &template1 # define a template for later use
+ pinlabels: [GND, VCC, RX, TX] # pincount implicit in pinout
+ type: Molex KK 254
+ subtype: female
+ X2:
+ <<: *template1 # reuse template
+
+cables:
+ W1:
+ wirecount: 4
+ length: 1
+ gauge: 0.25 mm2
+ show_equiv: true
+ color_code: DIN # auto-assign colors based on DIN 47100
+ shield: true # add cable shielding
+
+connections:
+ -
+ - X1: [1-4]
+ - W1: [1-4]
+ - X2: [1,2,4,3]
+ - # connect the shielding to a pin
+ - X1: 1
+ - W1: s
diff --git a/tutorial/tutorial04.bom.tsv b/tutorial/tutorial04.bom.tsv
new file mode 100644
index 0000000..e2c3835
--- /dev/null
+++ b/tutorial/tutorial04.bom.tsv
@@ -0,0 +1,4 @@
+Id Description Qty Unit Designators
+1 Cable, 4 x 24 AWG 0.4 m W1, W2
+2 Connector, Molex KK 254, female, 4 pins 2 X2, X3
+3 Connector, Molex KK 254, male, 4 pins 1 X1
diff --git a/tutorial/tutorial04.gv b/tutorial/tutorial04.gv
new file mode 100644
index 0000000..1e5a742
--- /dev/null
+++ b/tutorial/tutorial04.gv
@@ -0,0 +1,340 @@
+graph {
+// Graph generated by WireViz 0.4.1
+// https://github.com/wireviz/WireViz
+ graph [bgcolor="#FFFFFF" fontname=arial nodesep=0.33 rankdir=LR ranksep=2]
+ node [fillcolor="#FFFFFF" fontname=arial height=0 margin=0 shape=none style=filled width=0]
+ edge [fontname=arial style=bold]
+ X1 [label=<
+
+
+
+
+
+
+ Molex KK 254
+ male
+ 4-pin
+
+
+
+
+
+ GND
+ 1
+
+
+ VCC
+ 2
+
+
+ SCL
+ 3
+
+
+ SDA
+ 4
+
+
+
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ X2 [label=<
+
+
+
+
+
+
+ Molex KK 254
+ female
+ 4-pin
+
+
+
+
+
+ 1
+ GND
+ 1
+
+
+ 2
+ VCC
+ 2
+
+
+ 3
+ SCL
+ 3
+
+
+ 4
+ SDA
+ 4
+
+
+
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ X3 [label=<
+
+
+
+
+
+
+ Molex KK 254
+ female
+ 4-pin
+
+
+
+
+
+ 1
+ GND
+
+
+ 2
+ VCC
+
+
+ 3
+ SCL
+
+
+ 4
+ SDA
+
+
+
+
+
+ to temperature sensor
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ edge [color="#000000:#895956:#000000"]
+ X1:p1r:e -- W1:w1:w
+ W1:w1:e -- X2:p1l:w
+ edge [color="#000000:#ff0000:#000000"]
+ X1:p2r:e -- W1:w2:w
+ W1:w2:e -- X2:p2l:w
+ edge [color="#000000:#ff8000:#000000"]
+ X1:p3r:e -- W1:w3:w
+ W1:w3:e -- X2:p3l:w
+ edge [color="#000000:#ffff00:#000000"]
+ X1:p4r:e -- W1:w4:w
+ W1:w4:e -- X2:p4l:w
+ W1 [label=<
+
+
+
+
+
+
+
+
+
+
+
+ X1:1:GND
+
+ 1:BN
+
+ X2:1:GND
+
+
+
+
+
+
+
+ X1:2:VCC
+
+ 2:RD
+
+ X2:2:VCC
+
+
+
+
+
+
+
+ X1:3:SCL
+
+ 3:OG
+
+ X2:3:SCL
+
+
+
+
+
+
+
+ X1:4:SDA
+
+ 4:YE
+
+ X2:4:SDA
+
+
+
+
+
+
+
+
+
+
+
+ This cable is a bit longer
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ edge [color="#000000:#895956:#000000"]
+ X2:p1r:e -- W2:w1:w
+ W2:w1:e -- X3:p1l:w
+ edge [color="#000000:#ff0000:#000000"]
+ X2:p2r:e -- W2:w2:w
+ W2:w2:e -- X3:p2l:w
+ edge [color="#000000:#ff8000:#000000"]
+ X2:p3r:e -- W2:w3:w
+ W2:w3:e -- X3:p3l:w
+ edge [color="#000000:#ffff00:#000000"]
+ X2:p4r:e -- W2:w4:w
+ W2:w4:e -- X3:p4l:w
+ W2 [label=<
+
+
+
+
+
+
+
+
+
+
+
+ X2:1:GND
+
+ 1:BN
+
+ X3:1:GND
+
+
+
+
+
+
+
+ X2:2:VCC
+
+ 2:RD
+
+ X3:2:VCC
+
+
+
+
+
+
+
+ X2:3:SCL
+
+ 3:OG
+
+ X3:3:SCL
+
+
+
+
+
+
+
+ X2:4:SDA
+
+ 4:YE
+
+ X3:4:SDA
+
+
+
+
+
+
+
+
+
+
+
+ This cable is a bit shorter
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+}
diff --git a/tutorial/tutorial04.html b/tutorial/tutorial04.html
new file mode 100644
index 0000000..408bb67
--- /dev/null
+++ b/tutorial/tutorial04.html
@@ -0,0 +1,380 @@
+
+
+
+
+ tutorial04
+
+
+tutorial04
+Diagram
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+X1
+
+
+X1
+
+Molex KK 254
+
+male
+
+4-pin
+
+GND
+
+1
+
+VCC
+
+2
+
+SCL
+
+3
+
+SDA
+
+4
+
+to microcontroller
+
+
+
+W1
+
+
+W1
+
+4x
+
+24 AWG
+
+0.3 m
+
+X1:1:GND
+ 1:BN
+X2:1:GND
+
+
+
+X1:2:VCC
+ 2:RD
+X2:2:VCC
+
+
+
+X1:3:SCL
+ 3:OG
+X2:3:SCL
+
+
+
+X1:4:SDA
+ 4:YE
+X2:4:SDA
+
+
+
+
+
+This cable is a bit longer
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X2
+
+
+X2
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+GND
+
+1
+
+2
+
+VCC
+
+2
+
+3
+
+SCL
+
+3
+
+4
+
+SDA
+
+4
+
+to accelerometer
+
+
+
+W2
+
+
+W2
+
+4x
+
+24 AWG
+
+0.1 m
+
+X2:1:GND
+ 1:BN
+X3:1:GND
+
+
+
+X2:2:VCC
+ 2:RD
+X3:2:VCC
+
+
+
+X2:3:SCL
+ 3:OG
+X3:3:SCL
+
+
+
+X2:4:SDA
+ 4:YE
+X3:4:SDA
+
+
+
+
+
+This cable is a bit shorter
+
+
+
+X2:e--W2:w
+
+
+
+
+
+
+X2:e--W2:w
+
+
+
+
+
+
+X2:e--W2:w
+
+
+
+
+
+
+X2:e--W2:w
+
+
+
+
+
+
+X3
+
+
+X3
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+GND
+
+2
+
+VCC
+
+3
+
+SCL
+
+4
+
+SDA
+
+to temperature sensor
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+
+
+
+
+
+
+
+Bill of Materials
+
+
+
+
+ Id
+ Description
+ Qty
+ Unit
+ Designators
+
+
+ 1
+ Cable, 4 x 24 AWG
+ 0.4
+ m
+ W1, W2
+
+
+ 2
+ Connector, Molex KK 254, female, 4 pins
+ 2
+
+ X2, X3
+
+
+ 3
+ Connector, Molex KK 254, male, 4 pins
+ 1
+
+ X1
+
+
+
+
+
+
diff --git a/tutorial/tutorial04.md b/tutorial/tutorial04.md
new file mode 100644
index 0000000..37cbe79
--- /dev/null
+++ b/tutorial/tutorial04.md
@@ -0,0 +1,7 @@
+## Templates (II), notes, American standards, daisy chaining (I)
+
+* Overriding template parameters
+* Add nodes to connectors and cables
+* American standards: AWG gauge and IEC colors
+* Linear daisy-chain
+ * Convenient for shorter chains
diff --git a/tutorial/tutorial04.png b/tutorial/tutorial04.png
new file mode 100644
index 0000000..6f7975a
Binary files /dev/null and b/tutorial/tutorial04.png differ
diff --git a/tutorial/tutorial04.svg b/tutorial/tutorial04.svg
new file mode 100644
index 0000000..e101c73
--- /dev/null
+++ b/tutorial/tutorial04.svg
@@ -0,0 +1,307 @@
+
+
+
+
+
+
+
+
+
+X1
+
+
+X1
+
+Molex KK 254
+
+male
+
+4-pin
+
+GND
+
+1
+
+VCC
+
+2
+
+SCL
+
+3
+
+SDA
+
+4
+
+to microcontroller
+
+
+
+W1
+
+
+W1
+
+4x
+
+24 AWG
+
+0.3 m
+
+X1:1:GND
+ 1:BN
+X2:1:GND
+
+
+
+X1:2:VCC
+ 2:RD
+X2:2:VCC
+
+
+
+X1:3:SCL
+ 3:OG
+X2:3:SCL
+
+
+
+X1:4:SDA
+ 4:YE
+X2:4:SDA
+
+
+
+
+
+This cable is a bit longer
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X2
+
+
+X2
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+GND
+
+1
+
+2
+
+VCC
+
+2
+
+3
+
+SCL
+
+3
+
+4
+
+SDA
+
+4
+
+to accelerometer
+
+
+
+W2
+
+
+W2
+
+4x
+
+24 AWG
+
+0.1 m
+
+X2:1:GND
+ 1:BN
+X3:1:GND
+
+
+
+X2:2:VCC
+ 2:RD
+X3:2:VCC
+
+
+
+X2:3:SCL
+ 3:OG
+X3:3:SCL
+
+
+
+X2:4:SDA
+ 4:YE
+X3:4:SDA
+
+
+
+
+
+This cable is a bit shorter
+
+
+
+X2:e--W2:w
+
+
+
+
+
+
+X2:e--W2:w
+
+
+
+
+
+
+X2:e--W2:w
+
+
+
+
+
+
+X2:e--W2:w
+
+
+
+
+
+
+X3
+
+
+X3
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+GND
+
+2
+
+VCC
+
+3
+
+SCL
+
+4
+
+SDA
+
+to temperature sensor
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
diff --git a/tutorial/tutorial04.yml b/tutorial/tutorial04.yml
new file mode 100644
index 0000000..0080d1b
--- /dev/null
+++ b/tutorial/tutorial04.yml
@@ -0,0 +1,36 @@
+connectors:
+ X1: &template_con
+ pinlabels: [GND, VCC, SCL, SDA]
+ type: Molex KK 254
+ subtype: male
+ notes: to microcontroller # add notes
+ X2:
+ <<: *template_con # use template
+ subtype: female # but override certain parameters
+ notes: to accelerometer
+ X3:
+ <<: *template_con
+ subtype: female
+ notes: to temperature sensor
+
+cables:
+ W1: &template_cbl
+ wirecount: 4
+ length: 0.3
+ gauge: 24 AWG # specify gauge in AWG directly
+ color_code: IEC # IEC 62 colors also supported
+ notes: This cable is a bit longer
+ W2:
+ <<: *template_cbl
+ length: 0.1
+ notes: This cable is a bit shorter
+
+connections:
+ -
+ - X1: [1-4]
+ - W1: [1-4]
+ - X2: [1-4]
+ - # daisy chain connectors (in line)
+ - X2: [1-4]
+ - W2: [1-4]
+ - X3: [1-4]
diff --git a/tutorial/tutorial05.bom.tsv b/tutorial/tutorial05.bom.tsv
new file mode 100644
index 0000000..607f55b
--- /dev/null
+++ b/tutorial/tutorial05.bom.tsv
@@ -0,0 +1,6 @@
+Id Description Qty Unit Designators
+1 Connector, Crimp ferrule, 0.5 mm², OG 4
+2 Connector, Molex 8981, female, 4 pins 1 X1
+3 Wire, 0.5 mm², BK 0.6 m W1
+4 Wire, 0.5 mm², RD 0.3 m W1
+5 Wire, 0.5 mm², YE 0.3 m W1
diff --git a/tutorial/tutorial05.gv b/tutorial/tutorial05.gv
new file mode 100644
index 0000000..4140a13
--- /dev/null
+++ b/tutorial/tutorial05.gv
@@ -0,0 +1,189 @@
+graph {
+// Graph generated by WireViz 0.4.1
+// https://github.com/wireviz/WireViz
+ graph [bgcolor="#FFFFFF" fontname=arial nodesep=0.33 rankdir=LR ranksep=2]
+ node [fillcolor="#FFFFFF" fontname=arial height=0 margin=0 shape=none style=filled width=0]
+ edge [fontname=arial style=bold]
+ __F1_1 [label=<
+
+
+
+ Crimp ferrule
+ 0.5 mm²
+ OG
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ __F1_2 [label=<
+
+
+
+ Crimp ferrule
+ 0.5 mm²
+ OG
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ __F1_3 [label=<
+
+
+
+ Crimp ferrule
+ 0.5 mm²
+ OG
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ __F1_4 [label=<
+
+
+
+ Crimp ferrule
+ 0.5 mm²
+ OG
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ X1 [label=<
+
+
+
+
+
+
+ Molex 8981
+ female
+ 4-pin
+
+
+
+
+
+ 1
+ +12V
+
+
+ 2
+ GND
+
+
+ 3
+ GND
+
+
+ 4
+ +5V
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ edge [color="#000000:#ffff00:#000000"]
+ __F1_1:e -- W1:w1:w
+ W1:w1:e -- X1:p1l:w
+ edge [color="#000000:#000000:#000000"]
+ __F1_2:e -- W1:w2:w
+ W1:w2:e -- X1:p2l:w
+ edge [color="#000000:#000000:#000000"]
+ __F1_3:e -- W1:w3:w
+ W1:w3:e -- X1:p3l:w
+ edge [color="#000000:#ff0000:#000000"]
+ __F1_4:e -- W1:w4:w
+ W1:w4:e -- X1:p4l:w
+ W1 [label=<
+
+
+
+
+
+
+
+
+
+
+
+
+
+ YE
+
+ X1:1:+12V
+
+
+
+
+
+
+
+
+
+ BK
+
+ X1:2:GND
+
+
+
+
+
+
+
+
+
+ BK
+
+ X1:3:GND
+
+
+
+
+
+
+
+
+
+ RD
+
+ X1:4:+5V
+
+
+
+
+
+
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
+}
diff --git a/tutorial/tutorial05.html b/tutorial/tutorial05.html
new file mode 100644
index 0000000..1555922
--- /dev/null
+++ b/tutorial/tutorial05.html
@@ -0,0 +1,271 @@
+
+
+
+
+ tutorial05
+
+
+tutorial05
+Diagram
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__F1_1
+
+
+Crimp ferrule
+
+0.5 mm²
+
+OG
+
+
+
+
+
+W1
+
+
+W1
+
+4x
+
+0.5 mm²
+
+0.3 m
+
+ YE
+X1:1:+12V
+
+
+
+ BK
+X1:2:GND
+
+
+
+ BK
+X1:3:GND
+
+
+
+ RD
+X1:4:+5V
+
+
+
+
+
+
+
+__F1_1:e--W1:w
+
+
+
+
+
+
+__F1_2
+
+
+Crimp ferrule
+
+0.5 mm²
+
+OG
+
+
+
+
+
+__F1_2:e--W1:w
+
+
+
+
+
+
+__F1_3
+
+
+Crimp ferrule
+
+0.5 mm²
+
+OG
+
+
+
+
+
+__F1_3:e--W1:w
+
+
+
+
+
+
+__F1_4
+
+
+Crimp ferrule
+
+0.5 mm²
+
+OG
+
+
+
+
+
+__F1_4:e--W1:w
+
+
+
+
+
+
+X1
+
+
+X1
+
+Molex 8981
+
+female
+
+4-pin
+
+1
+
++12V
+
+2
+
+GND
+
+3
+
+GND
+
+4
+
++5V
+
+
+
+W1:e--X1:w
+
+
+
+
+
+
+W1:e--X1:w
+
+
+
+
+
+
+W1:e--X1:w
+
+
+
+
+
+
+W1:e--X1:w
+
+
+
+
+
+
+
+
+
+
+
+
+
+Bill of Materials
+
+
+
+
+ Id
+ Description
+ Qty
+ Unit
+ Designators
+
+
+ 1
+ Connector, Crimp ferrule, 0.5 mm², OG
+ 4
+
+
+
+
+ 2
+ Connector, Molex 8981, female, 4 pins
+ 1
+
+ X1
+
+
+ 3
+ Wire, 0.5 mm², BK
+ 0.6
+ m
+ W1
+
+
+ 4
+ Wire, 0.5 mm², RD
+ 0.3
+ m
+ W1
+
+
+ 5
+ Wire, 0.5 mm², YE
+ 0.3
+ m
+ W1
+
+
+
+
+
+
diff --git a/tutorial/tutorial05.md b/tutorial/tutorial05.md
new file mode 100644
index 0000000..2212756
--- /dev/null
+++ b/tutorial/tutorial05.md
@@ -0,0 +1,13 @@
+## Ferrules, wire bundles, custom wire colors
+
+* Ferrules
+ * Simpler than connectors
+ * Compact graphical representation
+ * Only one pin, only one connection, no designator
+ * Define once, auto-generate where needed
+* Wire bundles
+ * Internally treated as cables
+ * Different treatment in BOM: Each wire is listed individually
+ * Represented with dashed outline
+* Custom wire colors
+ * Wirecount can be implicit in color list
diff --git a/tutorial/tutorial05.png b/tutorial/tutorial05.png
new file mode 100644
index 0000000..44e745a
Binary files /dev/null and b/tutorial/tutorial05.png differ
diff --git a/tutorial/tutorial05.svg b/tutorial/tutorial05.svg
new file mode 100644
index 0000000..4f36ca3
--- /dev/null
+++ b/tutorial/tutorial05.svg
@@ -0,0 +1,184 @@
+
+
+
+
+
+
+
+
+
+__F1_1
+
+
+Crimp ferrule
+
+0.5 mm²
+
+OG
+
+
+
+
+
+W1
+
+
+W1
+
+4x
+
+0.5 mm²
+
+0.3 m
+
+ YE
+X1:1:+12V
+
+
+
+ BK
+X1:2:GND
+
+
+
+ BK
+X1:3:GND
+
+
+
+ RD
+X1:4:+5V
+
+
+
+
+
+
+
+__F1_1:e--W1:w
+
+
+
+
+
+
+__F1_2
+
+
+Crimp ferrule
+
+0.5 mm²
+
+OG
+
+
+
+
+
+__F1_2:e--W1:w
+
+
+
+
+
+
+__F1_3
+
+
+Crimp ferrule
+
+0.5 mm²
+
+OG
+
+
+
+
+
+__F1_3:e--W1:w
+
+
+
+
+
+
+__F1_4
+
+
+Crimp ferrule
+
+0.5 mm²
+
+OG
+
+
+
+
+
+__F1_4:e--W1:w
+
+
+
+
+
+
+X1
+
+
+X1
+
+Molex 8981
+
+female
+
+4-pin
+
+1
+
++12V
+
+2
+
+GND
+
+3
+
+GND
+
+4
+
++5V
+
+
+
+W1:e--X1:w
+
+
+
+
+
+
+W1:e--X1:w
+
+
+
+
+
+
+W1:e--X1:w
+
+
+
+
+
+
+W1:e--X1:w
+
+
+
+
+
+
diff --git a/tutorial/tutorial05.yml b/tutorial/tutorial05.yml
new file mode 100644
index 0000000..d4739c5
--- /dev/null
+++ b/tutorial/tutorial05.yml
@@ -0,0 +1,23 @@
+connectors:
+ X1:
+ pinlabels: [+12V, GND, GND, +5V]
+ type: Molex 8981
+ subtype: female
+ F1:
+ style: simple
+ type: Crimp ferrule
+ subtype: 0.5 mm²
+ color: OG # optional color
+
+cables:
+ W1:
+ category: bundle # bundle
+ length: 0.3
+ gauge: 0.5 mm2
+ colors: [YE, BK, BK, RD] # custom colors, wirecount is implicit
+
+connections:
+ -
+ - F1. # a new ferrule is auto-generated for each of the four wires
+ - W1: [1-4]
+ - X1: [1-4]
diff --git a/tutorial/tutorial06.bom.tsv b/tutorial/tutorial06.bom.tsv
new file mode 100644
index 0000000..b86b323
--- /dev/null
+++ b/tutorial/tutorial06.bom.tsv
@@ -0,0 +1,7 @@
+Id Description Qty Unit Designators
+1 Connector, Crimp ferrule, 0.5 mm², OG 2
+2 Connector, Crimp ferrule, 1.0 mm², YE 1
+3 Connector, Molex 8981, female, 4 pins 1 X1
+4 Wire, 0.5 mm², BK 0.6 m W1
+5 Wire, 0.5 mm², RD 0.3 m W1
+6 Wire, 0.5 mm², YE 0.3 m W1
diff --git a/tutorial/tutorial06.gv b/tutorial/tutorial06.gv
new file mode 100644
index 0000000..2976b7d
--- /dev/null
+++ b/tutorial/tutorial06.gv
@@ -0,0 +1,177 @@
+graph {
+// Graph generated by WireViz 0.4.1
+// https://github.com/wireviz/WireViz
+ graph [bgcolor="#FFFFFF" fontname=arial nodesep=0.33 rankdir=LR ranksep=2]
+ node [fillcolor="#FFFFFF" fontname=arial height=0 margin=0 shape=none style=filled width=0]
+ edge [fontname=arial style=bold]
+ __F_05_1 [label=<
+
+
+
+ Crimp ferrule
+ 0.5 mm²
+ OG
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ F1 [label=<
+
+
+
+ Crimp ferrule
+ 1.0 mm²
+ YE
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ __F_05_2 [label=<
+
+
+
+ Crimp ferrule
+ 0.5 mm²
+ OG
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ X1 [label=<
+
+
+
+
+
+
+ Molex 8981
+ female
+ 4-pin
+
+
+
+
+
+ 1
+ +12V
+
+
+ 2
+ GND
+
+
+ 3
+ GND
+
+
+ 4
+ +5V
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ edge [color="#000000:#ffff00:#000000"]
+ __F_05_1:e -- W1:w1:w
+ W1:w1:e -- X1:p1l:w
+ edge [color="#000000:#000000:#000000"]
+ F1:e -- W1:w2:w
+ W1:w2:e -- X1:p2l:w
+ edge [color="#000000:#000000:#000000"]
+ F1:e -- W1:w3:w
+ W1:w3:e -- X1:p3l:w
+ edge [color="#000000:#ff0000:#000000"]
+ __F_05_2:e -- W1:w4:w
+ W1:w4:e -- X1:p4l:w
+ W1 [label=<
+
+
+
+
+
+
+
+
+
+
+
+
+
+ YE
+
+ X1:1:+12V
+
+
+
+
+
+
+
+
+
+ BK
+
+ X1:2:GND
+
+
+
+
+
+
+
+
+
+ BK
+
+ X1:3:GND
+
+
+
+
+
+
+
+
+
+ RD
+
+ X1:4:+5V
+
+
+
+
+
+
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
+}
diff --git a/tutorial/tutorial06.html b/tutorial/tutorial06.html
new file mode 100644
index 0000000..ce969a8
--- /dev/null
+++ b/tutorial/tutorial06.html
@@ -0,0 +1,265 @@
+
+
+
+
+ tutorial06
+
+
+tutorial06
+Diagram
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+__F_05_1
+
+
+Crimp ferrule
+
+0.5 mm²
+
+OG
+
+
+
+
+
+W1
+
+
+W1
+
+4x
+
+0.5 mm²
+
+0.3 m
+
+ YE
+X1:1:+12V
+
+
+
+ BK
+X1:2:GND
+
+
+
+ BK
+X1:3:GND
+
+
+
+ RD
+X1:4:+5V
+
+
+
+
+
+
+
+__F_05_1:e--W1:w
+
+
+
+
+
+
+F1
+
+
+Crimp ferrule
+
+1.0 mm²
+
+YE
+
+
+
+
+
+F1:e--W1:w
+
+
+
+
+
+
+F1:e--W1:w
+
+
+
+
+
+
+__F_05_2
+
+
+Crimp ferrule
+
+0.5 mm²
+
+OG
+
+
+
+
+
+__F_05_2:e--W1:w
+
+
+
+
+
+
+X1
+
+
+X1
+
+Molex 8981
+
+female
+
+4-pin
+
+1
+
++12V
+
+2
+
+GND
+
+3
+
+GND
+
+4
+
++5V
+
+
+
+W1:e--X1:w
+
+
+
+
+
+
+W1:e--X1:w
+
+
+
+
+
+
+W1:e--X1:w
+
+
+
+
+
+
+W1:e--X1:w
+
+
+
+
+
+
+
+
+
+
+
+
+
+Bill of Materials
+
+
+
+
+ Id
+ Description
+ Qty
+ Unit
+ Designators
+
+
+ 1
+ Connector, Crimp ferrule, 0.5 mm², OG
+ 2
+
+
+
+
+ 2
+ Connector, Crimp ferrule, 1.0 mm², YE
+ 1
+
+
+
+
+ 3
+ Connector, Molex 8981, female, 4 pins
+ 1
+
+ X1
+
+
+ 4
+ Wire, 0.5 mm², BK
+ 0.6
+ m
+ W1
+
+
+ 5
+ Wire, 0.5 mm², RD
+ 0.3
+ m
+ W1
+
+
+ 6
+ Wire, 0.5 mm², YE
+ 0.3
+ m
+ W1
+
+
+
+
+
+
diff --git a/tutorial/tutorial06.md b/tutorial/tutorial06.md
new file mode 100644
index 0000000..4e2a679
--- /dev/null
+++ b/tutorial/tutorial06.md
@@ -0,0 +1,5 @@
+## Custom ferrules
+
+* Custom ferrules
+ * Allows attaching more than one wire to a ferrule
+ * Requires defining them as regular connectors with unique designators, adding `category: ferrule` parameter
diff --git a/tutorial/tutorial06.png b/tutorial/tutorial06.png
new file mode 100644
index 0000000..43e00cb
Binary files /dev/null and b/tutorial/tutorial06.png differ
diff --git a/tutorial/tutorial06.svg b/tutorial/tutorial06.svg
new file mode 100644
index 0000000..973fc23
--- /dev/null
+++ b/tutorial/tutorial06.svg
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+
+
+
+__F_05_1
+
+
+Crimp ferrule
+
+0.5 mm²
+
+OG
+
+
+
+
+
+W1
+
+
+W1
+
+4x
+
+0.5 mm²
+
+0.3 m
+
+ YE
+X1:1:+12V
+
+
+
+ BK
+X1:2:GND
+
+
+
+ BK
+X1:3:GND
+
+
+
+ RD
+X1:4:+5V
+
+
+
+
+
+
+
+__F_05_1:e--W1:w
+
+
+
+
+
+
+F1
+
+
+Crimp ferrule
+
+1.0 mm²
+
+YE
+
+
+
+
+
+F1:e--W1:w
+
+
+
+
+
+
+F1:e--W1:w
+
+
+
+
+
+
+__F_05_2
+
+
+Crimp ferrule
+
+0.5 mm²
+
+OG
+
+
+
+
+
+__F_05_2:e--W1:w
+
+
+
+
+
+
+X1
+
+
+X1
+
+Molex 8981
+
+female
+
+4-pin
+
+1
+
++12V
+
+2
+
+GND
+
+3
+
+GND
+
+4
+
++5V
+
+
+
+W1:e--X1:w
+
+
+
+
+
+
+W1:e--X1:w
+
+
+
+
+
+
+W1:e--X1:w
+
+
+
+
+
+
+W1:e--X1:w
+
+
+
+
+
+
diff --git a/tutorial/tutorial06.yml b/tutorial/tutorial06.yml
new file mode 100644
index 0000000..0cd79b6
--- /dev/null
+++ b/tutorial/tutorial06.yml
@@ -0,0 +1,28 @@
+connectors:
+ X1:
+ pinlabels: [+12V, GND, GND, +5V]
+ type: Molex 8981
+ subtype: female
+ F_10: # this is a unique ferrule
+ style: simple
+ type: Crimp ferrule
+ subtype: 1.0 mm²
+ color: YE # optional color
+ F_05: # this is a ferrule that will be auto-generated on demand
+ style: simple
+ type: Crimp ferrule
+ subtype: 0.5 mm²
+ color: OG
+
+cables:
+ W1:
+ category: bundle # bundle
+ length: 0.3
+ gauge: 0.5 mm2
+ colors: [YE, BK, BK, RD] # custom colors, wirecount is implicit
+
+connections:
+ -
+ - [F_05., F_10.F1, F_10.F1, F_05.]
+ - W1: [1-4]
+ - X1: [1-4]
diff --git a/tutorial/tutorial07.bom.tsv b/tutorial/tutorial07.bom.tsv
new file mode 100644
index 0000000..534bad6
--- /dev/null
+++ b/tutorial/tutorial07.bom.tsv
@@ -0,0 +1,6 @@
+Id Description Qty Unit Designators
+1 Connector, Molex KK 254, female, 4 pins 6 X1, X2, X3, X4, X5, X6
+2 Wire, 0.25 mm², PK 1 m W1, W2, W3, W4, W5
+3 Wire, 0.25 mm², TQ 1 m W1, W2, W3, W4, W5
+4 Wire, 0.25 mm², VT 1 m W1, W2, W3, W4, W5
+5 Wire, 0.25 mm², YE 1 m W1, W2, W3, W4, W5
diff --git a/tutorial/tutorial07.gv b/tutorial/tutorial07.gv
new file mode 100644
index 0000000..d2c45b9
--- /dev/null
+++ b/tutorial/tutorial07.gv
@@ -0,0 +1,713 @@
+graph {
+// Graph generated by WireViz 0.4.1
+// https://github.com/wireviz/WireViz
+ graph [bgcolor="#FFFFFF" fontname=arial nodesep=0.33 rankdir=LR ranksep=2]
+ node [fillcolor="#FFFFFF" fontname=arial height=0 margin=0 shape=none style=filled width=0]
+ edge [fontname=arial style=bold]
+ X1 [label=<
+
+
+
+
+
+
+ Molex KK 254
+ female
+ 4-pin
+
+
+
+
+
+ GND
+ 1
+
+
+ VCC
+ 2
+
+
+ SCL
+ 3
+
+
+ SDA
+ 4
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ X2 [label=<
+
+
+
+
+
+
+ Molex KK 254
+ female
+ 4-pin
+
+
+
+
+
+ 1
+ GND
+
+
+ 2
+ VCC
+
+
+ 3
+ SCL
+
+
+ 4
+ SDA
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ X3 [label=<
+
+
+
+
+
+
+ Molex KK 254
+ female
+ 4-pin
+
+
+
+
+
+ GND
+ 1
+
+
+ VCC
+ 2
+
+
+ SCL
+ 3
+
+
+ SDA
+ 4
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ X4 [label=<
+
+
+
+
+
+
+ Molex KK 254
+ female
+ 4-pin
+
+
+
+
+
+ 1
+ GND
+
+
+ 2
+ VCC
+
+
+ 3
+ SCL
+
+
+ 4
+ SDA
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ X5 [label=<
+
+
+
+
+
+
+ Molex KK 254
+ female
+ 4-pin
+
+
+
+
+
+ GND
+ 1
+
+
+ VCC
+ 2
+
+
+ SCL
+ 3
+
+
+ SDA
+ 4
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ X6 [label=<
+
+
+
+
+
+
+ Molex KK 254
+ female
+ 4-pin
+
+
+
+
+
+ 1
+ GND
+
+
+ 2
+ VCC
+
+
+ 3
+ SCL
+
+
+ 4
+ SDA
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ edge [color="#000000:#00ffff:#000000"]
+ X1:p1r:e -- W1:w1:w
+ W1:w1:e -- X2:p1l:w
+ edge [color="#000000:#ff66cc:#000000"]
+ X1:p2r:e -- W1:w2:w
+ W1:w2:e -- X2:p2l:w
+ edge [color="#000000:#ffff00:#000000"]
+ X1:p3r:e -- W1:w3:w
+ W1:w3:e -- X2:p3l:w
+ edge [color="#000000:#8000ff:#000000"]
+ X1:p4r:e -- W1:w4:w
+ W1:w4:e -- X2:p4l:w
+ W1 [label=<
+
+
+
+
+
+
+ 4x
+ 0.25 mm²
+ 0.2 m
+
+
+
+
+
+
+ X1:1:GND
+
+ TQ
+
+ X2:1:GND
+
+
+
+
+
+
+
+ X1:2:VCC
+
+ PK
+
+ X2:2:VCC
+
+
+
+
+
+
+
+ X1:3:SCL
+
+ YE
+
+ X2:3:SCL
+
+
+
+
+
+
+
+ X1:4:SDA
+
+ VT
+
+ X2:4:SDA
+
+
+
+
+
+
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
+ edge [color="#000000:#00ffff:#000000"]
+ X3:p1r:e -- W2:w1:w
+ W2:w1:e -- X2:p1l:w
+ edge [color="#000000:#ff66cc:#000000"]
+ X3:p2r:e -- W2:w2:w
+ W2:w2:e -- X2:p2l:w
+ edge [color="#000000:#ffff00:#000000"]
+ X3:p3r:e -- W2:w3:w
+ W2:w3:e -- X2:p3l:w
+ edge [color="#000000:#8000ff:#000000"]
+ X3:p4r:e -- W2:w4:w
+ W2:w4:e -- X2:p4l:w
+ W2 [label=<
+
+
+
+
+
+
+ 4x
+ 0.25 mm²
+ 0.2 m
+
+
+
+
+
+
+ X3:1:GND
+
+ TQ
+
+ X2:1:GND
+
+
+
+
+
+
+
+ X3:2:VCC
+
+ PK
+
+ X2:2:VCC
+
+
+
+
+
+
+
+ X3:3:SCL
+
+ YE
+
+ X2:3:SCL
+
+
+
+
+
+
+
+ X3:4:SDA
+
+ VT
+
+ X2:4:SDA
+
+
+
+
+
+
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
+ edge [color="#000000:#00ffff:#000000"]
+ X3:p1r:e -- W3:w1:w
+ W3:w1:e -- X4:p1l:w
+ edge [color="#000000:#ff66cc:#000000"]
+ X3:p2r:e -- W3:w2:w
+ W3:w2:e -- X4:p2l:w
+ edge [color="#000000:#ffff00:#000000"]
+ X3:p3r:e -- W3:w3:w
+ W3:w3:e -- X4:p3l:w
+ edge [color="#000000:#8000ff:#000000"]
+ X3:p4r:e -- W3:w4:w
+ W3:w4:e -- X4:p4l:w
+ W3 [label=<
+
+
+
+
+
+
+ 4x
+ 0.25 mm²
+ 0.2 m
+
+
+
+
+
+
+ X3:1:GND
+
+ TQ
+
+ X4:1:GND
+
+
+
+
+
+
+
+ X3:2:VCC
+
+ PK
+
+ X4:2:VCC
+
+
+
+
+
+
+
+ X3:3:SCL
+
+ YE
+
+ X4:3:SCL
+
+
+
+
+
+
+
+ X3:4:SDA
+
+ VT
+
+ X4:4:SDA
+
+
+
+
+
+
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
+ edge [color="#000000:#00ffff:#000000"]
+ X5:p1r:e -- W4:w1:w
+ W4:w1:e -- X4:p1l:w
+ edge [color="#000000:#ff66cc:#000000"]
+ X5:p2r:e -- W4:w2:w
+ W4:w2:e -- X4:p2l:w
+ edge [color="#000000:#ffff00:#000000"]
+ X5:p3r:e -- W4:w3:w
+ W4:w3:e -- X4:p3l:w
+ edge [color="#000000:#8000ff:#000000"]
+ X5:p4r:e -- W4:w4:w
+ W4:w4:e -- X4:p4l:w
+ W4 [label=<
+
+
+
+
+
+
+ 4x
+ 0.25 mm²
+ 0.2 m
+
+
+
+
+
+
+ X5:1:GND
+
+ TQ
+
+ X4:1:GND
+
+
+
+
+
+
+
+ X5:2:VCC
+
+ PK
+
+ X4:2:VCC
+
+
+
+
+
+
+
+ X5:3:SCL
+
+ YE
+
+ X4:3:SCL
+
+
+
+
+
+
+
+ X5:4:SDA
+
+ VT
+
+ X4:4:SDA
+
+
+
+
+
+
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
+ edge [color="#000000:#00ffff:#000000"]
+ X5:p1r:e -- W5:w1:w
+ W5:w1:e -- X6:p1l:w
+ edge [color="#000000:#ff66cc:#000000"]
+ X5:p2r:e -- W5:w2:w
+ W5:w2:e -- X6:p2l:w
+ edge [color="#000000:#ffff00:#000000"]
+ X5:p3r:e -- W5:w3:w
+ W5:w3:e -- X6:p3l:w
+ edge [color="#000000:#8000ff:#000000"]
+ X5:p4r:e -- W5:w4:w
+ W5:w4:e -- X6:p4l:w
+ W5 [label=<
+
+
+
+
+
+
+ 4x
+ 0.25 mm²
+ 0.2 m
+
+
+
+
+
+
+ X5:1:GND
+
+ TQ
+
+ X6:1:GND
+
+
+
+
+
+
+
+ X5:2:VCC
+
+ PK
+
+ X6:2:VCC
+
+
+
+
+
+
+
+ X5:3:SCL
+
+ YE
+
+ X6:3:SCL
+
+
+
+
+
+
+
+ X5:4:SDA
+
+ VT
+
+ X6:4:SDA
+
+
+
+
+
+
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
+}
diff --git a/tutorial/tutorial07.html b/tutorial/tutorial07.html
new file mode 100644
index 0000000..22be913
--- /dev/null
+++ b/tutorial/tutorial07.html
@@ -0,0 +1,748 @@
+
+
+
+
+ tutorial07
+
+
+tutorial07
+Diagram
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+X1
+
+
+X1
+
+Molex KK 254
+
+female
+
+4-pin
+
+GND
+
+1
+
+VCC
+
+2
+
+SCL
+
+3
+
+SDA
+
+4
+
+
+
+W1
+
+
+W1
+
+4x
+
+0.25 mm²
+
+0.2 m
+
+X1:1:GND
+ TQ
+X2:1:GND
+
+
+
+X1:2:VCC
+ PK
+X2:2:VCC
+
+
+
+X1:3:SCL
+ YE
+X2:3:SCL
+
+
+
+X1:4:SDA
+ VT
+X2:4:SDA
+
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X2
+
+
+X2
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+GND
+
+2
+
+VCC
+
+3
+
+SCL
+
+4
+
+SDA
+
+
+
+X3
+
+
+X3
+
+Molex KK 254
+
+female
+
+4-pin
+
+GND
+
+1
+
+VCC
+
+2
+
+SCL
+
+3
+
+SDA
+
+4
+
+
+
+W2
+
+
+W2
+
+4x
+
+0.25 mm²
+
+0.2 m
+
+X3:1:GND
+ TQ
+X2:1:GND
+
+
+
+X3:2:VCC
+ PK
+X2:2:VCC
+
+
+
+X3:3:SCL
+ YE
+X2:3:SCL
+
+
+
+X3:4:SDA
+ VT
+X2:4:SDA
+
+
+
+
+
+
+
+X3:e--W2:w
+
+
+
+
+
+
+X3:e--W2:w
+
+
+
+
+
+
+X3:e--W2:w
+
+
+
+
+
+
+X3:e--W2:w
+
+
+
+
+
+
+W3
+
+
+W3
+
+4x
+
+0.25 mm²
+
+0.2 m
+
+X3:1:GND
+ TQ
+X4:1:GND
+
+
+
+X3:2:VCC
+ PK
+X4:2:VCC
+
+
+
+X3:3:SCL
+ YE
+X4:3:SCL
+
+
+
+X3:4:SDA
+ VT
+X4:4:SDA
+
+
+
+
+
+
+
+X3:e--W3:w
+
+
+
+
+
+
+X3:e--W3:w
+
+
+
+
+
+
+X3:e--W3:w
+
+
+
+
+
+
+X3:e--W3:w
+
+
+
+
+
+
+X4
+
+
+X4
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+GND
+
+2
+
+VCC
+
+3
+
+SCL
+
+4
+
+SDA
+
+
+
+X5
+
+
+X5
+
+Molex KK 254
+
+female
+
+4-pin
+
+GND
+
+1
+
+VCC
+
+2
+
+SCL
+
+3
+
+SDA
+
+4
+
+
+
+W4
+
+
+W4
+
+4x
+
+0.25 mm²
+
+0.2 m
+
+X5:1:GND
+ TQ
+X4:1:GND
+
+
+
+X5:2:VCC
+ PK
+X4:2:VCC
+
+
+
+X5:3:SCL
+ YE
+X4:3:SCL
+
+
+
+X5:4:SDA
+ VT
+X4:4:SDA
+
+
+
+
+
+
+
+X5:e--W4:w
+
+
+
+
+
+
+X5:e--W4:w
+
+
+
+
+
+
+X5:e--W4:w
+
+
+
+
+
+
+X5:e--W4:w
+
+
+
+
+
+
+W5
+
+
+W5
+
+4x
+
+0.25 mm²
+
+0.2 m
+
+X5:1:GND
+ TQ
+X6:1:GND
+
+
+
+X5:2:VCC
+ PK
+X6:2:VCC
+
+
+
+X5:3:SCL
+ YE
+X6:3:SCL
+
+
+
+X5:4:SDA
+ VT
+X6:4:SDA
+
+
+
+
+
+
+
+X5:e--W5:w
+
+
+
+
+
+
+X5:e--W5:w
+
+
+
+
+
+
+X5:e--W5:w
+
+
+
+
+
+
+X5:e--W5:w
+
+
+
+
+
+
+X6
+
+
+X6
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+GND
+
+2
+
+VCC
+
+3
+
+SCL
+
+4
+
+SDA
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W2:e--X2:w
+
+
+
+
+
+
+W2:e--X2:w
+
+
+
+
+
+
+W2:e--X2:w
+
+
+
+
+
+
+W2:e--X2:w
+
+
+
+
+
+
+W3:e--X4:w
+
+
+
+
+
+
+W3:e--X4:w
+
+
+
+
+
+
+W3:e--X4:w
+
+
+
+
+
+
+W3:e--X4:w
+
+
+
+
+
+
+W4:e--X4:w
+
+
+
+
+
+
+W4:e--X4:w
+
+
+
+
+
+
+W4:e--X4:w
+
+
+
+
+
+
+W4:e--X4:w
+
+
+
+
+
+
+W5:e--X6:w
+
+
+
+
+
+
+W5:e--X6:w
+
+
+
+
+
+
+W5:e--X6:w
+
+
+
+
+
+
+W5:e--X6:w
+
+
+
+
+
+
+
+
+
+
+
+
+
+Bill of Materials
+
+
+
+
+ Id
+ Description
+ Qty
+ Unit
+ Designators
+
+
+ 1
+ Connector, Molex KK 254, female, 4 pins
+ 6
+
+ X1, X2, X3, X4, X5, X6
+
+
+ 2
+ Wire, 0.25 mm², PK
+ 1
+ m
+ W1, W2, W3, W4, W5
+
+
+ 3
+ Wire, 0.25 mm², TQ
+ 1
+ m
+ W1, W2, W3, W4, W5
+
+
+ 4
+ Wire, 0.25 mm², VT
+ 1
+ m
+ W1, W2, W3, W4, W5
+
+
+ 5
+ Wire, 0.25 mm², YE
+ 1
+ m
+ W1, W2, W3, W4, W5
+
+
+
+
+
+
diff --git a/tutorial/tutorial07.md b/tutorial/tutorial07.md
new file mode 100644
index 0000000..8b9bfd8
--- /dev/null
+++ b/tutorial/tutorial07.md
@@ -0,0 +1,4 @@
+## Daisy chaining (II)
+
+* Zig-zag daisy chain
+ * Convenient for longer chains
diff --git a/tutorial/tutorial07.png b/tutorial/tutorial07.png
new file mode 100644
index 0000000..c919e02
Binary files /dev/null and b/tutorial/tutorial07.png differ
diff --git a/tutorial/tutorial07.svg b/tutorial/tutorial07.svg
new file mode 100644
index 0000000..a278a87
--- /dev/null
+++ b/tutorial/tutorial07.svg
@@ -0,0 +1,661 @@
+
+
+
+
+
+
+
+
+
+X1
+
+
+X1
+
+Molex KK 254
+
+female
+
+4-pin
+
+GND
+
+1
+
+VCC
+
+2
+
+SCL
+
+3
+
+SDA
+
+4
+
+
+
+W1
+
+
+W1
+
+4x
+
+0.25 mm²
+
+0.2 m
+
+X1:1:GND
+ TQ
+X2:1:GND
+
+
+
+X1:2:VCC
+ PK
+X2:2:VCC
+
+
+
+X1:3:SCL
+ YE
+X2:3:SCL
+
+
+
+X1:4:SDA
+ VT
+X2:4:SDA
+
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X2
+
+
+X2
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+GND
+
+2
+
+VCC
+
+3
+
+SCL
+
+4
+
+SDA
+
+
+
+X3
+
+
+X3
+
+Molex KK 254
+
+female
+
+4-pin
+
+GND
+
+1
+
+VCC
+
+2
+
+SCL
+
+3
+
+SDA
+
+4
+
+
+
+W2
+
+
+W2
+
+4x
+
+0.25 mm²
+
+0.2 m
+
+X3:1:GND
+ TQ
+X2:1:GND
+
+
+
+X3:2:VCC
+ PK
+X2:2:VCC
+
+
+
+X3:3:SCL
+ YE
+X2:3:SCL
+
+
+
+X3:4:SDA
+ VT
+X2:4:SDA
+
+
+
+
+
+
+
+X3:e--W2:w
+
+
+
+
+
+
+X3:e--W2:w
+
+
+
+
+
+
+X3:e--W2:w
+
+
+
+
+
+
+X3:e--W2:w
+
+
+
+
+
+
+W3
+
+
+W3
+
+4x
+
+0.25 mm²
+
+0.2 m
+
+X3:1:GND
+ TQ
+X4:1:GND
+
+
+
+X3:2:VCC
+ PK
+X4:2:VCC
+
+
+
+X3:3:SCL
+ YE
+X4:3:SCL
+
+
+
+X3:4:SDA
+ VT
+X4:4:SDA
+
+
+
+
+
+
+
+X3:e--W3:w
+
+
+
+
+
+
+X3:e--W3:w
+
+
+
+
+
+
+X3:e--W3:w
+
+
+
+
+
+
+X3:e--W3:w
+
+
+
+
+
+
+X4
+
+
+X4
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+GND
+
+2
+
+VCC
+
+3
+
+SCL
+
+4
+
+SDA
+
+
+
+X5
+
+
+X5
+
+Molex KK 254
+
+female
+
+4-pin
+
+GND
+
+1
+
+VCC
+
+2
+
+SCL
+
+3
+
+SDA
+
+4
+
+
+
+W4
+
+
+W4
+
+4x
+
+0.25 mm²
+
+0.2 m
+
+X5:1:GND
+ TQ
+X4:1:GND
+
+
+
+X5:2:VCC
+ PK
+X4:2:VCC
+
+
+
+X5:3:SCL
+ YE
+X4:3:SCL
+
+
+
+X5:4:SDA
+ VT
+X4:4:SDA
+
+
+
+
+
+
+
+X5:e--W4:w
+
+
+
+
+
+
+X5:e--W4:w
+
+
+
+
+
+
+X5:e--W4:w
+
+
+
+
+
+
+X5:e--W4:w
+
+
+
+
+
+
+W5
+
+
+W5
+
+4x
+
+0.25 mm²
+
+0.2 m
+
+X5:1:GND
+ TQ
+X6:1:GND
+
+
+
+X5:2:VCC
+ PK
+X6:2:VCC
+
+
+
+X5:3:SCL
+ YE
+X6:3:SCL
+
+
+
+X5:4:SDA
+ VT
+X6:4:SDA
+
+
+
+
+
+
+
+X5:e--W5:w
+
+
+
+
+
+
+X5:e--W5:w
+
+
+
+
+
+
+X5:e--W5:w
+
+
+
+
+
+
+X5:e--W5:w
+
+
+
+
+
+
+X6
+
+
+X6
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+GND
+
+2
+
+VCC
+
+3
+
+SCL
+
+4
+
+SDA
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W2:e--X2:w
+
+
+
+
+
+
+W2:e--X2:w
+
+
+
+
+
+
+W2:e--X2:w
+
+
+
+
+
+
+W2:e--X2:w
+
+
+
+
+
+
+W3:e--X4:w
+
+
+
+
+
+
+W3:e--X4:w
+
+
+
+
+
+
+W3:e--X4:w
+
+
+
+
+
+
+W3:e--X4:w
+
+
+
+
+
+
+W4:e--X4:w
+
+
+
+
+
+
+W4:e--X4:w
+
+
+
+
+
+
+W4:e--X4:w
+
+
+
+
+
+
+W4:e--X4:w
+
+
+
+
+
+
+W5:e--X6:w
+
+
+
+
+
+
+W5:e--X6:w
+
+
+
+
+
+
+W5:e--X6:w
+
+
+
+
+
+
+W5:e--X6:w
+
+
+
+
+
+
diff --git a/tutorial/tutorial07.yml b/tutorial/tutorial07.yml
new file mode 100644
index 0000000..70778ff
--- /dev/null
+++ b/tutorial/tutorial07.yml
@@ -0,0 +1,52 @@
+connectors:
+ X1: &template_con
+ type: Molex KK 254
+ subtype: female
+ pinlabels: [GND, VCC, SCL, SDA]
+ X2:
+ <<: *template_con
+ X3:
+ <<: *template_con
+ X4:
+ <<: *template_con
+ X5:
+ <<: *template_con
+ X6:
+ <<: *template_con
+
+cables:
+ W1: &template_wire
+ gauge: 0.25 mm2
+ length: 0.2
+ colors: [TQ, PK, YE, VT]
+ category: bundle
+ W2:
+ <<: *template_wire
+ W3:
+ <<: *template_wire
+ W4:
+ <<: *template_wire
+ W5:
+ <<: *template_wire
+
+connections:
+ -
+ - X1: [1-4]
+ - W1: [1-4]
+ - X2: [1-4]
+ -
+ - X3: [1-4]
+ - W2: [1-4]
+ - X2: [1-4]
+ -
+ - X3: [1-4]
+ - W3: [1-4]
+ - X4: [1-4]
+ -
+ - X5: [1-4]
+ - W4: [1-4]
+ - X4: [1-4]
+ -
+ - X5: [1-4]
+ - W5: [1-4]
+ - X6: [1-4]
diff --git a/tutorial/tutorial08.bom.tsv b/tutorial/tutorial08.bom.tsv
new file mode 100644
index 0000000..d425c96
--- /dev/null
+++ b/tutorial/tutorial08.bom.tsv
@@ -0,0 +1,11 @@
+Id Description Qty Unit Designators P/N Manufacturer MPN Supplier SPN
+1 Cable, 4 x 0.25 mm² 1 m W1 CAB1 CablesCo ABC123 Cables R Us 999-888-777
+2 Connector, Molex KK 254, female, 4 pins 2 X1, X3 Molex 22013047 Digimouse 1234
+3 Connector, Molex KK 254, female, 4 pins 1 X2 CON4 Molex 22013047 Digimouse 1234
+4 Crimp, Molex KK 254, 22-30 AWG 12 X1, X2, X3 Molex 08500030
+5 Label, pinout information 2 X2, X3 Label-ID-1 Brady B-499
+6 Sleve, Braided nylon, black, 3mm 1 m W2 SLV-1
+7 Test 3 X1, X2, X3 ABC Molex 45454 Mousikey 9999
+8 Wire, 0.25 mm², BK 2 m W2 WIRE2 WiresCo W1-BK WireShack 1002
+9 Wire, 0.25 mm², RD 1 m W2 WIRE3 WiresCo W1-RD WireShack 1009
+10 Wire, 0.25 mm², YE 1 m W2 WIRE1 WiresCo W1-YE WireShack 1001
diff --git a/tutorial/tutorial08.gv b/tutorial/tutorial08.gv
new file mode 100644
index 0000000..761ccb8
--- /dev/null
+++ b/tutorial/tutorial08.gv
@@ -0,0 +1,408 @@
+graph {
+// Graph generated by WireViz 0.4.1
+// https://github.com/wireviz/WireViz
+ graph [bgcolor="#FFFFFF" fontname=arial nodesep=0.33 rankdir=LR ranksep=2]
+ node [fillcolor="#FFFFFF" fontname=arial height=0 margin=0 shape=none style=filled width=0]
+ edge [fontname=arial style=bold]
+ X1 [label=<
+
+
+
+
+
+
+ Molex: 22013047
+ Digimouse: 1234
+
+
+
+
+ Molex KK 254
+ female
+ 4-pin
+
+
+
+
+
+ 1
+
+
+ 2
+
+
+ 3
+
+
+ 4
+
+
+
+
+
+ Additional components
+
+
+
+
+ 4 x Crimp, Molex KK 254, 22-30 AWG Molex: 08500030
+
+
+
+
+ 1 x Test P/N: ABC, Molex: 45454, Mousikey: 9999
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ X2 [label=<
+
+
+
+
+
+
+ P/N: CON4
+ Molex: 22013047
+ Digimouse: 1234
+
+
+
+
+ Molex KK 254
+ female
+ 4-pin
+
+
+
+
+
+ 1
+
+
+ 2
+
+
+ 3
+
+
+ 4
+
+
+
+
+
+ Additional components
+
+
+
+
+ 4 x Crimp, Molex KK 254, 22-30 AWG Molex: 08500030
+
+
+
+
+ 1 x Test P/N: ABC, Molex: 45454, Mousikey: 9999
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ X3 [label=<
+
+
+
+
+
+
+ Molex: 22013047
+ Digimouse: 1234
+
+
+
+
+ Molex KK 254
+ female
+ 4-pin
+
+
+
+
+
+ 1
+
+
+ 2
+
+
+ 3
+
+
+ 4
+
+
+
+
+
+ Additional components
+
+
+
+
+ 4 x Crimp, Molex KK 254, 22-30 AWG Molex: 08500030
+
+
+
+
+ 1 x Test P/N: ABC, Molex: 45454, Mousikey: 9999
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ edge [color="#000000:#895956:#000000"]
+ X1:p1r:e -- W1:w1:w
+ W1:w1:e -- X2:p1l:w
+ edge [color="#000000:#ff0000:#000000"]
+ X1:p2r:e -- W1:w2:w
+ W1:w2:e -- X2:p2l:w
+ edge [color="#000000:#ff8000:#000000"]
+ X1:p3r:e -- W1:w3:w
+ W1:w3:e -- X2:p3l:w
+ edge [color="#000000:#ffff00:#000000"]
+ X1:p4r:e -- W1:w4:w
+ W1:w4:e -- X2:p4l:w
+ W1 [label=<
+
+
+
+
+
+
+ P/N: CAB1
+ CablesCo: ABC123
+ Cables R Us: 999-888-777
+
+
+
+
+
+
+
+
+
+ X1:1
+
+ 1:BN
+
+ X2:1
+
+
+
+
+
+
+
+ X1:2
+
+ 2:RD
+
+ X2:2
+
+
+
+
+
+
+
+ X1:3
+
+ 3:OG
+
+ X2:3
+
+
+
+
+
+
+
+ X1:4
+
+ 4:YE
+
+ X2:4
+
+
+
+
+
+
+
+
+
+
+> fillcolor="#FFFFFF" shape=box style=filled]
+ edge [color="#000000:#ffff00:#000000"]
+ X1:p1r:e -- W2:w1:w
+ W2:w1:e -- X3:p1l:w
+ edge [color="#000000:#000000:#000000"]
+ X1:p2r:e -- W2:w2:w
+ W2:w2:e -- X3:p2l:w
+ edge [color="#000000:#000000:#000000"]
+ X1:p3r:e -- W2:w3:w
+ W2:w3:e -- X3:p3l:w
+ edge [color="#000000:#ff0000:#000000"]
+ X1:p4r:e -- W2:w4:w
+ W2:w4:e -- X3:p4l:w
+ W2 [label=<
+
+
+
+
+
+
+
+
+
+
+
+ X1:1
+
+ YE
+
+ X3:1
+
+
+
+
+
+
+
+
+ P/N: WIRE1
+ WiresCo: W1-YE
+ WireShack: 1001
+
+
+
+ X1:2
+
+ BK
+
+ X3:2
+
+
+
+
+
+
+
+
+ P/N: WIRE2
+ WiresCo: W1-BK
+ WireShack: 1002
+
+
+
+ X1:3
+
+ BK
+
+ X3:3
+
+
+
+
+
+
+
+
+ P/N: WIRE2
+ WiresCo: W1-BK
+ WireShack: 1002
+
+
+
+ X1:4
+
+ RD
+
+ X3:4
+
+
+
+
+
+
+
+
+ P/N: WIRE3
+ WiresCo: W1-RD
+ WireShack: 1009
+
+
+
+
+
+
+
+ Additional components
+
+
+
+
+ 1 m x Sleve, Braided nylon, black, 3mm P/N: SLV-1
+
+
+
+> fillcolor="#FFFFFF" shape=box style="filled,dashed"]
+}
diff --git a/tutorial/tutorial08.html b/tutorial/tutorial08.html
new file mode 100644
index 0000000..cbdc4fe
--- /dev/null
+++ b/tutorial/tutorial08.html
@@ -0,0 +1,503 @@
+
+
+
+
+ tutorial08
+
+
+tutorial08
+Diagram
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+X1
+
+
+X1
+
+Molex: 22013047
+
+Digimouse: 1234
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+Additional components
+
+4 x Crimp, Molex KK 254, 22-30 AWG
+Molex: 08500030
+
+1 x Test
+P/N: ABC, Molex: 45454, Mousikey: 9999
+
+
+
+W1
+
+
+W1
+
+P/N: CAB1
+
+CablesCo: ABC123
+
+Cables R Us: 999-888-777
+
+4x
+
+0.25 mm²
+
+1 m
+
+X1:1
+ 1:BN
+X2:1
+
+
+
+X1:2
+ 2:RD
+X2:2
+
+
+
+X1:3
+ 3:OG
+X2:3
+
+
+
+X1:4
+ 4:YE
+X2:4
+
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+W2
+
+
+W2
+
+4x
+
+0.25 mm²
+
+1 m
+
+X1:1
+ YE
+X3:1
+
+
+
+P/N: WIRE1
+WiresCo: W1-YE
+WireShack: 1001
+X1:2
+ BK
+X3:2
+
+
+
+P/N: WIRE2
+WiresCo: W1-BK
+WireShack: 1002
+X1:3
+ BK
+X3:3
+
+
+
+P/N: WIRE2
+WiresCo: W1-BK
+WireShack: 1002
+X1:4
+ RD
+X3:4
+
+
+
+P/N: WIRE3
+WiresCo: W1-RD
+WireShack: 1009
+
+
+Additional components
+
+1 m x Sleve, Braided nylon, black, 3mm
+P/N: SLV-1
+
+
+
+X1:e--W2:w
+
+
+
+
+
+
+X1:e--W2:w
+
+
+
+
+
+
+X1:e--W2:w
+
+
+
+
+
+
+X1:e--W2:w
+
+
+
+
+
+
+X2
+
+
+X2
+
+P/N: CON4
+
+Molex: 22013047
+
+Digimouse: 1234
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+Additional components
+
+4 x Crimp, Molex KK 254, 22-30 AWG
+Molex: 08500030
+
+1 x Test
+P/N: ABC, Molex: 45454, Mousikey: 9999
+
+
+
+X3
+
+
+X3
+
+Molex: 22013047
+
+Digimouse: 1234
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+Additional components
+
+4 x Crimp, Molex KK 254, 22-30 AWG
+Molex: 08500030
+
+1 x Test
+P/N: ABC, Molex: 45454, Mousikey: 9999
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+
+
+
+
+
+
+
+Bill of Materials
+
+
+
+
+ Id
+ Description
+ Qty
+ Unit
+ Designators
+ P/N
+ Manufacturer
+ MPN
+ Supplier
+ SPN
+
+
+ 1
+ Cable, 4 x 0.25 mm²
+ 1
+ m
+ W1
+ CAB1
+ CablesCo
+ ABC123
+ Cables R Us
+ 999-888-777
+
+
+ 2
+ Connector, Molex KK 254, female, 4 pins
+ 2
+
+ X1, X3
+
+ Molex
+ 22013047
+ Digimouse
+ 1234
+
+
+ 3
+ Connector, Molex KK 254, female, 4 pins
+ 1
+
+ X2
+ CON4
+ Molex
+ 22013047
+ Digimouse
+ 1234
+
+
+ 4
+ Crimp, Molex KK 254, 22-30 AWG
+ 12
+
+ X1, X2, X3
+
+ Molex
+ 08500030
+
+
+
+
+ 5
+ Label, pinout information
+ 2
+
+ X2, X3
+ Label-ID-1
+ Brady
+ B-499
+
+
+
+
+ 6
+ Sleve, Braided nylon, black, 3mm
+ 1
+ m
+ W2
+ SLV-1
+
+
+
+
+
+
+ 7
+ Test
+ 3
+
+ X1, X2, X3
+ ABC
+ Molex
+ 45454
+ Mousikey
+ 9999
+
+
+ 8
+ Wire, 0.25 mm², BK
+ 2
+ m
+ W2
+ WIRE2
+ WiresCo
+ W1-BK
+ WireShack
+ 1002
+
+
+ 9
+ Wire, 0.25 mm², RD
+ 1
+ m
+ W2
+ WIRE3
+ WiresCo
+ W1-RD
+ WireShack
+ 1009
+
+
+ 10
+ Wire, 0.25 mm², YE
+ 1
+ m
+ W2
+ WIRE1
+ WiresCo
+ W1-YE
+ WireShack
+ 1001
+
+
+
+
+
+
diff --git a/tutorial/tutorial08.md b/tutorial/tutorial08.md
new file mode 100644
index 0000000..87298ab
--- /dev/null
+++ b/tutorial/tutorial08.md
@@ -0,0 +1,7 @@
+## Part numbers and additional components
+
+* Part number information can be added to parts
+ * Only provided fields will be added to the diagram and bom
+* Bundles can have part information specified by wire
+* Additional parts can be added to components or just to the bom
+ * quantities of additional components can be multiplied by features from parent connector or cable
diff --git a/tutorial/tutorial08.png b/tutorial/tutorial08.png
new file mode 100644
index 0000000..8f9d65e
Binary files /dev/null and b/tutorial/tutorial08.png differ
diff --git a/tutorial/tutorial08.svg b/tutorial/tutorial08.svg
new file mode 100644
index 0000000..ad900af
--- /dev/null
+++ b/tutorial/tutorial08.svg
@@ -0,0 +1,326 @@
+
+
+
+
+
+
+
+
+
+X1
+
+
+X1
+
+Molex: 22013047
+
+Digimouse: 1234
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+Additional components
+
+4 x Crimp, Molex KK 254, 22-30 AWG
+Molex: 08500030
+
+1 x Test
+P/N: ABC, Molex: 45454, Mousikey: 9999
+
+
+
+W1
+
+
+W1
+
+P/N: CAB1
+
+CablesCo: ABC123
+
+Cables R Us: 999-888-777
+
+4x
+
+0.25 mm²
+
+1 m
+
+X1:1
+ 1:BN
+X2:1
+
+
+
+X1:2
+ 2:RD
+X2:2
+
+
+
+X1:3
+ 3:OG
+X2:3
+
+
+
+X1:4
+ 4:YE
+X2:4
+
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+W2
+
+
+W2
+
+4x
+
+0.25 mm²
+
+1 m
+
+X1:1
+ YE
+X3:1
+
+
+
+P/N: WIRE1
+WiresCo: W1-YE
+WireShack: 1001
+X1:2
+ BK
+X3:2
+
+
+
+P/N: WIRE2
+WiresCo: W1-BK
+WireShack: 1002
+X1:3
+ BK
+X3:3
+
+
+
+P/N: WIRE2
+WiresCo: W1-BK
+WireShack: 1002
+X1:4
+ RD
+X3:4
+
+
+
+P/N: WIRE3
+WiresCo: W1-RD
+WireShack: 1009
+
+
+Additional components
+
+1 m x Sleve, Braided nylon, black, 3mm
+P/N: SLV-1
+
+
+
+X1:e--W2:w
+
+
+
+
+
+
+X1:e--W2:w
+
+
+
+
+
+
+X1:e--W2:w
+
+
+
+
+
+
+X1:e--W2:w
+
+
+
+
+
+
+X2
+
+
+X2
+
+P/N: CON4
+
+Molex: 22013047
+
+Digimouse: 1234
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+Additional components
+
+4 x Crimp, Molex KK 254, 22-30 AWG
+Molex: 08500030
+
+1 x Test
+P/N: ABC, Molex: 45454, Mousikey: 9999
+
+
+
+X3
+
+
+X3
+
+Molex: 22013047
+
+Digimouse: 1234
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+Additional components
+
+4 x Crimp, Molex KK 254, 22-30 AWG
+Molex: 08500030
+
+1 x Test
+P/N: ABC, Molex: 45454, Mousikey: 9999
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
diff --git a/tutorial/tutorial08.yml b/tutorial/tutorial08.yml
new file mode 100644
index 0000000..ad25a83
--- /dev/null
+++ b/tutorial/tutorial08.yml
@@ -0,0 +1,79 @@
+options:
+ mini_bom_mode: false
+
+connectors:
+ X1: &template1 # define a template for later use
+ type: Molex KK 254
+ pincount: 4
+ subtype: female
+ manufacturer: 'Molex ' # set manufacter name
+ mpn: '22013047 ' # set manufacturer part number
+ supplier: Digimouse
+ spn: 1234
+ # add a list of additional components to a part (shown in graph)
+ additional_components:
+ - type: Crimp # short identifier used in graph
+ subtype: Molex KK 254, 22-30 AWG # extra information added to type in bom
+ qty_multiplier: populated # multipier for quantity (number of populated pins)
+ manufacturer: Molex # set manufacter name
+ mpn: 08500030 # set manufacturer part number
+ - type: Test
+ qty: 1
+ pn: ABC
+ manufacturer: Molex
+ mpn: 45454
+ supplier: Mousikey
+ spn: 9999
+ X2:
+ <<: *template1 # reuse template
+ pn: CON4 # set an internal part number for just this connector
+ X3:
+ <<: *template1 # reuse template
+
+cables:
+ W1:
+ wirecount: 4
+ length: 1
+ gauge: 0.25 mm2
+ color_code: IEC
+ manufacturer: CablesCo
+ mpn: ABC123
+ supplier: Cables R Us
+ spn: 999-888-777
+ pn: CAB1
+ W2:
+ category: bundle
+ length: 1
+ gauge: 0.25 mm2
+ colors: [YE, BK, BK, RD]
+ manufacturer: [WiresCo, WiresCo, WiresCo, WiresCo] # set a manufacter per wire
+ mpn: [W1-YE, W1-BK, W1-BK, W1-RD]
+ supplier: [WireShack, WireShack, WireShack, WireShack]
+ spn: [1001, 1002, 1002, 1009]
+ pn: [WIRE1, WIRE2, WIRE2, WIRE3]
+ # add a list of additional components to a part (shown in graph)
+ additional_components:
+ - type: Sleve # short identifier used in graph
+ subtype: Braided nylon, black, 3mm # extra information added to type in bom
+ qty_multiplier: length # multipier for quantity (length of cable)
+ unit: m
+ pn: SLV-1
+
+connections:
+ - - X1: [1-4]
+ - W1: [1-4]
+ - X2: [1-4]
+ - - X1: [1-4]
+ - W2: [1-4]
+ - X3: [1-4]
+
+additional_bom_items:
+ - # define an additional item to add to the bill of materials (does not appear in graph)
+ description: Label, pinout information
+ qty: 2
+ designators:
+ - X2
+ - X3
+ manufacturer: 'Brady '
+ mpn: 'B-499 '
+ pn: Label-ID-1
diff --git a/tutorial/tutorial09.bom.tsv b/tutorial/tutorial09.bom.tsv
new file mode 100644
index 0000000..07c8c2c
--- /dev/null
+++ b/tutorial/tutorial09.bom.tsv
@@ -0,0 +1,11 @@
+Id Description Qty Unit Designators P/N Manufacturer MPN Supplier SPN
+1 Cable, 4 wires 0 m
+2 Connector, Molex KK 254, female, 4 pins 1 X1 Molex 22013047 Digimouse 1234
+3 Connector, Molex KK 254, male, 4 pins 1 X3 Molex 22013047 Digimouse 1234
+4 Connector, Molex KK 254, male, 4 pins 1 X2 CON4 Molex 22013047 Digimouse 1234
+5 Crimp, Molex KK 254, 22-30 AWG 12 X1, X2, X3 Molex 08500030
+6 Sleve, Braided nylon, black, 3mm 1 m W2 SLV-1
+7 Test 3 X1, X2, X3 ABC Molex 45454 Mousikey 9999
+8 Wire, 0.25 mm², BK 2 m W2 WIRE2 WiresCo W1-BK WireShack 1002
+9 Wire, 0.25 mm², RD 1 m W2 WIRE3 WiresCo W1-RD WireShack 1009
+10 Wire, 0.25 mm², YE 1 m W2 WIRE1 WiresCo W1-YE WireShack 1001
diff --git a/tutorial/tutorial09.html b/tutorial/tutorial09.html
new file mode 100644
index 0000000..ab0842a
--- /dev/null
+++ b/tutorial/tutorial09.html
@@ -0,0 +1,730 @@
+
+
+
+
+
+
+ Power supplies
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+%3
+
+
+
+X1
+
+
+X1
+
+Molex: 22013047
+
+Digimouse: 1234
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+
+
+Additional components
+
+4 x #5 (Crimp)
+
+1 x #7 (Test)
+
+
+
+W1
+
+
+X1:1
+
+X2:1
+
+
+
+X1:2
+
+X2:2
+
+
+
+X1:3
+
+X2:3
+
+
+
+X1:4
+
+X2:4
+
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+W2
+
+
+W2
+
+4x
+
+0.25 mm²
+
+1 m
+
+X1:1
+ YE
+X3:1
+
+
+
+P/N: WIRE1
+WiresCo: W1-YE
+WireShack: 1001
+X1:2
+ BK
+X3:2
+
+
+
+P/N: WIRE2
+WiresCo: W1-BK
+WireShack: 1002
+X1:3
+ BK
+X3:3
+
+
+
+P/N: WIRE2
+WiresCo: W1-BK
+WireShack: 1002
+X1:4
+ RD
+X3:4
+
+
+
+P/N: WIRE3
+WiresCo: W1-RD
+WireShack: 1009
+
+
+Additional components
+
+1 m x #6 (Sleve)
+
+
+
+X1:e--W2:w
+
+
+
+
+
+
+X1:e--W2:w
+
+
+
+
+
+
+X1:e--W2:w
+
+
+
+
+
+
+X1:e--W2:w
+
+
+
+
+
+
+X2
+
+
+X2
+
+P/N: CON4
+
+Molex: 22013047
+
+Digimouse: 1234
+
+Molex KK 254
+
+male
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+
+
+Additional components
+
+4 x #5 (Crimp)
+
+1 x #7 (Test)
+
+
+
+X3
+
+
+X3
+
+Molex: 22013047
+
+Digimouse: 1234
+
+Molex KK 254
+
+male
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+
+
+Additional components
+
+4 x #5 (Crimp)
+
+1 x #7 (Test)
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 10
+ Wire, 0.25 mm², YE
+ 1
+ m
+ W2
+ WIRE1
+ WiresCo
+ W1-YE
+ WireShack
+ 1001
+
+
+ 9
+ Wire, 0.25 mm², RD
+ 1
+ m
+ W2
+ WIRE3
+ WiresCo
+ W1-RD
+ WireShack
+ 1009
+
+
+ 8
+ Wire, 0.25 mm², BK
+ 2
+ m
+ W2
+ WIRE2
+ WiresCo
+ W1-BK
+ WireShack
+ 1002
+
+
+ 7
+ Test
+ 3
+
+ X1, X2, X3
+ ABC
+ Molex
+ 45454
+ Mousikey
+ 9999
+
+
+ 6
+ Sleve, Braided nylon, black, 3mm
+ 1
+ m
+ W2
+ SLV-1
+
+
+
+
+
+
+ 5
+ Crimp, Molex KK 254, 22-30 AWG
+ 12
+
+ X1, X2, X3
+
+ Molex
+ 08500030
+
+
+
+
+ 4
+ Connector, Molex KK 254, male, 4 pins
+ 1
+
+ X2
+ CON4
+ Molex
+ 22013047
+ Digimouse
+ 1234
+
+
+ 3
+ Connector, Molex KK 254, male, 4 pins
+ 1
+
+ X3
+
+ Molex
+ 22013047
+ Digimouse
+ 1234
+
+
+ 2
+ Connector, Molex KK 254, female, 4 pins
+ 1
+
+ X1
+
+ Molex
+ 22013047
+ Digimouse
+ 1234
+
+
+ 1
+ Cable, 4 wires
+ 0
+ m
+
+
+
+
+
+
+
+
+ Id
+ Description
+ Qty
+ Unit
+ Designators
+ P/N
+ Manufacturer
+ MPN
+ Supplier
+ SPN
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Date
+ Name
+ Power supplies
+
+
+
+
+
+
+ Created
+ 2025-03-11
+ Ton
+
+
+
+
+
+
+ Approved
+ 2025-03-11
+ Ton
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PSU
+ Sheet 1
+
+
+
+
+
+
+
+
+ A
+ updates]
+ 2025-03-12
+ Ton
+ of 1
+
+
+ Rev
+ Changelog
+ Date
+ Name
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tutorial/tutorial09.png b/tutorial/tutorial09.png
new file mode 100644
index 0000000..e9636e9
Binary files /dev/null and b/tutorial/tutorial09.png differ
diff --git a/tutorial/tutorial09.svg b/tutorial/tutorial09.svg
new file mode 100644
index 0000000..4ca26f6
--- /dev/null
+++ b/tutorial/tutorial09.svg
@@ -0,0 +1,312 @@
+
+
+
+
+
+
+%3
+
+
+
+X1
+
+
+X1
+
+Molex: 22013047
+
+Digimouse: 1234
+
+Molex KK 254
+
+female
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+
+
+Additional components
+
+4 x #5 (Crimp)
+
+1 x #7 (Test)
+
+
+
+W1
+
+
+X1:1
+
+X2:1
+
+
+
+X1:2
+
+X2:2
+
+
+
+X1:3
+
+X2:3
+
+
+
+X1:4
+
+X2:4
+
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+X1:e--W1:w
+
+
+
+
+
+
+W2
+
+
+W2
+
+4x
+
+0.25 mm²
+
+1 m
+
+X1:1
+ YE
+X3:1
+
+
+
+P/N: WIRE1
+WiresCo: W1-YE
+WireShack: 1001
+X1:2
+ BK
+X3:2
+
+
+
+P/N: WIRE2
+WiresCo: W1-BK
+WireShack: 1002
+X1:3
+ BK
+X3:3
+
+
+
+P/N: WIRE2
+WiresCo: W1-BK
+WireShack: 1002
+X1:4
+ RD
+X3:4
+
+
+
+P/N: WIRE3
+WiresCo: W1-RD
+WireShack: 1009
+
+
+Additional components
+
+1 m x #6 (Sleve)
+
+
+
+X1:e--W2:w
+
+
+
+
+
+
+X1:e--W2:w
+
+
+
+
+
+
+X1:e--W2:w
+
+
+
+
+
+
+X1:e--W2:w
+
+
+
+
+
+
+X2
+
+
+X2
+
+P/N: CON4
+
+Molex: 22013047
+
+Digimouse: 1234
+
+Molex KK 254
+
+male
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+
+
+Additional components
+
+4 x #5 (Crimp)
+
+1 x #7 (Test)
+
+
+
+X3
+
+
+X3
+
+Molex: 22013047
+
+Digimouse: 1234
+
+Molex KK 254
+
+male
+
+4-pin
+
+1
+
+2
+
+3
+
+4
+
+
+
+Additional components
+
+4 x #5 (Crimp)
+
+1 x #7 (Test)
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W1:e--X2:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
+W2:e--X3:w
+
+
+
+
+
+
diff --git a/tutorial/tutorial09.yml b/tutorial/tutorial09.yml
new file mode 100644
index 0000000..4cc0f8d
--- /dev/null
+++ b/tutorial/tutorial09.yml
@@ -0,0 +1,114 @@
+connectors:
+ X1: &template1 # define a template for later use
+ type: Molex KK 254
+ pincount: 4
+ subtype: female
+ manufacturer: 'Molex ' # set manufacter name
+ mpn: '22013047 ' # set manufacturer part number
+ supplier: Digimouse
+ spn: 1234
+ image:
+ src: MolexKK254.jpg
+ # add a list of additional components to a part (shown in graph)
+ additional_components:
+ - type: Crimp # short identifier used in graph
+ subtype: Molex KK 254, 22-30 AWG # extra information added to type in bom
+ qty_multiplier: populated # multipier for quantity (number of populated pins)
+ manufacturer: Molex # set manufacter name
+ mpn: 08500030 # set manufacturer part number
+ - type: Test
+ qty: 1
+ pn: ABC
+ manufacturer: Molex
+ mpn: 45454
+ supplier: Mousikey
+ spn: 9999
+ X2:
+ <<: *template1 # reuse template
+ pn: CON4 # set an internal part number for just this connector
+ subtype: male
+ image:
+ src: MolexKK254MALE.jpg
+
+ X3:
+ <<: *template1 # reuse template
+ subtype: male
+ image:
+ src: MolexKK254MALE.jpg
+cables:
+ W1:
+ wirecount: 4
+ # length: 1
+ # gauge: 0.25 mm2
+ # color_code: IEC
+ # manufacturer: CablesCo
+ # mpn: ABC123
+ # supplier: Cables R Us
+ # spn: 999-888-777
+ # pn: CAB1
+ #############
+ show_name: false
+ show_wirecount: false
+ show_wirenumbers: false
+ #############
+ W2:
+ category: bundle
+ length: 1
+ gauge: 0.25 mm2
+ colors: [YE, BK, BK, RD]
+ manufacturer: [WiresCo, WiresCo, WiresCo, WiresCo] # set a manufacter per wire
+ mpn: [W1-YE, W1-BK, W1-BK, W1-RD]
+ supplier: [WireShack, WireShack, WireShack, WireShack]
+ spn: [1001, 1002, 1002, 1009]
+ pn: [WIRE1, WIRE2, WIRE2, WIRE3]
+ # add a list of additional components to a part (shown in graph)
+ additional_components:
+ - type: Sleve # short identifier used in graph
+ subtype: Braided nylon, black, 3mm # extra information added to type in bom
+ qty_multiplier: length # multipier for quantity (length of cable)
+ unit: m
+ pn: SLV-1
+
+connections:
+ - - X1: [1-4]
+ - W1: [1-4]
+ - X2: [1-4]
+ - - X1: [1-4]
+ - W2: [1-4]
+ - X3: [1-4]
+ #############
+tweak:
+ override:
+ graph:
+ ranksep: "0.5" # Reduce the horizontal spacing (default 2)
+ wireTweak: &wireTweak
+ shape: none # Hide the surrounding frame
+ fontsize: "12" # Reduce the space needed for text
+ fontcolor: white # Same as background to hide the text
+ ## W1 uses the gauge and length field, they can not be suppressed at the moment. There was an issue #221
+ W1:
+ <<: *wireTweak
+ ###############
+
+###### the din template, A4 format
+metadata:
+ title: Power supplies
+ pn: PSU
+
+ authors:
+ Created:
+ name: Ton
+ date: 2025-03-11
+ Approved:
+ name: Ton
+ date: 2025-03-11
+
+ revisions:
+ A:
+ name: Ton
+ date: 2025-03-12
+ changelog: updates]
+
+ template:
+ name: din-6771
+ sheetsize: A4
\ No newline at end of file
diff --git a/tutorial/vscode.md b/tutorial/vscode.md
new file mode 100644
index 0000000..1b24e91
--- /dev/null
+++ b/tutorial/vscode.md
@@ -0,0 +1,24 @@
+## Editing y(a)ml files with VSCode
+
+If you already use vscode as your editor you are in luck. Steffano wrote a very handy how-to setup run-on-save extesion for vscode.
+
+https://www.stefanocottafavi.com/vscode_wireviz/
+
+
+If you want to use the prepend parameter so you can use a parent document (components.yml) with all your components defined you could do the following.
+
+```yaml
+"settings": {
+ "emeraldwalk.runonsave": {
+ "commands": [
+ {
+ "match": "\\.yml$",
+ "cmd": "wireviz --prepend components.yml ${file} -f h"
+ },
+
+ ]
+ }
+}
+```
+
+(the -f h instructs wireviz to only produce a html file. Do a wireviz -h for a overview of all the parameters)
\ No newline at end of file