From cc806d28f9d3d919e76c6765fe388fd43c0e6d47 Mon Sep 17 00:00:00 2001 From: eddyem Date: Sat, 25 Nov 2017 11:28:20 +0300 Subject: [PATCH] Made PCB in KiCAD --- electronics/steppers-Cu.pdf | Bin 0 -> 41408 bytes electronics/steppers.kicad_pcb | 4219 +++++++++++++++++++++++++++++++- electronics/steppers.net | 557 +++-- electronics/steppers.sch | 1383 ++++++----- electronics/steppers.xml | 642 ++--- 5 files changed, 5626 insertions(+), 1175 deletions(-) create mode 100644 electronics/steppers-Cu.pdf diff --git a/electronics/steppers-Cu.pdf b/electronics/steppers-Cu.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5b0a67ffa6321478e292ea81da223350855e2402 GIT binary patch literal 41408 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 /home/eddy/Docs/SAO/Zeiss-1000/Simple_photometer/kicad/steppers.sch - Чт 23 ноя 2017 16:25:13 + Сб 25 ноя 2017 11:27:28 Eeschema 4.0.7 @@ -21,7 +21,7 @@ 47u - Capacitors_Tantalum_SMD.pretty:Tantalum_Case-A_EIA-3216-18_Hand + Capacitors_Tantalum_SMD.pretty:CP_Tantalum_Case-A_EIA-3216-18_Hand 58C454F6 @@ -77,14 +77,14 @@ Boot - Buttons_Switches_THT.pretty:SW_PUSH_6mm + Buttons_Switches_SMD.pretty:SW_SPST_EVQPE1 5909F6B6 Reset - Buttons_Switches_THT.pretty:SW_PUSH_6mm + Buttons_Switches_SMD.pretty:SW_SPST_EVQPE1 590A0134 @@ -117,13 +117,6 @@ 591446F9 - - LM1117-3.3 - TO_SOT_Packages_SMD.pretty:SOT-223 - - - 5A15E172 - Hole my_footprints:Hole_3mm @@ -196,42 +189,35 @@ 470 - Resistors_SMD.pretty:R_0805_HandSoldering + Resistors_SMD.pretty:R_0603_HandSoldering 5A161074 470 - Resistors_SMD.pretty:R_0805_HandSoldering + Resistors_SMD.pretty:R_0603_HandSoldering 5A1618B4 - - Motor1 - Connectors.pretty:IDC_Header_Straight_10pins - - - 5A167373 - 47 - Resistors_SMD.pretty:R_0805_HandSoldering + Resistors_SMD.pretty:R_0603_HandSoldering 5A16B42E 220 - Resistors_SMD.pretty:R_0805_HandSoldering + Resistors_SMD.pretty:R_0603_HandSoldering 5A16D4E0 220 - Resistors_SMD.pretty:R_0805_HandSoldering + Resistors_SMD.pretty:R_0603_HandSoldering 5A16D65B @@ -245,21 +231,21 @@ 47 - Resistors_SMD.pretty:R_0805_HandSoldering + Resistors_SMD.pretty:R_0603_HandSoldering 5A1727D9 220 - Resistors_SMD.pretty:R_0805_HandSoldering + Resistors_SMD.pretty:R_0603_HandSoldering 5A1727E9 220 - Resistors_SMD.pretty:R_0805_HandSoldering + Resistors_SMD.pretty:R_0603_HandSoldering 5A1727F0 @@ -348,13 +334,6 @@ 5A1ABACF - - 10u - Capacitors_SMD.pretty:C_1206_HandSoldering - - - 5A1ABB86 - 1u Capacitors_SMD.pretty:C_0805_HandSoldering @@ -378,28 +357,28 @@ 10k - Resistors_SMD.pretty:R_0805_HandSoldering + Resistors_SMD.pretty:R_0603_HandSoldering 5A1DCD6C 47k - Resistors_SMD.pretty:R_0805_HandSoldering + Resistors_SMD.pretty:R_0603_HandSoldering 5A1DD608 10k - Resistors_SMD.pretty:R_0805_HandSoldering + Resistors_SMD.pretty:R_0603_HandSoldering 5A1E2C7B 10k - Resistors_SMD.pretty:R_0805_HandSoldering + Resistors_SMD.pretty:R_0603_HandSoldering 5A1ED4E8 @@ -418,6 +397,55 @@ 5A1F544E + + 47k + Resistors_SMD.pretty:R_0603_HandSoldering + + + 5A21099C + + + 47k + Resistors_SMD.pretty:R_0603_HandSoldering + + + 5A210ADC + + + 47k + Resistors_SMD.pretty:R_0603_HandSoldering + + + 5A210C56 + + + 47k + Resistors_SMD.pretty:R_0603_HandSoldering + + + 5A210F6A + + + Motor1 + Connectors.pretty:IDC_Header_Straight_10pins + + + 5A167373 + + + LM1117-3.3 + TO_SOT_Packages_SMD.pretty:SOT-223 + + + 5A2588E7 + + + 0 + Resistors_SMD.pretty:R_0805_HandSoldering + + + 5A27F88F + @@ -622,6 +650,7 @@ + @@ -753,327 +782,338 @@ - - /usr/share/kicad/library/conn.lib - /usr/share/kicad/library/device.lib + + /usr/share/kicad/library/regul.lib + /usr/share/kicad/library/ESD_Protection.lib /usr/share/kicad/library/linear.lib - - /usr/share/kicad/library/regul.lib + + /usr/share/kicad/library/switches.lib /usr/share/kicad/library/stm32.lib - - /usr/share/kicad/library/switches.lib + + /usr/share/kicad/library/conn.lib - - - - - - - - - - - - - - - - - - - - - - - + + + - + - + + + + - - - + + + - - + + + + + + + + + + + + + + + + + + - - - + + - - - - - + - - + + + - - - + + + - - - + + - - - - - - - - - - - - - - - + - - - - - - - - - + + + + + - - + + + + + + + + + + + - - - - - - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + + + - - - - + + + + + + + - - - + + + + + + + + + + - - + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +