Added prototype board files, and zigbee bdb reset button

master
noah metz 2024-02-19 12:16:19 -07:00
parent 3540e86992
commit 7f854d4bf4
44 changed files with 106974 additions and 21 deletions

@ -18,6 +18,11 @@
};
buttons {
reset_button: reset-button {
gpios = <&gpio1 6 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "Zigbee Reset Button";
};
sw_0: sw0 {
gpios = <&gpio1 10 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
label = "Switch 1 Input";

@ -0,0 +1 @@
/Users/noah/Code/jamie/kicad/_autosave-jamie.kicad_sch

BIN
kicad/.DS_Store vendored

Binary file not shown.

File diff suppressed because it is too large Load Diff

@ -0,0 +1,4 @@
(fp_lib_table
(version 7)
(lib (name "jamie")(type "KiCad")(uri "${KIPRJMOD}/jamie.pretty")(options "")(descr ""))
)

@ -0,0 +1,2 @@
(kicad_symbol_lib (version 20220914) (generator kicad_symbol_editor)
)

File diff suppressed because it is too large Load Diff

@ -0,0 +1,77 @@
{
"board": {
"active_layer": 35,
"active_layer_preset": "All Layers",
"auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"pads": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": false,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36,
39,
40
],
"visible_layers": "fffffff_ffffffff",
"zone_display_mode": 0
},
"meta": {
"filename": "jamie.kicad_prl",
"version": 3
},
"project": {
"files": []
}
}

@ -0,0 +1,512 @@
{
"board": {
"3dviewports": [],
"design_settings": {
"defaults": {
"board_outline_line_width": 0.09999999999999999,
"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.15,
"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": 1.3,
"height": 2.6,
"width": 2.6
},
"silk_line_width": 0.15,
"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": {
"min_clearance": 0.5
}
},
"diff_pair_dimensions": [
{
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
}
],
"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.0,
"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_clearance": 0.0,
"solder_mask_min_width": 0.0,
"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": [
0.0
],
"via_dimensions": [
{
"diameter": 0.0,
"drill": 0.0
}
],
"zones_allow_external_fillets": false
},
"layer_presets": [],
"viewports": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"conflicting_netclasses": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"endpoint_off_grid": "warning",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"missing_bidi_pin": "warning",
"missing_input_pin": "warning",
"missing_power_pin": "error",
"missing_unit": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"similar_labels": "warning",
"simulation_model_issue": "ignore",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "jamie.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
},
{
"bus_width": 12,
"clearance": 0.4,
"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": "AC",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.8,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6
}
],
"meta": {
"version": 3
},
"net_colors": null,
"netclass_assignments": null,
"netclass_patterns": [
{
"netclass": "AC",
"pattern": "/AC.*"
}
]
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"drawing": {
"dashed_lines_dash_length_ratio": 12.0,
"dashed_lines_gap_length_ratio": 3.0,
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.375,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.15
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "",
"page_layout_descr_file": "",
"plot_directory": "",
"spice_current_sheet_as_root": false,
"spice_external_command": "spice \"%I\"",
"spice_model_current_sheet_as_root": true,
"spice_save_all_currents": false,
"spice_save_all_voltages": false,
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"ac9a4cf4-8a57-4fb3-9ef7-ac23ce3d4120",
""
]
],
"text_variables": {}
}

File diff suppressed because it is too large Load Diff

