diff --git a/libtest.png b/libtest.png
index e7dac46..c0b2a8e 100644
Binary files a/libtest.png and b/libtest.png differ
diff --git a/readme.md b/readme.md
index b635939..fd37422 100644
--- a/readme.md
+++ b/readme.md
@@ -1678,6 +1678,7 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
### Vitamins
| Qty | Module call | BOM entry |
| ---:|:--- |:---|
+| 1 | ```pcb(ArduinoLeonardo)``` | Arduino Leonardo |
| 1 | ```pcb(ArduinoUno3)``` | Arduino Uno R3 |
| 1 | | Cat 5 patch cable 300mm |
| 1 | ```d_plug(DCONN15, pcb = true)``` | D-type 15 way PCB mount plug |
@@ -1691,7 +1692,7 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
| 1 | ```molex_254(2)``` | Molex KK header 2 way |
| 1 | ```molex_254(3)``` | Molex KK header 3 way |
| 16 | ```nut(M2_nut, nyloc = true)``` | Nut M2 x 1.6mm nyloc |
-| 16 | ```nut(M2p5_nut, nyloc = true)``` | Nut M2.5 x 2.2mm nyloc |
+| 20 | ```nut(M2p5_nut, nyloc = true)``` | Nut M2.5 x 2.2mm nyloc |
| 12 | ```nut(M3_nut, nyloc = true)``` | Nut M3 x 2.4mm nyloc |
| 12 | ```nut(M4_nut, nyloc = true)``` | Nut M4 x 3.2mm nyloc |
| 1 | ```pcb(PI_IO)``` | PI_IO V2 |
@@ -1703,19 +1704,19 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
| 1 | ```pcb(PERF80x20)``` | Perfboard 80 x 20mm |
| 1 | ```pin_socket(2p54header, 13, 2, right_angle = true)``` | Pin socket 13 x 2 right_angle |
| 1 | ```pcb(RPI3)``` | Raspberry Pi 3 |
-| 12 | ```screw(M2_cap_screw, 20)``` | Screw M2 cap x 20mm |
-| 4 | ```screw(M2_cap_screw, 25)``` | Screw M2 cap x 25mm |
+| 8 | ```screw(M2_cap_screw, 20)``` | Screw M2 cap x 20mm |
+| 8 | ```screw(M2_cap_screw, 25)``` | Screw M2 cap x 25mm |
| 4 | ```screw(M2p5_cap_screw, 16)``` | Screw M2.5 cap x 16mm |
-| 8 | ```screw(M2p5_pan_screw, 20)``` | Screw M2.5 pan x 20mm |
+| 12 | ```screw(M2p5_pan_screw, 20)``` | Screw M2.5 pan x 20mm |
| 4 | ```screw(M2p5_pan_screw, 30)``` | Screw M2.5 pan x 30mm |
-| 8 | ```screw(M3_cap_screw, 25)``` | Screw M3 cap x 25mm |
-| 4 | ```screw(M3_cap_screw, 30)``` | Screw M3 cap x 30mm |
+| 4 | ```screw(M3_cap_screw, 25)``` | Screw M3 cap x 25mm |
+| 8 | ```screw(M3_cap_screw, 30)``` | Screw M3 cap x 30mm |
| 12 | ```screw(M4_cap_screw, 30)``` | Screw M4 cap x 30mm |
| 3 | ```terminal_35(2)``` | Terminal block 2 way 3.5mm |
| 2 | ```green_terminal(gt_2p54, 4)``` | Terminal block 4 way 0.1" |
| 1 | | USB A to Mini B lead |
| 16 | ```washer(M2_washer)``` | Washer M2 x 5mm x 0.3mm |
-| 16 | ```washer(M2p5_washer)``` | Washer M2.5 x 5.9mm x 0.5mm |
+| 20 | ```washer(M2p5_washer)``` | Washer M2.5 x 5.9mm x 0.5mm |
| 12 | ```washer(M3_washer)``` | Washer M3 x 7mm x 0.5mm |
| 12 | ```washer(M4_washer)``` | Washer M4 x 9mm x 0.8mm |
| 1 | ```pcb(ZC_A0591)``` | ZC-A0591 ULN2003 driver PCB |
@@ -1723,20 +1724,21 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o
### Printed
| Qty | Filename |
| ---:|:--- |
-| 4 | pcb_spacer20100.stl |
| 4 | pcb_spacer20110.stl |
| 4 | pcb_spacer20120.stl |
| 4 | pcb_spacer20130.stl |
-| 4 | pcb_spacer25200.stl |
+| 4 | pcb_spacer20140.stl |
+| 4 | pcb_spacer25100_2.stl |
+| 4 | pcb_spacer25210.stl |
| 4 | pcb_spacer2570.stl |
| 4 | pcb_spacer2580_2.stl |
| 4 | pcb_spacer2590_2.stl |
-| 4 | pcb_spacer30140.stl |
| 4 | pcb_spacer30150.stl |
-| 4 | pcb_spacer30190.stl |
-| 4 | pcb_spacer40160.stl |
+| 4 | pcb_spacer30160.stl |
+| 4 | pcb_spacer30200.stl |
| 4 | pcb_spacer40170.stl |
| 4 | pcb_spacer40180.stl |
+| 4 | pcb_spacer40190.stl |
Top
diff --git a/tests/pcbs.scad b/tests/pcbs.scad
index 195a617..72c2ccc 100644
--- a/tests/pcbs.scad
+++ b/tests/pcbs.scad
@@ -23,7 +23,7 @@ include <../vitamins/d_connectors.scad>
include <../vitamins/pcbs.scad>
module pcbs()
- layout([for(p = pcbs) pcb_width(p)], 15)
+ layout([for(p = pcbs) pcb_width(p)], 10)
translate([0, pcb_length(pcbs[$i]) / 2])
rotate(90)
pcb_assembly(pcbs[$i], 5 + $i, 3);
diff --git a/tests/png/pcbs.png b/tests/png/pcbs.png
index 77f5476..57cd9fe 100644
Binary files a/tests/png/pcbs.png and b/tests/png/pcbs.png differ
diff --git a/vitamins/pcbs.scad b/vitamins/pcbs.scad
index deb0a82..512dc2e 100644
--- a/vitamins/pcbs.scad
+++ b/vitamins/pcbs.scad
@@ -237,6 +237,32 @@ ArduinoUno3 = ["ArduinoUno3", "Arduino Uno R3", 68.58, 53.34, 1.6, 0, 3.3, 0, "#
M2p5_pan_screw
];
+ArduinoLeonardo = ["ArduinoLeonardo", "Arduino Leonardo", 68.58, 53.34, 1.6, 0, 3.3, 0, "#2140BE", false, [[15.24, 50.8],[66.04, 35.56],[66.04, 7.62],[13.97, 2.54]],
+ [[30.226, -2.54, 0, "2p54socket", 10, 1],
+ [54.61, -2.54, 0, "2p54socket", 8, 1],
+ [36.83, 2.54, 0, "2p54socket", 8, 1],
+ [57.15, 2.54, 0, "2p54socket", 6, 1],
+ [64.91, 27.89, 0, "2p54header", 2, 3],
+ [ 6.5, -3.5, 0, "button_6mm"],
+ [4.7625, 7.62, 180, "barrel_jack"],
+ [1.5875, 38.1, 180,"usb_uA"],
+ ],
+ [],[],
+ inch([
+ [-1.35, -1.05],
+ [-1.35, 1.05],
+ [ 1.19, 1.05],
+ [ 1.25, 0.99],
+ [ 1.25, 0.54],
+ [ 1.35, 0.44],
+ [ 1.35, -0.85],
+ [ 1.25, -0.95],
+ [ 1.25, -1.05],
+ ]),
+ M2p5_pan_screw
+ ];
+
+
Keyes5p1 = ["Keyes5p1", "Keyes5.1 Arduino Uno expansion board", 68.58, 53.34, 1.6, 0, 3.3, 0, "#2140BE", false, [[15.24, 50.8],[66.04, 35.56],[66.04, 7.62],[13.97, 2.54]],
[[30.226, -2.54, 0, "-2p54header", 10, 1],
[54.61, -2.54, 0, "-2p54header", 8, 1],
@@ -291,6 +317,6 @@ PERF74x51 = ["PERF74x51", "Perfboard 74 x 51mm", 74, 51, 1.0, 0, 3.0, 0, "sienna
PSU12V1A = ["PSU12V1A", "PSU 12V 1A", 67, 31, 1.7, 0, 3.9, 0, "green", true, [[3.5, 3.5], [-3.5, 3.5], [-3.5, -3.5], [3.5, -3.5]], [], []];
-pcbs = [ExtruderPCB, PI_IO, RPI3, ArduinoUno3, Keyes5p1, PERF80x20, PERF70x50, PERF70x30, PERF60x40, PERF74x51, PSU12V1A, DuetE, Duex2, Duex5, Melzi, ZC_A0591];
+pcbs = [ExtruderPCB, PI_IO, RPI3, ArduinoUno3, ArduinoLeonardo, Keyes5p1, PERF80x20, PERF70x50, PERF70x30, PERF60x40, PERF74x51, PSU12V1A, DuetE, Duex2, Duex5, Melzi, ZC_A0591];
use