From 86506bfa746836712b226f0134ef14d7499f8e64 Mon Sep 17 00:00:00 2001 From: nedko Date: Thu, 19 Jun 2025 17:12:54 +0300 Subject: [PATCH] Added top PCB --- pcb/.gitignore | 31 ++++ pcb/Gerbers/dye-sub-top-Edge_Cuts.gbr | 42 +++++ pcb/Gerbers/dye-sub-top-NPTH.drl | 44 +++++ pcb/Gerbers/dye-sub-top-PTH.drl | 12 ++ pcb/dye-sub-top.kicad_pcb | 179 ++++++++++++++++++++ pcb/dye-sub-top.kicad_pro | 229 ++++++++++++++++++++++++++ pcb/dye-sub-top.kicad_sch | 5 + 7 files changed, 542 insertions(+) create mode 100644 pcb/.gitignore create mode 100644 pcb/Gerbers/dye-sub-top-Edge_Cuts.gbr create mode 100644 pcb/Gerbers/dye-sub-top-NPTH.drl create mode 100644 pcb/Gerbers/dye-sub-top-PTH.drl create mode 100644 pcb/dye-sub-top.kicad_pcb create mode 100644 pcb/dye-sub-top.kicad_pro create mode 100644 pcb/dye-sub-top.kicad_sch diff --git a/pcb/.gitignore b/pcb/.gitignore new file mode 100644 index 0000000..59fde34 --- /dev/null +++ b/pcb/.gitignore @@ -0,0 +1,31 @@ +# For PCBs designed using KiCad: https://www.kicad.org/ +# Format documentation: https://kicad.org/help/file-formats/ + +# Temporary files +*.000 +*.bak +*.bck +*.kicad_pcb-bak +*.kicad_sch-bak +*-backups +*.kicad_prl +*.sch-bak +*~ +_autosave-* +*.tmp +*-save.pro +*-save.kicad_pcb +fp-info-cache +~*.lck +\#auto_saved_files# + +# Netlist files (exported from Eeschema) +*.net + +# Autorouter files (exported from Pcbnew) +*.dsn +*.ses + +# Exported BOM files +*.xml +*.csv diff --git a/pcb/Gerbers/dye-sub-top-Edge_Cuts.gbr b/pcb/Gerbers/dye-sub-top-Edge_Cuts.gbr new file mode 100644 index 0000000..76c46cd --- /dev/null +++ b/pcb/Gerbers/dye-sub-top-Edge_Cuts.gbr @@ -0,0 +1,42 @@ +%TF.GenerationSoftware,KiCad,Pcbnew,7.0.11-7.0.11~ubuntu22.04.1*% +%TF.CreationDate,2025-06-19T16:31:21+03:00*% +%TF.ProjectId,dye-sub-top,6479652d-7375-4622-9d74-6f702e6b6963,rev?*% +%TF.SameCoordinates,PXe4e1c0PYe4e1c0*% +%TF.FileFunction,Profile,NP*% +%FSLAX46Y46*% +G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* +G04 Created by KiCad (PCBNEW 7.0.11-7.0.11~ubuntu22.04.1) date 2025-06-19 16:31:21* +%MOMM*% +%LPD*% +G01* +G04 APERTURE LIST* +%TA.AperFunction,Profile*% +%ADD10C,0.050000*% +%TD*% +G04 APERTURE END LIST* +D10* +X0Y-33000000D02* +X0Y-23000000D01* +X13000000Y-33000000D02* +X0Y-33000000D01* +X13000000Y-56000000D02* +X13000000Y-33000000D01* +X69000000Y-56000000D02* +X13000000Y-56000000D01* +X69000000Y-33000000D02* +X69000000Y-56000000D01* +X82000000Y-33000000D02* +X69000000Y-33000000D01* +X82000000Y-23000000D02* +X82000000Y-33000000D01* +X69000000Y-23000000D02* +X82000000Y-23000000D01* +X69000000Y0D02* +X69000000Y-23000000D01* +X13000000Y0D02* +X69000000Y0D01* +X13000000Y-23000000D02* +X13000000Y0D01* +X0Y-23000000D02* +X13000000Y-23000000D01* +M02* diff --git a/pcb/Gerbers/dye-sub-top-NPTH.drl b/pcb/Gerbers/dye-sub-top-NPTH.drl new file mode 100644 index 0000000..f2c0bdf --- /dev/null +++ b/pcb/Gerbers/dye-sub-top-NPTH.drl @@ -0,0 +1,44 @@ +M48 +; DRILL file {KiCad 7.0.11-7.0.11~ubuntu22.04.1} date 19.06.2025 (чт) 16:31:32 +; FORMAT={3:3/ absolute / metric / suppress leading zeros} +; #@! TF.CreationDate,2025-06-19T16:31:32+03:00 +; #@! TF.GenerationSoftware,Kicad,Pcbnew,7.0.11-7.0.11~ubuntu22.04.1 +; #@! TF.FileFunction,NonPlated,1,2,NPTH +FMAT,2 +METRIC,TZ +; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill +T1C1.200 +; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill +T2C2.500 +; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill +T3C3.200 +% +G90 +G05 +T2 +X41000Y-28000 +T3 +X5000Y-28000 +X77000Y-28000 +T1 +G00X38150Y-26500 +M15 +G01X38150Y-29500 +M16 +G05 +G00X39500Y-25150 +M15 +G01X42500Y-25150 +M16 +G05 +G00X39500Y-30850 +M15 +G01X42500Y-30850 +M16 +G05 +G00X43850Y-26500 +M15 +G01X43850Y-29500 +M16 +G05 +M30 diff --git a/pcb/Gerbers/dye-sub-top-PTH.drl b/pcb/Gerbers/dye-sub-top-PTH.drl new file mode 100644 index 0000000..1d7f7c0 --- /dev/null +++ b/pcb/Gerbers/dye-sub-top-PTH.drl @@ -0,0 +1,12 @@ +M48 +; DRILL file {KiCad 7.0.11-7.0.11~ubuntu22.04.1} date 19.06.2025 (чт) 16:31:32 +; FORMAT={3:3/ absolute / metric / suppress leading zeros} +; #@! TF.CreationDate,2025-06-19T16:31:32+03:00 +; #@! TF.GenerationSoftware,Kicad,Pcbnew,7.0.11-7.0.11~ubuntu22.04.1 +; #@! TF.FileFunction,Plated,1,2,PTH +FMAT,2 +METRIC,TZ +% +G90 +G05 +M30 diff --git a/pcb/dye-sub-top.kicad_pcb b/pcb/dye-sub-top.kicad_pcb new file mode 100644 index 0000000..6f06f30 --- /dev/null +++ b/pcb/dye-sub-top.kicad_pcb @@ -0,0 +1,179 @@ +(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) + (aux_axis_origin 15 15) + (pcbplotparams + (layerselection 0x0001000_7ffffffe) + (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 4) + (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 0) + (scaleselection 1) + (outputdirectory "") + ) + ) + + (net 0 "") + + (footprint "ZZ_Custom_Footprints:DyeSub_MBK" (layer "F.Cu") + (tstamp 01214560-0edd-4447-ba64-8942c22d153e) + (at 56 43) + (attr through_hole) + (fp_text reference "REF**" (at 0 -4.5 unlocked) (layer "F.SilkS") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp b2e57f57-b2b6-41cd-b8c7-0d7706b7be30) + ) + (fp_text value "DyeSub_MBK" (at 0 6 unlocked) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp f329af28-34b6-45b9-a915-44d59bfd1d9e) + ) + (fp_text user "${REFERENCE}" (at 0 4.5 unlocked) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 531a3eeb-5856-4f68-a6f3-8081897a1c5a) + ) + (pad "" np_thru_hole oval (at -2.85 0) (size 1.2 4.2) (drill oval 1.2 4.2) (layers "F&B.Cu" "*.Mask") (tstamp 1cf0a493-b5fc-4329-bc45-9769b72895bb)) + (pad "" np_thru_hole oval (at 0 -2.85) (size 4.2 1.2) (drill oval 4.2 1.2) (layers "F&B.Cu" "*.Mask") (tstamp 91bf98e8-e9b6-4506-9cc9-57415a19955b)) + (pad "" np_thru_hole circle (at 0 0) (size 2.5 2.5) (drill 2.5) (layers "F&B.Cu" "*.Mask") (tstamp 798ec405-a6a9-403c-8ffa-fb75c5f50f9f)) + (pad "" np_thru_hole oval (at 0 2.85) (size 4.2 1.2) (drill oval 4.2 1.2) (layers "F&B.Cu" "*.Mask") (tstamp 5d74ebd2-18df-4ecc-b0aa-0f7152f4471c)) + (pad "" np_thru_hole oval (at 2.85 0) (size 1.2 4.2) (drill oval 1.2 4.2) (layers "F&B.Cu" "*.Mask") (tstamp 63375250-30f0-4709-925c-a8884cc78ef8)) + ) + + (footprint "MountingHole:MountingHole_3.2mm_M3" (layer "F.Cu") + (tstamp 365b7fce-29a2-45a4-ba1f-97e91c473a0e) + (at 20 43) + (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 0 -4.2) (layer "F.SilkS") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 25c8a329-4598-432c-85f6-99cf67e37652) + ) + (fp_text value "MountingHole_3.2mm_M3" (at 0 4.2) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp f4568af2-cab3-472b-a445-2b8e19cbaee4) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 8bffc218-af03-496f-b666-e362cfbddde3) + ) + (fp_circle (center 0 0) (end 3.2 0) + (stroke (width 0.15) (type solid)) (fill none) (layer "Cmts.User") (tstamp f7e139c9-0127-4515-b88d-01c737a58df8)) + (fp_circle (center 0 0) (end 3.45 0) + (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd") (tstamp d69d4d17-e11d-4ce7-a16c-bd0f8263a016)) + (pad "" np_thru_hole circle (at 0 0) (size 3.2 3.2) (drill 3.2) (layers "*.Cu" "*.Mask") (tstamp 7b83b332-fc73-4c6f-8b94-d1950907596a)) + ) + + (footprint "MountingHole:MountingHole_3.2mm_M3" (layer "F.Cu") + (tstamp de72486f-7e4c-406f-a3db-869160d29bf7) + (at 92 43) + (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 0 -4.2) (layer "F.SilkS") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 25c8a329-4598-432c-85f6-99cf67e37652) + ) + (fp_text value "MountingHole_3.2mm_M3" (at 0 4.2) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp f4568af2-cab3-472b-a445-2b8e19cbaee4) + ) + (fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 8bffc218-af03-496f-b666-e362cfbddde3) + ) + (fp_circle (center 0 0) (end 3.2 0) + (stroke (width 0.15) (type solid)) (fill none) (layer "Cmts.User") (tstamp f7e139c9-0127-4515-b88d-01c737a58df8)) + (fp_circle (center 0 0) (end 3.45 0) + (stroke (width 0.05) (type solid)) (fill none) (layer "F.CrtYd") (tstamp d69d4d17-e11d-4ce7-a16c-bd0f8263a016)) + (pad "" np_thru_hole circle (at 0 0) (size 3.2 3.2) (drill 3.2) (layers "F&B.Cu" "*.Mask") (tstamp 7b83b332-fc73-4c6f-8b94-d1950907596a)) + ) + + (gr_line (start 97 38) (end 97 48) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp 07c23461-b2c0-4511-a420-27d712eaf9a9)) + (gr_line (start 84 15) (end 84 38) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp 36744913-15c5-46d4-94ab-6e9686579fe4)) + (gr_line (start 28 15) (end 84 15) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp 4bb7eeed-71b4-479c-81ad-74b0ffe7ad5e)) + (gr_line (start 15 48) (end 15 38) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp 5129a1d6-2ba8-4b5f-a3d8-6fed6f793f30)) + (gr_line (start 28 48) (end 15 48) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp 68a40474-380c-4ed3-b891-02f77c7213cd)) + (gr_line (start 28 38) (end 28 15) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp 705b7ba2-d54c-401f-a7f0-07e0468cab4f)) + (gr_line (start 28 71) (end 28 48) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp 73856bf5-dde0-43f7-bc6c-ecd24a9d30e6)) + (gr_line (start 84 38) (end 97 38) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp 770f0ea2-370a-4387-af9c-d1665878add9)) + (gr_line (start 97 48) (end 84 48) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp 7ad754fa-288e-4279-b952-45c629d35308)) + (gr_line (start 84 48) (end 84 71) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp dad22d80-6722-4205-b427-4f9737dcbc4f)) + (gr_line (start 15 38) (end 28 38) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp ddea0eeb-bd3c-4034-be52-5fea8a86d1bd)) + (gr_line (start 84 71) (end 28 71) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp e4a290a4-1561-4461-a80d-9fb64dd04360)) + +) diff --git a/pcb/dye-sub-top.kicad_pro b/pcb/dye-sub-top.kicad_pro new file mode 100644 index 0000000..e62ecce --- /dev/null +++ b/pcb/dye-sub-top.kicad_pro @@ -0,0 +1,229 @@ +{ + "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": 0.762, + "height": 1.524, + "width": 1.524 + }, + "silk_line_width": 0.09999999999999999, + "silk_text_italic": false, + "silk_text_size_h": 1.0, + "silk_text_size_v": 1.0, + "silk_text_thickness": 0.09999999999999999, + "silk_text_upright": false, + "zones": { + "min_clearance": 0.5 + } + }, + "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": "ignore", + "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": "warning", + "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": { + "max_error": 0.005, + "min_clearance": 0.0, + "min_connection": 0.0, + "min_copper_edge_clearance": 0.5, + "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.0, + "min_via_annular_width": 0.09999999999999999, + "min_via_diameter": 0.5, + "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 + }, + "layer_presets": [], + "viewports": [] + }, + "boards": [], + "cvpcb": { + "equivalence_files": [] + }, + "libraries": { + "pinned_footprint_libs": [], + "pinned_symbol_libs": [] + }, + "meta": { + "filename": "dye-sub-top.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.2, + "via_diameter": 0.6, + "via_drill": 0.3, + "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/pcb/dye-sub-top.kicad_sch b/pcb/dye-sub-top.kicad_sch new file mode 100644 index 0000000..2e2aa2f --- /dev/null +++ b/pcb/dye-sub-top.kicad_sch @@ -0,0 +1,5 @@ +(kicad_sch (version 20230121) (generator eeschema) + (paper "A4") + (lib_symbols) + (symbol_instances) +)