@ -0,0 +1,145 @@
(kicad_symbol_lib (version 20220914) (generator kicad_symbol_editor)
(symbol "HP01S0300WI" (in_bom yes) (on_board yes)
(property "Reference" "U" (at -8.89 8.89 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "HP01S0300WI" (at 2.54 8.89 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Zettler:HP01S0300WI" (at 0 -8.89 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "https://www.zettlermagnetics.com/pdfs/HP01SXX00WI.pdf" (at 0 -12.7 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_keywords" "zettler isolated isolation ac-dc converter" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_description" "AC to 3v3 Power Convertor" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_fp_filters" "Converter*DCDC*Murata*CRE1xxxxxxDC*" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "HP01S0300WI_0_1"
(rectangle (start -10.16 7.62) (end 10.16 -7.62)
(stroke (width 0.254) (type default))
(fill (type background))
)
(polyline
(pts
(xy -0.635 -5.334)
(xy -0.635 -6.604)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.635 -2.794)
(xy -0.635 -4.064)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.635 -0.254)
(xy -0.635 -1.524)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.635 2.286)
(xy -0.635 1.016)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.635 4.826)
(xy -0.635 3.556)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.635 7.366)
(xy -0.635 6.096)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0.635 -7.366)
(xy 0.635 -6.096)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0.635 -4.826)
(xy 0.635 -3.556)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0.635 -2.286)
(xy 0.635 -1.016)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0.635 0.254)
(xy 0.635 1.524)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0.635 2.794)
(xy 0.635 4.064)
)
(stroke (width 0) (type default))
(fill (type none))
)
(polyline
(pts
(xy 0.635 5.334)
(xy 0.635 6.604)
)
(stroke (width 0) (type default))
(fill (type none))
)
)
(symbol "HP01S0300WI_1_1"
(pin power_in line (at -12.7 -5.08 0) (length 2.54)
(name "AC/L" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin power_in line (at -12.7 5.08 0) (length 2.54)
(name "AC/N" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin power_out line (at 12.7 5.08 180) (length 2.54)
(name "-V" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin power_out line (at 12.7 -5.08 180) (length 2.54)
(name "+V" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
)
)
)

@ -0,0 +1,22 @@
(footprint "HP01S0300WI" (version 20221018) (generator pcbnew)
(layer "F.Cu")
(attr through_hole)
(fp_text reference "REF**" (at 0 -15.2 unlocked) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.1)))
(tstamp 816e6186-a764-4adf-9554-f3566cc88b6c)
)
(fp_text value "HP01S0300WI" (at 0 7.6 unlocked) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp d8008e51-d4b1-4bd8-ac4d-d038e61710d4)
)
(fp_text user "${REFERENCE}" (at 0 15.2 unlocked) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 8768f3b0-0f49-4a0e-894b-7ceec22cc80e)
)
(fp_rect (start -17.25 -11.5) (end 17.25 11.5)
(stroke (width 0.1) (type solid)) (fill none) (layer "F.SilkS") (tstamp a5a40ff7-210f-455f-98d1-25fd22db12f1))
(pad "1" thru_hole circle (at -14 7.6) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") (tstamp c27b1456-5223-458c-9949-8f5e5cde8e47))
(pad "2" thru_hole circle (at -14 -7.6) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") (tstamp fee71fb3-e365-4ad1-abcf-7a1d9bd786ed))
(pad "3" thru_hole circle (at 14 -7.6) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") (tstamp e8dfab12-00b3-4e4b-ae97-3c35ba247fa6))
(pad "4" thru_hole circle (at 14 0) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") (tstamp 2a650487-8e74-44df-83ee-95ed0cfc09d6))
)

@ -0,0 +1,96 @@
(footprint "MODULE_NRF52840-DONGLE" (version 20221018) (generator pcbnew)
(layer "F.Cu")
(attr through_hole)
(fp_text reference "REF**" (at -19.685 -9.525) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp d61aab04-ab46-47e2-8818-0f64ebb896a1)
)
(fp_text value "MODULE_NRF52840-DONGLE" (at -8.89 9.525) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 3322f13a-37be-4ae3-a3cb-f6b22c6449c1)
)
(fp_line (start -23.02 -7.62) (end -23.02 7.62)
(stroke (width 0.127) (type solid)) (layer "F.SilkS") (tstamp f1c5dcca-6494-4e06-8853-cbf6c2d1e506))
(fp_line (start -23.02 7.62) (end -18.65 7.62)
(stroke (width 0.127) (type solid)) (layer "F.SilkS") (tstamp ddfaefde-a223-4343-89da-6f647dcfef44))
(fp_line (start -18.65 -7.62) (end -23.02 -7.62)
(stroke (width 0.127) (type solid)) (layer "F.SilkS") (tstamp 36a42f6f-551a-4d96-a445-a1a003fa8955))
(fp_line (start 12 -6.01) (end 23.02 -6.01)
(stroke (width 0.127) (type solid)) (layer "F.SilkS") (tstamp d572e9db-b3e4-4f5a-b235-3c7a6b086899))
(fp_line (start 23.02 -6.01) (end 23.02 6.01)
(stroke (width 0.127) (type solid)) (layer "F.SilkS") (tstamp 09baa72e-84c2-4463-add0-fa13af1aaf88))
(fp_line (start 23.02 6.01) (end 12 6.01)
(stroke (width 0.127) (type solid)) (layer "F.SilkS") (tstamp 5ec83fa8-0bf8-47c9-be2d-316d85ac4814))
(fp_line (start -23.27 -8.625) (end 7.01 -8.625)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5cac6c32-2891-4806-843e-562c13a76f12))
(fp_line (start -23.27 8.625) (end -23.27 -8.625)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 04e87229-7682-41f7-9ee5-4a116e2e7db7))
(fp_line (start 7.01 -8.625) (end 9.01 -6.565)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 138ff56e-28f0-41fc-bc8d-f92d5aba528d))
(fp_line (start 7.01 8.625) (end -23.27 8.625)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 96964ace-e037-4eef-bdd4-e4eb7227d141))
(fp_line (start 9.01 -6.565) (end 23.27 -6.565)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f36f0be1-5742-4d99-8b8b-94998684563b))
(fp_line (start 9.01 6.565) (end 7.01 8.625)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 53df5249-5509-46b9-a5e1-19f8a4d70a33))
(fp_line (start 23.27 -6.565) (end 23.27 6.565)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 7e332b27-3db6-4572-bb9d-4049263eb699))
(fp_line (start 23.27 6.565) (end 9.01 6.565)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 90a75d7d-b24c-48e6-ad97-37db039fd1a7))
(fp_line (start -23.02 -7.62) (end 7.01 -7.62)
(stroke (width 0.127) (type solid)) (layer "F.Fab") (tstamp e2502fb0-0983-40c6-a2b1-5df67618e651))
(fp_line (start -23.02 7.62) (end -23.02 -7.62)
(stroke (width 0.127) (type solid)) (layer "F.Fab") (tstamp 984318df-c002-4b71-ad4e-fc74051d3339))
(fp_line (start 7.01 7.62) (end -23.02 7.62)
(stroke (width 0.127) (type solid)) (layer "F.Fab") (tstamp adccdf38-58b3-4e7d-8385-c69c56d02e1a))
(fp_line (start 8.62 -6.01) (end 7.01 -7.62)
(stroke (width 0.127) (type solid)) (layer "F.Fab") (tstamp 44927239-86c2-40fa-b9c8-1a351d12e29c))
(fp_line (start 8.62 6.01) (end 7.01 7.62)
(stroke (width 0.127) (type solid)) (layer "F.Fab") (tstamp 32502b9f-9f66-4fad-a3f8-12ac9a835ac2))
(fp_line (start 23.02 -6.01) (end 8.62 -6.01)
(stroke (width 0.127) (type solid)) (layer "F.Fab") (tstamp 2e4064f1-4155-4ac1-a267-9299a7b9c0cf))
(fp_line (start 23.02 -6.01) (end 23.02 6.01)
(stroke (width 0.127) (type solid)) (layer "F.Fab") (tstamp 8ec933f9-3be0-4099-a004-b294193b9964))
(fp_line (start 23.02 6.01) (end 8.62 6.01)
(stroke (width 0.127) (type solid)) (layer "F.Fab") (tstamp 2bab07ae-d72a-43bf-98f4-26b8a7b6662e))
(pad "0.02" thru_hole circle (at -7.145 7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp ad23cf4f-3b7d-46ab-9b09-61130aca23e9))
(pad "0.09" thru_hole circle (at -12.225 -7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp 530d8642-61f1-4e71-8e14-26ee141df2a3))
(pad "0.10" thru_hole circle (at -14.765 -7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp df71400c-9b27-4c25-8a54-67427552679b))
(pad "0.13" thru_hole circle (at 5.555 -7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp f79297d0-5394-4d1b-ab7d-16a5aad814fd))
(pad "0.15" thru_hole circle (at 3.015 -7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp 6c5208a4-5df9-4b31-8b07-9d1a87b78ddb))
(pad "0.17" thru_hole circle (at 0.475 -7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp 77b2391e-283b-4bcb-b851-af79f1e7bc19))
(pad "0.20" thru_hole circle (at -2.065 -7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp bcdec272-6bec-4997-af0a-2eea29c4d3e1))
(pad "0.22" thru_hole circle (at -4.605 -7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp 5f5d2eae-5f8b-4f24-909f-7938f0a8dc95))
(pad "0.24" thru_hole circle (at -7.145 -7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp 1d54781d-8a15-4cc2-9569-077686358a52))
(pad "0.29" thru_hole circle (at -4.605 7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp 0d925e32-279d-4ec8-bea6-19ea33cab59e))
(pad "0.31" thru_hole circle (at -2.065 7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp 881f2818-81dd-4400-89c4-d5b23de61d3d))
(pad "1.00" thru_hole circle (at -9.685 -7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp 34a9e2c0-d1ed-416b-9880-673f0937ef8c))
(pad "1.10" thru_hole circle (at -14.765 7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp 4b5e97d1-0256-421f-a95f-5a04e2e4f171))
(pad "1.13" thru_hole circle (at -12.225 7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp c3615c4d-bd12-475f-a620-5b09db3c8b4b))
(pad "1.15" thru_hole circle (at -9.685 7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp 07935ef7-86e4-4bbf-860a-cf43abcc6fa8))
(pad "G1" thru_hole circle (at -17.305 -7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp 13368586-e1f5-4f67-8ad9-2b3b7cf475a9))
(pad "G2" thru_hole circle (at -17.305 7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp 1fd13c2a-a35c-4582-8f93-2c2c8ea68567))
(pad "G3" thru_hole circle (at 0.475 7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp be6d38c0-e478-4484-8052-bd0cf1097403))
(pad "OUT" thru_hole circle (at 3.015 7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp 40136c1a-a256-4eca-8efd-cc2764a0865d))
(pad "VBUS" thru_hole circle (at 5.555 7.62) (size 1.508 1.508) (drill 1) (layers "*.Cu" "*.Mask")
(solder_mask_margin 0.102) (tstamp f9a15762-d151-4dec-9897-f600cff17dd1))
)

