diff --git a/libtest.png b/libtest.png index d53f465..7481dcb 100644 Binary files a/libtest.png and b/libtest.png differ diff --git a/readme.md b/readme.md index 31e83d7..9da3114 100644 --- a/readme.md +++ b/readme.md @@ -2698,6 +2698,7 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o ### Vitamins | Qty | Module call | BOM entry | | ---:|:--- |:---| +| 1 | `pcb(Feather405)` | Adafruit Feather 405 | | 1 | `pcb(ArduinoLeonardo)` | Arduino Leonardo | | 1 | `pcb(ArduinoNano)` | Arduino Nano | | 1 | `pcb(ArduinoUno3)` | Arduino Uno R3 | @@ -2726,7 +2727,7 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o | 1 | `molex_254(2)` | Molex KK header 2 way - not shown | | 1 | `molex_254(3)` | Molex KK header 3 way - not shown | | 20 | `nut(M2_nut, nyloc = true)` | Nut M2 x 1.6mm nyloc | -| 34 | `nut(M2p5_nut, nyloc = true)` | Nut M2.5 x 2.2mm nyloc | +| 38 | `nut(M2p5_nut, nyloc = true)` | Nut M2.5 x 2.2mm nyloc | | 43 | `nut(M3_nut, nyloc = true)` | Nut M3 x 2.4mm nyloc | | 8 | `nut(M4_nut, nyloc = true)` | Nut M4 x 3.2mm nyloc | | 1 | `pcb(OPZ2)` | Orange Pi Zero 2 | @@ -2750,10 +2751,12 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o | 12 | `screw(M2_cap_screw, 20)` | Screw M2 cap x 20mm | | 2 | `screw(M2p5_cap_screw, 16)` | Screw M2.5 cap x 16mm | | 8 | `screw(M2p5_cap_screw, 25)` | Screw M2.5 cap x 25mm | -| 8 | `screw(M2p5_cap_screw, 30)` | Screw M2.5 cap x 30mm | -| 4 | `screw(M2p5_cap_screw, 35)` | Screw M2.5 cap x 35mm | +| 4 | `screw(M2p5_cap_screw, 30)` | Screw M2.5 cap x 30mm | +| 8 | `screw(M2p5_cap_screw, 35)` | Screw M2.5 cap x 35mm | +| 4 | `screw(M2p5_dome_screw, 20)` | Screw M2.5 dome x 20mm | | 4 | `screw(M2p5_pan_screw, 20)` | Screw M2.5 pan x 20mm | -| 8 | `screw(M2p5_pan_screw, 25)` | Screw M2.5 pan x 25mm | +| 4 | `screw(M2p5_pan_screw, 25)` | Screw M2.5 pan x 25mm | +| 4 | `screw(M2p5_pan_screw, 30)` | Screw M2.5 pan x 30mm | | 17 | `screw(M3_cap_screw, 16)` | Screw M3 cap x 16mm | | 15 | `screw(M3_cap_screw, 20)` | Screw M3 cap x 20mm | | 11 | `screw(M3_cap_screw, 30)` | Screw M3 cap x 30mm | @@ -2766,7 +2769,7 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o | 1 | | USB A to Mini B lead - not shown | | 1 | `pcb(WD2002SJ)` | WD2002SJ Buck Boost DC-DC converter | | 20 | `washer(M2_washer)` | Washer M2 x 5mm x 0.3mm | -| 34 | `washer(M2p5_washer)` | Washer M2.5 x 5.9mm x 0.5mm | +| 38 | `washer(M2p5_washer)` | Washer M2.5 x 5.9mm x 0.5mm | | 43 | `washer(M3_washer)` | Washer M3 x 7mm x 0.5mm | | 8 | `washer(M4_washer)` | Washer M4 x 9mm x 0.8mm | | 1 | `pcb(ZC_A0591)` | ZC-A0591 ULN2003 driver PCB | @@ -2775,22 +2778,23 @@ PCBs and perfboard with optional components. The shape can be a rectangle with o | Qty | Filename | | ---:|:--- | | 4 | pcb_spacer20100.stl | -| 4 | pcb_spacer20110.stl | +| 4 | pcb_spacer20120.stl | | 4 | pcb_spacer2070.stl | | 4 | pcb_spacer2080.stl | | 4 | pcb_spacer2090.stl | -| 4 | pcb_spacer25130.stl | +| 4 | pcb_spacer25110.stl | | 4 | pcb_spacer25140.stl | -| 4 | pcb_spacer25150_2.stl | +| 4 | pcb_spacer25150.stl | | 4 | pcb_spacer25160_2.stl | -| 4 | pcb_spacer25200.stl | +| 4 | pcb_spacer25170_2.stl | | 4 | pcb_spacer25210.stl | | 4 | pcb_spacer25220.stl | +| 4 | pcb_spacer25230.stl | | 2 | pcb_spacer2550.stl | | 4 | pcb_spacer2590.stl | -| 4 | pcb_spacer30170.stl | | 4 | pcb_spacer30180.stl | -| 3 | pcb_spacer30190.stl | +| 4 | pcb_spacer30190.stl | +| 3 | pcb_spacer30200.stl | | 8 | pcb_spacer3050.stl | | 9 | pcb_spacer3060.stl | | 7 | pcb_spacer3070.stl | diff --git a/tests/png/pcbs.png b/tests/png/pcbs.png index a331370..42f4a2e 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 2e8fbb1..427614e 100644 --- a/vitamins/pcbs.scad +++ b/vitamins/pcbs.scad @@ -1040,11 +1040,46 @@ PanelDue_v3 = ["PanelDue_v3", "Panel Due v3.0a LCD Display interface", 53, 73, 1 ], ]; +//================================================ +// Adafruit Feather +// by Chris Lott, chris@thestumbler.io +// Sacheon South Korea, 17 Jul 2023 +//================================================ +// NOTES: +// * mounting holes should be accurate +// * corner radius was just eyeballed +// * pin headers should be accurate +// * battery and qwiik connectore just eyeballed + +Feather405 = let(size = [inch(2.0), inch(0.9)]) + ["Feather405", "Adafruit Feather 405", + size.x, size.y, 1.6, inch(0.10), + inch(0.1), inch(0.175), "green", false, + [[ inch(0.1), inch(0.1) ], // Holes + [ -inch(0.1), inch(0.1) ], + [ -inch(0.1), -inch(0.1) ], + [ inch(0.1), -inch(0.1) ], + ], + [ + [size.x / 2, inch(0.05), 0, "-2p54header", 16, 1], + [inch(1.2), -inch(0.05), 0, "-2p54header", 12, 1], + [inch(1.3), size.y / 2, -90, "smd_qfp", QFP50P1200X1200X160_64N, "STM32F405"], + [ 3, size.y / 2, 180, "usb_C"], + [ 10, -6.5, 180, "jst_ph", 2, true, grey(25) ], + [ -5, 0.40 * size.y, 90, "jst_zh", 4, true, grey(30) ], + ], // components + [], // accessories + [inch(0.65), inch(0.05), 12, 2, gold, inch(0.1), inch(0.8), + inch(0.25), inch(0.05), 4, 1, gold, inch(0.1), 0 ], // grids of holes for the pins + [], // polygon + M2p5_dome_screw, +]; + tiny_pcbs = [XIAO, MP1584EN, TP4056, ESP_01, LIPO_fuel_gauge]; big_pcbs = [BTT_RELAY_V1_2, BTT_SKR_MINI_E3_V2_0, BTT_SKR_E3_TURBO, BTT_SKR_V1_4_TURBO, DuetE, Duex5]; -pcbs = [RAMPSEndstop, MT3608, KY_040, L9110S, ZC_A0591, ArduinoNano, RPI_Pico, ESP32_DOIT_V1, RPI0, EnviroPlus, ArduinoUno3, ArduinoLeonardo, WD2002SJ, OPZ2, PanelDue_v3, RPI3A, RPI3, RPI4]; +pcbs = [RAMPSEndstop, MT3608, KY_040, L9110S, ZC_A0591, ArduinoNano, Feather405, RPI_Pico, ESP32_DOIT_V1, RPI0, EnviroPlus, ArduinoUno3, ArduinoLeonardo, WD2002SJ, OPZ2, PanelDue_v3, RPI3A, RPI3, RPI4]; pcbs_not_shown = [Melzi, Duex2, PSU12V1A, Keyes5p1, PI_IO, ExtruderPCB];