From cbd87b04d07d8b300f64210b9ab32cfeddf20e87 Mon Sep 17 00:00:00 2001 From: Mike Naberezny Date: Wed, 28 Jun 2023 08:36:35 -0700 Subject: [PATCH] Split KiCad projects into subdirectories --- README.md | 2 +- firmware/README.md | 2 +- hardware/README.md | 6 +- .../drill_template_erdn40.kicad_pcb | 145 +++++++++++ .../drill_template_erdn40.kicad_pro | 233 ++++++++++++++++++ .../drill_template_panel.kicad_pcb | 0 .../drill_template_panel.kicad_pro | 0 hardware/{ => redundant12v}/gerbers.zip | Bin .../kicad/redundant12v/redundant12v.kicad_pcb | 0 .../kicad/redundant12v/redundant12v.kicad_pro | 0 .../kicad/redundant12v/redundant12v.kicad_sch | 0 .../{ => redundant12v}/photos/box-large.jpg | Bin .../{ => redundant12v}/photos/box-small.jpg | Bin .../{ => redundant12v}/photos/pcb-large.jpg | Bin .../{ => redundant12v}/photos/pcb-small.jpg | Bin .../photos/supply-large.jpg | Bin .../photos/supply-small.jpg | Bin hardware/{ => redundant12v}/photos/updi.jpg | Bin hardware/{ => redundant12v}/schematic.pdf | Bin 19 files changed, 383 insertions(+), 5 deletions(-) create mode 100644 hardware/drill_template_erdn40/drill_template_erdn40.kicad_pcb create mode 100644 hardware/drill_template_erdn40/drill_template_erdn40.kicad_pro rename hardware/{kicad/redundant12v => drill_template_panel}/drill_template_panel.kicad_pcb (100%) rename hardware/{kicad/redundant12v => drill_template_panel}/drill_template_panel.kicad_pro (100%) rename hardware/{ => redundant12v}/gerbers.zip (100%) rename hardware/{ => redundant12v}/kicad/redundant12v/redundant12v.kicad_pcb (100%) rename hardware/{ => redundant12v}/kicad/redundant12v/redundant12v.kicad_pro (100%) rename hardware/{ => redundant12v}/kicad/redundant12v/redundant12v.kicad_sch (100%) rename hardware/{ => redundant12v}/photos/box-large.jpg (100%) rename hardware/{ => redundant12v}/photos/box-small.jpg (100%) rename hardware/{ => redundant12v}/photos/pcb-large.jpg (100%) rename hardware/{ => redundant12v}/photos/pcb-small.jpg (100%) rename hardware/{ => redundant12v}/photos/supply-large.jpg (100%) rename hardware/{ => redundant12v}/photos/supply-small.jpg (100%) rename hardware/{ => redundant12v}/photos/updi.jpg (100%) rename hardware/{ => redundant12v}/schematic.pdf (100%) diff --git a/README.md b/README.md index 4f7ce5b..0c993ed 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Rackmount Redundant 12V Power Supply -[![Photo](./hardware/photos/supply-small.jpg)](./hardware/photos/supply-large.jpg) +[![Photo](./hardware/redundant12v/photos/supply-small.jpg)](./hardware/redundant12v/photos/supply-large.jpg) This is a redundant, but not hot-swappable, 12VDC power supply. It has these features: diff --git a/firmware/README.md b/firmware/README.md index 643784b..d1c6027 100644 --- a/firmware/README.md +++ b/firmware/README.md @@ -40,7 +40,7 @@ Flashing requires: Run `make program` to flash the MCU. This will completely program a blank part so that it is ready to use. -The [Adafruit SWD Breakout Board](https://www.adafruit.com/product/2743) can be used to connect the Atmel-ICE to the test points on the bottom of the PCB. The ribbon cable plugs into the "AVR" port on the Atmel-ICE. The connections from the breakout board to the test points are: GNDd → GND, KEY → VTG, NC → UPDI. See this [photo of the connections](../hardware/photos/updi.jpg). +The [Adafruit SWD Breakout Board](https://www.adafruit.com/product/2743) can be used to connect the Atmel-ICE to the test points on the bottom of the PCB. The ribbon cable plugs into the "AVR" port on the Atmel-ICE. The connections from the breakout board to the test points are: GNDd → GND, KEY → VTG, NC → UPDI. See this [photo of the connections](../hardware/redundant12v/photos/updi.jpg). ## Test diff --git a/hardware/README.md b/hardware/README.md index b2210d5..c900952 100644 --- a/hardware/README.md +++ b/hardware/README.md @@ -4,8 +4,8 @@ The redundant power supply is mostly wired by hand but a printed circuit board w ## Photos -[![Photo](./photos/supply-small.jpg)](./photos/supply-large.jpg) +[![Photo](./redundant12v/supply-small.jpg)](./redundant12v/supply-large.jpg) -[![Photo](./photos/box-small.jpg)](./photos/box-large.jpg) +[![Photo](./redundant12v/box-small.jpg)](./redundant12v/box-large.jpg) -[![Photo](./photos/pcb-small.jpg)](./photos/pcb-large.jpg) +[![Photo](./redundant12v/pcb-small.jpg)](./redundant12v/pcb-large.jpg) diff --git a/hardware/drill_template_erdn40/drill_template_erdn40.kicad_pcb b/hardware/drill_template_erdn40/drill_template_erdn40.kicad_pcb new file mode 100644 index 0000000..ccf1806 --- /dev/null +++ b/hardware/drill_template_erdn40/drill_template_erdn40.kicad_pcb @@ -0,0 +1,145 @@ +(kicad_pcb (version 20221018) (generator pcbnew) + + (general + (thickness 1.6) + ) + + (paper "A4") + (layers + (0 "F.Cu" signal) + (31 "B.Cu" signal) + (32 "B.Adhes" user "B.Adhesive") + (33 "F.Adhes" user "F.Adhesive") + (34 "B.Paste" user) + (35 "F.Paste" user) + (36 "B.SilkS" user "B.Silkscreen") + (37 "F.SilkS" user "F.Silkscreen") + (38 "B.Mask" user) + (39 "F.Mask" user) + (40 "Dwgs.User" user "User.Drawings") + (41 "Cmts.User" user "User.Comments") + (42 "Eco1.User" user "User.Eco1") + (43 "Eco2.User" user "User.Eco2") + (44 "Edge.Cuts" user) + (45 "Margin" user) + (46 "B.CrtYd" user "B.Courtyard") + (47 "F.CrtYd" user "F.Courtyard") + (48 "B.Fab" user) + (49 "F.Fab" user) + (50 "User.1" user) + (51 "User.2" user) + (52 "User.3" user) + (53 "User.4" user) + (54 "User.5" user) + (55 "User.6" user) + (56 "User.7" user) + (57 "User.8" user) + (58 "User.9" user) + ) + + (setup + (pad_to_mask_clearance 0) + (pcbplotparams + (layerselection 0x00010fc_ffffffff) + (plot_on_all_layers_selection 0x0000000_00000000) + (disableapertmacros false) + (usegerberextensions false) + (usegerberattributes true) + (usegerberadvancedattributes true) + (creategerberjobfile true) + (dashed_line_dash_ratio 12.000000) + (dashed_line_gap_ratio 3.000000) + (svgprecision 6) + (plotframeref false) + (viasonmask false) + (mode 1) + (useauxorigin false) + (hpglpennumber 1) + (hpglpenspeed 20) + (hpglpendiameter 15.000000) + (dxfpolygonmode true) + (dxfimperialunits true) + (dxfusepcbnewfont true) + (psnegative false) + (psa4output false) + (plotreference true) + (plotvalue true) + (plotinvisibletext false) + (sketchpadsonfab false) + (subtractmaskfromsilk false) + (outputformat 1) + (mirror false) + (drillshape 1) + (scaleselection 1) + (outputdirectory "") + ) + ) + + (net 0 "") + + (footprint "MountingHole:MountingHole_3.2mm_M3" (layer "F.Cu") + (tstamp 0458ad5f-5a53-4ae1-a733-7217be09b87f) + (at 51.5 23.5) + (descr "Mounting Hole 3.2mm, no annular, M3") + (tags "mounting hole 3.2mm no annular m3") + (attr exclude_from_pos_files exclude_from_bom) + (fp_text reference "REF**" (at 6.35 0) (layer "F.SilkS") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp b17c8022-8c62-4ab4-b603-ce9ae2846f21) + ) + (fp_text value "MountingHole_3.2mm_M3" (at 0 4.2) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp b1ac4eb4-fc6e-4289-8964-0396ae518a2f) + ) + (fp_text user "${REFERENCE}" (at 0 2.54) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 8a8fff02-fd85-46d7-974d-c499d13bfad1) + ) + (fp_circle (center 0 0) (end 3.2 0) + (stroke (width 0.15) (type solid)) (fill none) (layer "Cmts.User") (tstamp ce2dd865-8a78-4ba6-86d4-107907752413)) + (fp_circle (center 0 0) (end 3.45 0) + (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd") (tstamp ff835042-7ca5-486a-a37a-901368bb6eff)) + (pad "" np_thru_hole circle (at 0 0) (size 3.2 3.2) (drill 3.2) (layers "F&B.Cu" "*.Mask") (tstamp d59e2370-5432-4729-a1c5-aac67b68a43e)) + ) + + (footprint "MountingHole:MountingHole_3.2mm_M3" (layer "F.Cu") + (tstamp 1757f1ea-3094-41eb-b6d1-b98f29b32559) + (at 51.5 78.5) + (descr "Mounting Hole 3.2mm, no annular, M3") + (tags "mounting hole 3.2mm no annular m3") + (attr exclude_from_pos_files exclude_from_bom) + (fp_text reference "REF**" (at 6.35 0) (layer "F.SilkS") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 89826b52-cacb-4f79-b7d5-8f2cef1f599d) + ) + (fp_text value "MountingHole_3.2mm_M3" (at 0 4.2) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp d2bb8e00-f4af-4846-875a-e08a7d0c55d5) + ) + (fp_text user "${REFERENCE}" (at 0 2.54) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp e74f0e52-cb17-47ea-b785-69d5231dd20b) + ) + (fp_circle (center 0 0) (end 3.2 0) + (stroke (width 0.15) (type solid)) (fill none) (layer "Cmts.User") (tstamp c86b4048-e9d2-4253-a299-063efe8410d0)) + (fp_circle (center 0 0) (end 3.45 0) + (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd") (tstamp 60184f96-6e19-4728-819e-c7ed29912c65)) + (pad "" np_thru_hole circle (at 0 0) (size 3.2 3.2) (drill 3.2) (layers "F&B.Cu" "*.Mask") (tstamp 9eb2c779-4f25-4514-8fe4-d5d18cee96af)) + ) + + (gr_rect (start 0 0) (end 97 99) + (stroke (width 0.05) (type solid)) (fill none) (layer "Edge.Cuts") (tstamp 18959545-6086-4429-89b4-d4a04d554af0)) + (gr_text "REAR PORTS HERE" (at 50.8 93.98) (layer "F.SilkS") (tstamp 37252b49-69c9-4acd-8ee2-59a39cd1ab4e) + (effects (font (size 3 3) (thickness 0.15))) + ) + (gr_text "THIS SIDE UP" (at 53.34 55.88) (layer "F.SilkS") (tstamp 556f934b-7932-4297-9639-90f245f30690) + (effects (font (size 3 3) (thickness 0.15))) + ) + (gr_text "↑ FRONT ↑" (at 48.26 5.08) (layer "F.SilkS") (tstamp 69a5fae0-0e99-46d3-bfa2-fe8d5597512b) + (effects (font (size 3 3) (thickness 0.15))) + ) + (gr_text "MEANWELL ERDN-40" (at 53.34 48.26) (layer "F.SilkS") (tstamp 99bdbdca-a9a2-43b9-be92-ecfd5b093473) + (effects (font (size 3 3) (thickness 0.15))) + ) + +) diff --git a/hardware/drill_template_erdn40/drill_template_erdn40.kicad_pro b/hardware/drill_template_erdn40/drill_template_erdn40.kicad_pro new file mode 100644 index 0000000..98b9737 --- /dev/null +++ b/hardware/drill_template_erdn40/drill_template_erdn40.kicad_pro @@ -0,0 +1,233 @@ +{ + "board": { + "3dviewports": [], + "design_settings": { + "defaults": { + "board_outline_line_width": 0.049999999999999996, + "copper_line_width": 0.19999999999999998, + "copper_text_italic": false, + "copper_text_size_h": 1.5, + "copper_text_size_v": 1.5, + "copper_text_thickness": 0.3, + "copper_text_upright": false, + "courtyard_line_width": 0.049999999999999996, + "dimension_precision": 4, + "dimension_units": 3, + "dimensions": { + "arrow_length": 1270000, + "extension_offset": 500000, + "keep_text_aligned": true, + "suppress_zeroes": false, + "text_position": 0, + "units_format": 1 + }, + "fab_line_width": 0.09999999999999999, + "fab_text_italic": false, + "fab_text_size_h": 1.0, + "fab_text_size_v": 1.0, + "fab_text_thickness": 0.15, + "fab_text_upright": false, + "other_line_width": 0.09999999999999999, + "other_text_italic": false, + "other_text_size_h": 1.0, + "other_text_size_v": 1.0, + "other_text_thickness": 0.15, + "other_text_upright": false, + "pads": { + "drill": 3.2, + "height": 3.2, + "width": 3.2 + }, + "silk_line_width": 0.12, + "silk_text_italic": false, + "silk_text_size_h": 1.0, + "silk_text_size_v": 1.0, + "silk_text_thickness": 0.15, + "silk_text_upright": false, + "zones": { + "45_degree_only": false, + "min_clearance": 0.508 + } + }, + "diff_pair_dimensions": [], + "drc_exclusions": [], + "meta": { + "version": 2 + }, + "rule_severities": { + "annular_width": "error", + "clearance": "error", + "connection_width": "warning", + "copper_edge_clearance": "error", + "copper_sliver": "warning", + "courtyards_overlap": "error", + "diff_pair_gap_out_of_range": "error", + "diff_pair_uncoupled_length_too_long": "error", + "drill_out_of_range": "error", + "duplicate_footprints": "warning", + "extra_footprint": "warning", + "footprint": "error", + "footprint_type_mismatch": "error", + "hole_clearance": "error", + "hole_near_hole": "error", + "invalid_outline": "error", + "isolated_copper": "warning", + "item_on_disabled_layer": "error", + "items_not_allowed": "error", + "length_out_of_range": "error", + "lib_footprint_issues": "warning", + "lib_footprint_mismatch": "warning", + "malformed_courtyard": "error", + "microvia_drill_out_of_range": "error", + "missing_courtyard": "ignore", + "missing_footprint": "warning", + "net_conflict": "warning", + "npth_inside_courtyard": "ignore", + "padstack": "error", + "pth_inside_courtyard": "ignore", + "shorting_items": "error", + "silk_edge_clearance": "warning", + "silk_over_copper": "warning", + "silk_overlap": "warning", + "skew_out_of_range": "error", + "solder_mask_bridge": "error", + "starved_thermal": "error", + "text_height": "warning", + "text_thickness": "warning", + "through_hole_pad_without_hole": "error", + "too_many_vias": "error", + "track_dangling": "warning", + "track_width": "error", + "tracks_crossing": "error", + "unconnected_items": "error", + "unresolved_variable": "error", + "via_dangling": "warning", + "zones_intersect": "error" + }, + "rules": { + "allow_blind_buried_vias": false, + "allow_microvias": false, + "max_error": 0.005, + "min_clearance": 0.0, + "min_connection": 0.0, + "min_copper_edge_clearance": 0.01, + "min_hole_clearance": 0.25, + "min_hole_to_hole": 0.25, + "min_microvia_diameter": 0.19999999999999998, + "min_microvia_drill": 0.09999999999999999, + "min_resolved_spokes": 2, + "min_silk_clearance": 0.0, + "min_text_height": 0.7999999999999999, + "min_text_thickness": 0.08, + "min_through_hole_diameter": 0.3, + "min_track_width": 0.19999999999999998, + "min_via_annular_width": 0.049999999999999996, + "min_via_diameter": 0.39999999999999997, + "solder_mask_to_copper_clearance": 0.0, + "use_height_for_length_calcs": true + }, + "teardrop_options": [ + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 5, + "td_on_pad_in_zone": false, + "td_onpadsmd": true, + "td_onroundshapesonly": false, + "td_ontrackend": false, + "td_onviapad": true + } + ], + "teardrop_parameters": [ + { + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_target_name": "td_round_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_target_name": "td_rect_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_target_name": "td_track_end", + "td_width_to_size_filter_ratio": 0.9 + } + ], + "track_widths": [], + "via_dimensions": [], + "zones_allow_external_fillets": false, + "zones_use_no_outline": true + }, + "layer_presets": [], + "viewports": [] + }, + "boards": [], + "cvpcb": { + "equivalence_files": [] + }, + "libraries": { + "pinned_footprint_libs": [], + "pinned_symbol_libs": [] + }, + "meta": { + "filename": "drill_template_erdn40.kicad_pro", + "version": 1 + }, + "net_settings": { + "classes": [ + { + "bus_width": 12, + "clearance": 0.2, + "diff_pair_gap": 0.25, + "diff_pair_via_gap": 0.25, + "diff_pair_width": 0.2, + "line_style": 0, + "microvia_diameter": 0.3, + "microvia_drill": 0.1, + "name": "Default", + "pcb_color": "rgba(0, 0, 0, 0.000)", + "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 0.25, + "via_diameter": 0.8, + "via_drill": 0.4, + "wire_width": 6 + } + ], + "meta": { + "version": 3 + }, + "net_colors": null, + "netclass_assignments": null, + "netclass_patterns": [] + }, + "pcbnew": { + "last_paths": { + "gencad": "", + "idf": "", + "netlist": "", + "specctra_dsn": "", + "step": "", + "vrml": "" + }, + "page_layout_descr_file": "" + }, + "schematic": { + "legacy_lib_dir": "", + "legacy_lib_list": [] + }, + "sheets": [], + "text_variables": {} +} diff --git a/hardware/kicad/redundant12v/drill_template_panel.kicad_pcb b/hardware/drill_template_panel/drill_template_panel.kicad_pcb similarity index 100% rename from hardware/kicad/redundant12v/drill_template_panel.kicad_pcb rename to hardware/drill_template_panel/drill_template_panel.kicad_pcb diff --git a/hardware/kicad/redundant12v/drill_template_panel.kicad_pro b/hardware/drill_template_panel/drill_template_panel.kicad_pro similarity index 100% rename from hardware/kicad/redundant12v/drill_template_panel.kicad_pro rename to hardware/drill_template_panel/drill_template_panel.kicad_pro diff --git a/hardware/gerbers.zip b/hardware/redundant12v/gerbers.zip similarity index 100% rename from hardware/gerbers.zip rename to hardware/redundant12v/gerbers.zip diff --git a/hardware/kicad/redundant12v/redundant12v.kicad_pcb b/hardware/redundant12v/kicad/redundant12v/redundant12v.kicad_pcb similarity index 100% rename from hardware/kicad/redundant12v/redundant12v.kicad_pcb rename to hardware/redundant12v/kicad/redundant12v/redundant12v.kicad_pcb diff --git a/hardware/kicad/redundant12v/redundant12v.kicad_pro b/hardware/redundant12v/kicad/redundant12v/redundant12v.kicad_pro similarity index 100% rename from hardware/kicad/redundant12v/redundant12v.kicad_pro rename to hardware/redundant12v/kicad/redundant12v/redundant12v.kicad_pro diff --git a/hardware/kicad/redundant12v/redundant12v.kicad_sch b/hardware/redundant12v/kicad/redundant12v/redundant12v.kicad_sch similarity index 100% rename from hardware/kicad/redundant12v/redundant12v.kicad_sch rename to hardware/redundant12v/kicad/redundant12v/redundant12v.kicad_sch diff --git a/hardware/photos/box-large.jpg b/hardware/redundant12v/photos/box-large.jpg similarity index 100% rename from hardware/photos/box-large.jpg rename to hardware/redundant12v/photos/box-large.jpg diff --git a/hardware/photos/box-small.jpg b/hardware/redundant12v/photos/box-small.jpg similarity index 100% rename from hardware/photos/box-small.jpg rename to hardware/redundant12v/photos/box-small.jpg diff --git a/hardware/photos/pcb-large.jpg b/hardware/redundant12v/photos/pcb-large.jpg similarity index 100% rename from hardware/photos/pcb-large.jpg rename to hardware/redundant12v/photos/pcb-large.jpg diff --git a/hardware/photos/pcb-small.jpg b/hardware/redundant12v/photos/pcb-small.jpg similarity index 100% rename from hardware/photos/pcb-small.jpg rename to hardware/redundant12v/photos/pcb-small.jpg diff --git a/hardware/photos/supply-large.jpg b/hardware/redundant12v/photos/supply-large.jpg similarity index 100% rename from hardware/photos/supply-large.jpg rename to hardware/redundant12v/photos/supply-large.jpg diff --git a/hardware/photos/supply-small.jpg b/hardware/redundant12v/photos/supply-small.jpg similarity index 100% rename from hardware/photos/supply-small.jpg rename to hardware/redundant12v/photos/supply-small.jpg diff --git a/hardware/photos/updi.jpg b/hardware/redundant12v/photos/updi.jpg similarity index 100% rename from hardware/photos/updi.jpg rename to hardware/redundant12v/photos/updi.jpg diff --git a/hardware/schematic.pdf b/hardware/redundant12v/schematic.pdf similarity index 100% rename from hardware/schematic.pdf rename to hardware/redundant12v/schematic.pdf