@ -0,0 +1,20 @@
(footprint "MOV14D" (version 20221018) (generator pcbnew)
(layer "F.Cu")
(attr through_hole)
(fp_text reference "REF**" (at 0 -5.08 unlocked) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.1)))
(tstamp 0c22ad00-6065-4b7f-8344-291266d91552)
)
(fp_text value "MOV14D" (at 0 5.08 unlocked) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 20fbd2b9-8a9a-4228-8df3-99ca40601280)
)
(fp_text user "${REFERENCE}" (at 0 7.62 unlocked) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 4cc08bf5-b108-46fb-97be-cd17a48659bc)
)
(fp_rect (start -8 -3) (end 8 3)
(stroke (width 0.1) (type default)) (fill none) (layer "F.SilkS") (tstamp 8aec9c79-7e71-44b7-9468-7e0cef43fe63))
(pad "1" thru_hole circle (at -3.25 -1) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") (tstamp 19c68299-ef4e-4382-95cf-aef8d3e27c45))
(pad "2" thru_hole circle (at 3.25 1) (size 1.524 1.524) (drill 0.762) (layers "*.Cu" "*.Mask") (tstamp 82e33483-71a5-499e-8ac0-488704ae69af))
)

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

@ -0,0 +1,72 @@
%TF.GenerationSoftware,KiCad,Pcbnew,7.0.10*%
%TF.CreationDate,2024-02-19T12:02:35-07:00*%
%TF.ProjectId,jamie,6a616d69-652e-46b6-9963-61645f706362,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Soldermask,Bot*%
%TF.FilePolarity,Negative*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 7.0.10) date 2024-02-19 12:02:35*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10C,1.712000*%
%ADD11C,1.524000*%
%ADD12R,2.600000X2.600000*%
%ADD13C,2.600000*%
%ADD14C,2.000000*%
G04 APERTURE END LIST*
D10*
%TO.C,U2*%
X160020000Y-97790000D03*
X175260000Y-102870000D03*
X175260000Y-105410000D03*
X175260000Y-85090000D03*
X175260000Y-87630000D03*
X175260000Y-90170000D03*
X175260000Y-92710000D03*
X175260000Y-95250000D03*
X175260000Y-97790000D03*
X160020000Y-95250000D03*
X160020000Y-92710000D03*
X175260000Y-100330000D03*
X160020000Y-105410000D03*
X160020000Y-102870000D03*
X160020000Y-100330000D03*
X175260000Y-107950000D03*
X160020000Y-107950000D03*
X160020000Y-90170000D03*
X160020000Y-87630000D03*
X160020000Y-85090000D03*
%TD*%
D11*
%TO.C,U1*%
X171430000Y-111790000D03*
X156230000Y-111790000D03*
X156230000Y-83790000D03*
X163830000Y-83790000D03*
%TD*%
D12*
%TO.C,J1*%
X146070000Y-82870000D03*
D13*
X146070000Y-87870000D03*
X146070000Y-92870000D03*
X146070000Y-97870000D03*
X146070000Y-102870000D03*
X146070000Y-107870000D03*
X146070000Y-112870000D03*
X146070000Y-117870000D03*
%TD*%
D14*
%TO.C,F1*%
X175260000Y-117485000D03*
X170180000Y-117475000D03*
%TD*%
D11*
%TO.C,C1*%
X156695000Y-117110000D03*
X163195000Y-119110000D03*
%TD*%
M02*

@ -0,0 +1,15 @@
%TF.GenerationSoftware,KiCad,Pcbnew,7.0.10*%
%TF.CreationDate,2024-02-19T12:02:35-07:00*%
%TF.ProjectId,jamie,6a616d69-652e-46b6-9963-61645f706362,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Paste,Bot*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 7.0.10) date 2024-02-19 12:02:35*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 APERTURE END LIST*
M02*

@ -0,0 +1,71 @@
%TF.GenerationSoftware,KiCad,Pcbnew,7.0.10*%
%TF.CreationDate,2024-02-19T12:02:35-07:00*%
%TF.ProjectId,jamie,6a616d69-652e-46b6-9963-61645f706362,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Legend,Bot*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 7.0.10) date 2024-02-19 12:02:35*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10C,0.150000*%
%ADD11C,0.127000*%
G04 APERTURE END LIST*
D10*
X176619819Y-109568095D02*
X177429342Y-109568095D01*
X177429342Y-109568095D02*
X177524580Y-109615714D01*
X177524580Y-109615714D02*
X177572200Y-109663333D01*
X177572200Y-109663333D02*
X177619819Y-109758571D01*
X177619819Y-109758571D02*
X177619819Y-109949047D01*
X177619819Y-109949047D02*
X177572200Y-110044285D01*
X177572200Y-110044285D02*
X177524580Y-110091904D01*
X177524580Y-110091904D02*
X177429342Y-110139523D01*
X177429342Y-110139523D02*
X176619819Y-110139523D01*
X176715057Y-110568095D02*
X176667438Y-110615714D01*
X176667438Y-110615714D02*
X176619819Y-110710952D01*
X176619819Y-110710952D02*
X176619819Y-110949047D01*
X176619819Y-110949047D02*
X176667438Y-111044285D01*
X176667438Y-111044285D02*
X176715057Y-111091904D01*
X176715057Y-111091904D02*
X176810295Y-111139523D01*
X176810295Y-111139523D02*
X176905533Y-111139523D01*
X176905533Y-111139523D02*
X177048390Y-111091904D01*
X177048390Y-111091904D02*
X177619819Y-110520476D01*
X177619819Y-110520476D02*
X177619819Y-111139523D01*
D11*
%TO.C,U2*%
X175260000Y-113665000D02*
X160020000Y-113665000D01*
X160020000Y-113665000D02*
X160020000Y-109295000D01*
X175260000Y-109295000D02*
X175260000Y-113665000D01*
X173650000Y-78645000D02*
X173650000Y-67625000D01*
X173650000Y-67625000D02*
X161630000Y-67625000D01*
X161630000Y-67625000D02*
X161630000Y-78645000D01*
%TD*%
M02*

@ -0,0 +1,23 @@
%TF.GenerationSoftware,KiCad,Pcbnew,7.0.10*%
%TF.CreationDate,2024-02-19T12:02:35-07:00*%
%TF.ProjectId,jamie,6a616d69-652e-46b6-9963-61645f706362,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Profile,NP*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 7.0.10) date 2024-02-19 12:02:35*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%TA.AperFunction,Profile*%
%ADD10C,0.100000*%
%TD*%
G04 APERTURE END LIST*
D10*
X143000000Y-79000000D02*
X180000000Y-79000000D01*
X180000000Y-122000000D01*
X143000000Y-122000000D01*
X143000000Y-79000000D01*
M02*

File diff suppressed because it is too large Load Diff

@ -0,0 +1,72 @@
%TF.GenerationSoftware,KiCad,Pcbnew,7.0.10*%
%TF.CreationDate,2024-02-19T12:02:35-07:00*%
%TF.ProjectId,jamie,6a616d69-652e-46b6-9963-61645f706362,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Soldermask,Top*%
%TF.FilePolarity,Negative*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 7.0.10) date 2024-02-19 12:02:35*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10C,1.712000*%
%ADD11C,1.524000*%
%ADD12R,2.600000X2.600000*%
%ADD13C,2.600000*%
%ADD14C,2.000000*%
G04 APERTURE END LIST*
D10*
%TO.C,U2*%
X160020000Y-97790000D03*
X175260000Y-102870000D03*
X175260000Y-105410000D03*
X175260000Y-85090000D03*
X175260000Y-87630000D03*
X175260000Y-90170000D03*
X175260000Y-92710000D03*
X175260000Y-95250000D03*
X175260000Y-97790000D03*
X160020000Y-95250000D03*
X160020000Y-92710000D03*
X175260000Y-100330000D03*
X160020000Y-105410000D03*
X160020000Y-102870000D03*
X160020000Y-100330000D03*
X175260000Y-107950000D03*
X160020000Y-107950000D03*
X160020000Y-90170000D03*
X160020000Y-87630000D03*
X160020000Y-85090000D03*
%TD*%
D11*
%TO.C,U1*%
X171430000Y-111790000D03*
X156230000Y-111790000D03*
X156230000Y-83790000D03*
X163830000Y-83790000D03*
%TD*%
D12*
%TO.C,J1*%
X146070000Y-82870000D03*
D13*
X146070000Y-87870000D03*
X146070000Y-92870000D03*
X146070000Y-97870000D03*
X146070000Y-102870000D03*
X146070000Y-107870000D03*
X146070000Y-112870000D03*
X146070000Y-117870000D03*
%TD*%
D14*
%TO.C,F1*%
X175260000Y-117485000D03*
X170180000Y-117475000D03*
%TD*%
D11*
%TO.C,C1*%
X156695000Y-117110000D03*
X163195000Y-119110000D03*
%TD*%
M02*

@ -0,0 +1,15 @@
%TF.GenerationSoftware,KiCad,Pcbnew,7.0.10*%
%TF.CreationDate,2024-02-19T12:02:35-07:00*%
%TF.ProjectId,jamie,6a616d69-652e-46b6-9963-61645f706362,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Paste,Top*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 7.0.10) date 2024-02-19 12:02:35*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
G04 APERTURE END LIST*
M02*

@ -0,0 +1,325 @@
%TF.GenerationSoftware,KiCad,Pcbnew,7.0.10*%
%TF.CreationDate,2024-02-19T12:02:35-07:00*%
%TF.ProjectId,jamie,6a616d69-652e-46b6-9963-61645f706362,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Legend,Top*%
%TF.FilePolarity,Positive*%
%FSLAX46Y46*%
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 7.0.10) date 2024-02-19 12:02:35*
%MOMM*%
%LPD*%
G01*
G04 APERTURE LIST*
%ADD10C,0.100000*%
%ADD11C,0.150000*%
%ADD12C,0.120000*%
G04 APERTURE END LIST*
D10*
X148087419Y-98551904D02*
X148896942Y-98551904D01*
X148896942Y-98551904D02*
X148992180Y-98504285D01*
X148992180Y-98504285D02*
X149039800Y-98456666D01*
X149039800Y-98456666D02*
X149087419Y-98361428D01*
X149087419Y-98361428D02*
X149087419Y-98170952D01*
X149087419Y-98170952D02*
X149039800Y-98075714D01*
X149039800Y-98075714D02*
X148992180Y-98028095D01*
X148992180Y-98028095D02*
X148896942Y-97980476D01*
X148896942Y-97980476D02*
X148087419Y-97980476D01*
X149087419Y-96980476D02*
X149087419Y-97551904D01*
X149087419Y-97266190D02*
X148087419Y-97266190D01*
X148087419Y-97266190D02*
X148230276Y-97361428D01*
X148230276Y-97361428D02*
X148325514Y-97456666D01*
X148325514Y-97456666D02*
X148373133Y-97551904D01*
D11*
X151784819Y-100703333D02*
X152499104Y-100703333D01*
X152499104Y-100703333D02*
X152641961Y-100750952D01*
X152641961Y-100750952D02*
X152737200Y-100846190D01*
X152737200Y-100846190D02*
X152784819Y-100989047D01*
X152784819Y-100989047D02*
X152784819Y-101084285D01*
X152784819Y-99703333D02*
X152784819Y-100274761D01*
X152784819Y-99989047D02*
X151784819Y-99989047D01*
X151784819Y-99989047D02*
X151927676Y-100084285D01*
X151927676Y-100084285D02*
X152022914Y-100179523D01*
X152022914Y-100179523D02*
X152070533Y-100274761D01*
X172496666Y-114456009D02*
X172163333Y-114456009D01*
X172163333Y-114979819D02*
X172163333Y-113979819D01*
X172163333Y-113979819D02*
X172639523Y-113979819D01*
X173544285Y-114979819D02*
X172972857Y-114979819D01*
X173258571Y-114979819D02*
X173258571Y-113979819D01*
X173258571Y-113979819D02*
X173163333Y-114122676D01*
X173163333Y-114122676D02*
X173068095Y-114217914D01*
X173068095Y-114217914D02*
X172972857Y-114265533D01*
D10*
X159778333Y-113392180D02*
X159730714Y-113439800D01*
X159730714Y-113439800D02*
X159587857Y-113487419D01*
X159587857Y-113487419D02*
X159492619Y-113487419D01*
X159492619Y-113487419D02*
X159349762Y-113439800D01*
X159349762Y-113439800D02*
X159254524Y-113344561D01*
X159254524Y-113344561D02*
X159206905Y-113249323D01*
X159206905Y-113249323D02*
X159159286Y-113058847D01*
X159159286Y-113058847D02*
X159159286Y-112915990D01*
X159159286Y-112915990D02*
X159206905Y-112725514D01*
X159206905Y-112725514D02*
X159254524Y-112630276D01*
X159254524Y-112630276D02*
X159349762Y-112535038D01*
X159349762Y-112535038D02*
X159492619Y-112487419D01*
X159492619Y-112487419D02*
X159587857Y-112487419D01*
X159587857Y-112487419D02*
X159730714Y-112535038D01*
X159730714Y-112535038D02*
X159778333Y-112582657D01*
X160730714Y-113487419D02*
X160159286Y-113487419D01*
X160445000Y-113487419D02*
X160445000Y-112487419D01*
X160445000Y-112487419D02*
X160349762Y-112630276D01*
X160349762Y-112630276D02*
X160254524Y-112725514D01*
X160254524Y-112725514D02*
X160159286Y-112773133D01*
%TO.C,U1*%
X152330000Y-115040000D02*
X175330000Y-115040000D01*
X175330000Y-115040000D02*
X175330000Y-80540000D01*
X175330000Y-80540000D02*
X152330000Y-80540000D01*
X152330000Y-80540000D02*
X152330000Y-115040000D01*
D12*
%TO.C,J1*%
X147139000Y-89145000D02*
X147093000Y-89098000D01*
X147139000Y-114145000D02*
X147093000Y-114098000D01*
X147139000Y-99145000D02*
X147093000Y-99098000D01*
X147139000Y-104145000D02*
X147093000Y-104098000D01*
X143470000Y-80310000D02*
X143470000Y-120430000D01*
X141410000Y-80310000D02*
X141410000Y-120430000D01*
X144831000Y-91836000D02*
X144796000Y-91801000D01*
X147345000Y-103940000D02*
X147309000Y-103905000D01*
X141170000Y-80070000D02*
X141170000Y-80570000D01*
X151331000Y-80310000D02*
X151331000Y-120430000D01*
X151331000Y-120430000D02*
X141410000Y-120430000D01*
X151331000Y-80310000D02*
X141410000Y-80310000D01*
X144831000Y-101836000D02*
X144796000Y-101801000D01*
X145047000Y-116643000D02*
X145001000Y-116596000D01*
X145047000Y-111643000D02*
X145001000Y-111596000D01*
X147139000Y-94145000D02*
X147093000Y-94098000D01*
X144831000Y-106836000D02*
X144796000Y-106801000D01*
X144831000Y-96836000D02*
X144796000Y-96801000D01*
X147345000Y-88940000D02*
X147309000Y-88905000D01*
X144831000Y-111836000D02*
X144796000Y-111801000D01*
X145047000Y-106643000D02*
X145001000Y-106596000D01*
X147345000Y-118940000D02*
X147309000Y-118905000D01*
X145047000Y-96643000D02*
X145001000Y-96596000D01*
X141910000Y-80070000D02*
X141170000Y-80070000D01*
X147345000Y-108940000D02*
X147309000Y-108905000D01*
X147345000Y-113940000D02*
X147309000Y-113905000D01*
X141970000Y-80310000D02*
X141970000Y-120430000D01*
X147345000Y-98940000D02*
X147309000Y-98905000D01*
X147345000Y-93940000D02*
X147309000Y-93905000D01*
X144831000Y-116836000D02*
X144796000Y-116801000D01*
X147139000Y-109145000D02*
X147093000Y-109098000D01*
X145047000Y-101643000D02*
X145001000Y-101596000D01*
X144831000Y-86836000D02*
X144796000Y-86801000D01*
X145047000Y-91643000D02*
X145001000Y-91596000D01*
X145047000Y-86643000D02*
X145001000Y-86596000D01*
X147139000Y-119145000D02*
X147093000Y-119098000D01*
X148371000Y-80310000D02*
X148371000Y-120430000D01*
X147604999Y-83553999D02*
G75*
G03*
X147605426Y-82186958I-1534992J684000D01*
G01*
X144390001Y-82870000D02*
G75*
G03*
X144535245Y-83553318I1679999J0D01*
G01*
X145386000Y-84405000D02*
G75*
G03*
X146753042Y-84405426I684000J1535000D01*
G01*
X146753999Y-81335001D02*
G75*
G03*
X145386958Y-81334574I-684000J-1534992D01*
G01*
X144535001Y-82186000D02*
G75*
G03*
X144389748Y-82898805I1535000J-683999D01*
G01*
X147750000Y-117870000D02*
G75*
G03*
X144390000Y-117870000I-1680000J0D01*
G01*
X144390000Y-117870000D02*
G75*
G03*
X147750000Y-117870000I1680000J0D01*
G01*
X147750000Y-97870000D02*
G75*
G03*
X144390000Y-97870000I-1680000J0D01*
G01*
X144390000Y-97870000D02*
G75*
G03*
X147750000Y-97870000I1680000J0D01*
G01*
X147750000Y-87870000D02*
G75*
G03*
X144390000Y-87870000I-1680000J0D01*
G01*
X144390000Y-87870000D02*
G75*
G03*
X147750000Y-87870000I1680000J0D01*
G01*
X147750000Y-102870000D02*
G75*
G03*
X144390000Y-102870000I-1680000J0D01*
G01*
X144390000Y-102870000D02*
G75*
G03*
X147750000Y-102870000I1680000J0D01*
G01*
X147750000Y-92870000D02*
G75*
G03*
X144390000Y-92870000I-1680000J0D01*
G01*
X144390000Y-92870000D02*
G75*
G03*
X147750000Y-92870000I1680000J0D01*
G01*
X147750000Y-112870000D02*
G75*
G03*
X144390000Y-112870000I-1680000J0D01*
G01*
X144390000Y-112870000D02*
G75*
G03*
X147750000Y-112870000I1680000J0D01*
G01*
X147750000Y-107870000D02*
G75*
G03*
X144390000Y-107870000I-1680000J0D01*
G01*
X144390000Y-107870000D02*
G75*
G03*
X147750000Y-107870000I1680000J0D01*
G01*
%TO.C,F1*%
X177090000Y-119595000D02*
X168350000Y-119595000D01*
X168350000Y-115355000D02*
X177090000Y-115355000D01*
X177090000Y-119595000D02*
X177090000Y-115355000D01*
X168350000Y-115355000D02*
X168350000Y-119595000D01*
D10*
%TO.C,C1*%
X151945000Y-115110000D02*
X167945000Y-115110000D01*
X167945000Y-115110000D02*
X167945000Y-121110000D01*
X167945000Y-121110000D02*
X151945000Y-121110000D01*
X151945000Y-121110000D02*
X151945000Y-115110000D01*
%TD*%
M02*

@ -0,0 +1,12 @@
M48
; DRILL file {KiCad 7.0.10} date Monday, February 19, 2024 at 12:02:43PM
; FORMAT={-:-/ absolute / inch / decimal}
; #@! TF.CreationDate,2024-02-19T12:02:43-07:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,7.0.10
; #@! TF.FileFunction,NonPlated,1,2,NPTH
FMAT,2
INCH
%
G90
G05
M30

@ -0,0 +1,57 @@
M48
; DRILL file {KiCad 7.0.10} date Monday, February 19, 2024 at 12:02:43PM
; FORMAT={-:-/ absolute / inch / decimal}
; #@! TF.CreationDate,2024-02-19T12:02:43-07:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,7.0.10
; #@! TF.FileFunction,Plated,1,2,PTH
FMAT,2
INCH
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T1C0.0300
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T2C0.0394
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T3C0.0512
%
G90
G05
T1
X6.1508Y-3.2988
X6.1508Y-4.4012
X6.1691Y-4.6106
X6.425Y-4.6894
X6.45Y-3.2988
X6.7492Y-4.4012
T2
X6.3Y-3.35
X6.3Y-3.45
X6.3Y-3.55
X6.3Y-3.65
X6.3Y-3.75
X6.3Y-3.85
X6.3Y-3.95
X6.3Y-4.05
X6.3Y-4.15
X6.3Y-4.25
X6.7Y-4.625
X6.9Y-3.35
X6.9Y-3.45
X6.9Y-3.55
X6.9Y-3.65
X6.9Y-3.75
X6.9Y-3.85
X6.9Y-3.95
X6.9Y-4.05
X6.9Y-4.15
X6.9Y-4.25
X6.9Y-4.6254
T3
X5.7508Y-3.2626
X5.7508Y-3.4594
X5.7508Y-3.6563
X5.7508Y-3.8531
X5.7508Y-4.05
X5.7508Y-4.2469
X5.7508Y-4.4437
X5.7508Y-4.6406
M30

@ -0,0 +1,127 @@
{
"Header": {
"GenerationSoftware": {
"Vendor": "KiCad",
"Application": "Pcbnew",
"Version": "7.0.10"
},
"CreationDate": "2024-02-19T12:02:35-07:00"
},
"GeneralSpecs": {
"ProjectId": {
"Name": "jamie",
"GUID": "6a616d69-652e-46b6-9963-61645f706362",
"Revision": "rev?"
},
"Size": {
"X": 37.1,
"Y": 43.1
},
"LayerNumber": 2,
"BoardThickness": 1.6,
"Finish": "None"
},
"DesignRules": [
{
"Layers": "Outer",
"PadToPad": 0.2,
"PadToTrack": 0.2,
"TrackToTrack": 0.2,
"MinLineWidth": 0.25,
"TrackToRegion": 0.5,
"RegionToRegion": 0.5
}
],
"FilesAttributes": [
{
"Path": "jamie-F_Cu.gbr",
"FileFunction": "Copper,L1,Top",
"FilePolarity": "Positive"
},
{
"Path": "jamie-B_Cu.gbr",
"FileFunction": "Copper,L2,Bot",
"FilePolarity": "Positive"
},
{
"Path": "jamie-F_Paste.gbr",
"FileFunction": "SolderPaste,Top",
"FilePolarity": "Positive"
},
{
"Path": "jamie-B_Paste.gbr",
"FileFunction": "SolderPaste,Bot",
"FilePolarity": "Positive"
},
{
"Path": "jamie-F_Silkscreen.gbr",
"FileFunction": "Legend,Top",
"FilePolarity": "Positive"
},
{
"Path": "jamie-B_Silkscreen.gbr",
"FileFunction": "Legend,Bot",
"FilePolarity": "Positive"
},
{
"Path": "jamie-F_Mask.gbr",
"FileFunction": "SolderMask,Top",
"FilePolarity": "Negative"
},
{
"Path": "jamie-B_Mask.gbr",
"FileFunction": "SolderMask,Bot",
"FilePolarity": "Negative"
},
{
"Path": "jamie-Edge_Cuts.gbr",
"FileFunction": "Profile",
"FilePolarity": "Positive"
}
],
"MaterialStackup": [
{
"Type": "Legend",
"Name": "Top Silk Screen"
},
{
"Type": "SolderPaste",
"Name": "Top Solder Paste"
},
{
"Type": "SolderMask",
"Thickness": 0.01,
"Name": "Top Solder Mask"
},
{
"Type": "Copper",
"Thickness": 0.035,
"Name": "F.Cu"
},
{
"Type": "Dielectric",
"Thickness": 1.51,
"Material": "FR4",
"Name": "F.Cu/B.Cu",
"Notes": "Type: dielectric layer 1 (from F.Cu to B.Cu)"
},
{
"Type": "Copper",
"Thickness": 0.035,
"Name": "B.Cu"
},
{
"Type": "SolderMask",
"Thickness": 0.01,
"Name": "Bottom Solder Mask"
},
{
"Type": "SolderPaste",
"Name": "Bottom Solder Paste"
},
{
"Type": "Legend",
"Name": "Bottom Silk Screen"
}
]
}

@ -0,0 +1,4 @@
(sym_lib_table
(version 7)
(lib (name "jamie")(type "KiCad")(uri "${KIPRJMOD}/jamie.kicad_sym")(options "")(descr ""))
)

@ -0,0 +1 @@
{"hostname":"dan","username":"noah"}

@ -0,0 +1 @@
{"hostname":"dan","username":"noah"}

@ -44,7 +44,6 @@ CONFIG_USE_SEGGER_RTT=y
CONFIG_SEGGER_RTT_BUFFER_SIZE_UP=10240
CONFIG_LOG=y
CONFIG_LOG_BACKEND_RTT=y
CONFIG_LOG_PROCESS_THREAD_STARTUP_DELAY_MS=0
CONFIG_LOG_MODE_IMMEDIATE=y
CONFIG_FATAL_ERROR_LOG_LEVEL_DBG=y

@ -22,21 +22,19 @@ LOG_MODULE_REGISTER(app, LOG_LEVEL_INF);
#define SW2_EP 3
#define SW3_EP 4
const uint8_t sw_ep[4] = {SW0_EP, SW1_EP, SW2_EP, SW3_EP};
/* Main application customizable context.
* Stores all settings and static values.
*/
struct app_static {
zb_zcl_basic_attrs_ext_t basic_attr;
zb_zcl_identify_attrs_t identify_attr;
enum zb_zcl_on_off_switch_configuration_switch_type_e types[4];
uint8_t sw_ep[4];
};
struct app_ram {
struct gpio_callback sw_cb[4];
struct gpio_callback reset_cb;
zb_uint8_t states[4];
uint64_t last[4];
uint64_t reset_last;
zb_zcl_on_off_attrs_t state_attributes[4];
};
@ -44,8 +42,13 @@ struct app_nvram {
enum zb_zcl_on_off_switch_configuration_switch_actions_e actions[4];
};
/* Zigbee device application context storage. */
static struct app_static app_static = {
.sw_ep = {
SW0_EP,
SW1_EP,
SW2_EP,
SW3_EP,
},
.basic_attr = {
.zcl_version = ZB_ZCL_VERSION,
.app_version = 1,
@ -128,6 +131,7 @@ ZBOSS_DECLARE_DEVICE_CTX_EP_VA(
);
static const struct gpio_dt_spec network_led = GPIO_DT_SPEC_GET(DT_NODELABEL(network_led), gpios);
static const struct gpio_dt_spec reset_button = GPIO_DT_SPEC_GET(DT_NODELABEL(reset_button), gpios);
static const struct gpio_dt_spec sw[4] = {
GPIO_DT_SPEC_GET(DT_NODELABEL(sw_0), gpios),
GPIO_DT_SPEC_GET(DT_NODELABEL(sw_1), gpios),
@ -198,6 +202,17 @@ void sw3_handler(const struct device *dev, struct gpio_callback *cb, gpio_port_p
sw_handler(3);
}
#define RESET_DEBOUNCE_MS 1000
void reset_handler(const struct device *dev, struct gpio_callback *cb, gpio_port_pins_t ping) {
uint64_t time = k_uptime_get();
LOG_INF("Reset pressed");
if(time - app_ram.reset_last > RESET_DEBOUNCE_MS) {
LOG_INF("Resetting");
app_ram.reset_last = time;
ZB_SCHEDULE_APP_CALLBACK(zb_bdb_reset_via_local_action, 0);
}
}
gpio_callback_handler_t sw_handlers[4] = {
sw0_handler,
sw1_handler,
@ -209,16 +224,21 @@ static void configure_gpio(void)
{
int err;
err = gpio_pin_configure_dt(&network_led, GPIO_OUTPUT);
if(err) {
}
err = gpio_pin_configure_dt(&reset_button, GPIO_INPUT);
err = gpio_pin_interrupt_configure_dt(&reset_button, GPIO_INT_EDGE_RISING);
gpio_init_callback(&app_ram.reset_cb, reset_handler, BIT(reset_button.pin));
err = gpio_add_callback(reset_button.port, &app_ram.reset_cb);
k_queue_init(&switch_queue);
app_ram.reset_last = k_uptime_get();
for(int i = 0; i < 4; i++) {
err = gpio_pin_configure_dt(&(sw[i]), GPIO_INPUT);
err = gpio_pin_interrupt_configure_dt(&(sw[i]), GPIO_INT_EDGE_BOTH);
gpio_init_callback(&(app_ram.sw_cb[i]), sw_handlers[i], BIT(sw[i].pin));
err = gpio_add_callback(sw[i].port, &(app_ram.sw_cb[i]));
err = gpio_pin_configure_dt(&sw[i], GPIO_INPUT);
err = gpio_pin_interrupt_configure_dt(&sw[i], GPIO_INT_EDGE_BOTH);
gpio_init_callback(&app_ram.sw_cb[i], sw_handlers[i], BIT(sw[i].pin));
err = gpio_add_callback(sw[i].port, &app_ram.sw_cb[i]);
app_ram.last[i] = k_uptime_get();
}
}
@ -251,13 +271,9 @@ void zboss_signal_handler(zb_bufid_t bufid)
}
}
break;
default:
/* Call default signal handler. */
ZB_ERROR_CHECK(zigbee_default_signal_handler(bufid));
break;
}
ZB_ERROR_CHECK(zigbee_default_signal_handler(bufid));
if (bufid) {
zb_buf_free(bufid);
}
@ -272,7 +288,7 @@ static void set_sw(zb_uint8_t param) {
uint8_t val = (param & 0x0F);
ZB_ZCL_SET_ATTRIBUTE(
sw_ep[sw],
app_static.sw_ep[sw],
ZB_ZCL_CLUSTER_ID_ON_OFF,
ZB_ZCL_CLUSTER_SERVER_ROLE,
ZB_ZCL_ATTR_ON_OFF_ON_OFF_ID,
@ -330,7 +346,7 @@ static void zcl_device_cb(zb_bufid_t bufid) {
uint8_t ep = device_cb_param->endpoint;
uint8_t sw = 0xFF;
for(uint8_t i = 0; i < 4; i++) {
if(sw_ep[i] == ep){
if(app_static.sw_ep[i] == ep){
sw = i;
break;
}