mirror of
https://github.com/System-End/hackpad.git
synced 2026-04-19 23:32:54 +00:00
Add files via upload
This commit is contained in:
parent
769de8429b
commit
9a040336e4
40 changed files with 221470 additions and 0 deletions
36
hackpads/YeagPad/README.md
Normal file
36
hackpads/YeagPad/README.md
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
## YeagPad:
|
||||
This is a 10 key general purpose macropad for stuff like... I don't know, playing games and whatever (。・ω・。)
|
||||
|
||||

|
||||
|
||||
## Inspiration:
|
||||
I was a macropad that I could use for rhythm games and also for 3d enviroments, while also still having options incase I wanted to make my macropad a makeshift launchpad for music.
|
||||
|
||||
## Challenges:
|
||||
~~Me being a dumbass~~ Honestly it was just me making everything harder that it was supposed to be. In, hindsight, making my macropad was actually pretty easy(-ish)
|
||||
|
||||
## Stuff:
|
||||
- Simple design (Sleek!)
|
||||
- Has an OLED (Cool!)
|
||||
- KMK built with hopes and dreams as this is my first time doing this whole building a macropad thing (I really hope this works)
|
||||
- Yeag! (Yeag!)
|
||||
|
||||
## BOM:
|
||||
1x XIAO RP2040
|
||||
10x Through-hole 1N4148 Diodes
|
||||
10x Cherry MX Switches
|
||||
1x 128x64 OLED
|
||||
10x Blank DSA Keycaps (Red)
|
||||
4x M3x16mm Screws
|
||||
4x M3x5mmx4mm Heatset Inserts
|
||||
1x 3D Printed Base
|
||||
1x 3D Printed Top Plate
|
||||
|
||||
## Schematic
|
||||

|
||||
|
||||
## PCB
|
||||

|
||||
|
||||
## Case
|
||||

|
||||
Binary file not shown.
|
After Width: | Height: | Size: 214 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 88 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 414 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 62 KiB |
206808
hackpads/YeagPad/cad/yeagpad.step
Normal file
206808
hackpads/YeagPad/cad/yeagpad.step
Normal file
File diff suppressed because it is too large
Load diff
30
hackpads/YeagPad/firmware/main.py
Normal file
30
hackpads/YeagPad/firmware/main.py
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
import board
|
||||
|
||||
from kmk.kmk_keyboard import KMKKeyboard
|
||||
from kmk.scanners.keypad import KeysScanner
|
||||
from kmk.keys import KC
|
||||
from kmk.modules.macros import Press, Release, Tap, Macros
|
||||
from kmk.scanners import DiodeOrientation
|
||||
|
||||
keyboard = KMKKeyboard()
|
||||
|
||||
col_pins = (board.GP26, board.GP27, board.GP28, board.GP29)
|
||||
row_pins = (board.GP4, board.GP2, board.GP1)
|
||||
|
||||
diode_orientation = DiodeOrientation.COL2ROW
|
||||
|
||||
# Define your pins here!
|
||||
PINS = [board.D3, board.D4, board.D2, board.D1, board.D4, board.D2, board.D1, board.D4, board.D2, board.D1]
|
||||
|
||||
# Here you define the buttons corresponding to the pins
|
||||
# Look here for keycodes: https://github.com/KMKfw/kmk_firmware/blob/main/docs/en/keycodes.md
|
||||
# And here for macros: https://github.com/KMKfw/kmk_firmware/blob/main/docs/en/macros.md
|
||||
keyboard.keymap = [
|
||||
[KC.Q, KC.W, KC.E, KC.R,
|
||||
KC.A, KC.S, KC.D,
|
||||
KC.Z, KC.X, KC.C]
|
||||
]
|
||||
|
||||
# Start kmk!
|
||||
if __name__ == '__main__':
|
||||
keyboard.go()
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
9575
hackpads/YeagPad/pcb/YeagPad.kicad_pcb
Normal file
9575
hackpads/YeagPad/pcb/YeagPad.kicad_pcb
Normal file
File diff suppressed because it is too large
Load diff
83
hackpads/YeagPad/pcb/YeagPad.kicad_prl
Normal file
83
hackpads/YeagPad/pcb/YeagPad.kicad_prl
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
{
|
||||
"board": {
|
||||
"active_layer": 0,
|
||||
"active_layer_preset": "",
|
||||
"auto_track_width": true,
|
||||
"hidden_netclasses": [],
|
||||
"hidden_nets": [],
|
||||
"high_contrast_mode": 1,
|
||||
"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": "7ffffff_80000001",
|
||||
"zone_display_mode": 0
|
||||
},
|
||||
"git": {
|
||||
"repo_password": "",
|
||||
"repo_type": "",
|
||||
"repo_username": "",
|
||||
"ssh_key": ""
|
||||
},
|
||||
"meta": {
|
||||
"filename": "YeagPad.kicad_prl",
|
||||
"version": 3
|
||||
},
|
||||
"project": {
|
||||
"files": []
|
||||
}
|
||||
}
|
||||
584
hackpads/YeagPad/pcb/YeagPad.kicad_pro
Normal file
584
hackpads/YeagPad/pcb/YeagPad.kicad_pro
Normal file
|
|
@ -0,0 +1,584 @@
|
|||
{
|
||||
"board": {
|
||||
"3dviewports": [],
|
||||
"design_settings": {
|
||||
"defaults": {
|
||||
"apply_defaults_to_fp_fields": false,
|
||||
"apply_defaults_to_fp_shapes": false,
|
||||
"apply_defaults_to_fp_text": false,
|
||||
"board_outline_line_width": 0.05,
|
||||
"copper_line_width": 0.2,
|
||||
"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.05,
|
||||
"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.1,
|
||||
"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.1,
|
||||
"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.1,
|
||||
"silk_text_italic": false,
|
||||
"silk_text_size_h": 1.0,
|
||||
"silk_text_size_v": 1.0,
|
||||
"silk_text_thickness": 0.1,
|
||||
"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_symbol_mismatch": "warning",
|
||||
"footprint_type_mismatch": "ignore",
|
||||
"hole_clearance": "error",
|
||||
"hole_near_hole": "error",
|
||||
"holes_co_located": "warning",
|
||||
"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.2,
|
||||
"min_microvia_drill": 0.1,
|
||||
"min_resolved_spokes": 2,
|
||||
"min_silk_clearance": 0.0,
|
||||
"min_text_height": 0.8,
|
||||
"min_text_thickness": 0.08,
|
||||
"min_through_hole_diameter": 0.3,
|
||||
"min_track_width": 0.0,
|
||||
"min_via_annular_width": 0.1,
|
||||
"min_via_diameter": 0.5,
|
||||
"solder_mask_to_copper_clearance": 0.0,
|
||||
"use_height_for_length_calcs": true
|
||||
},
|
||||
"teardrop_options": [
|
||||
{
|
||||
"td_onpadsmd": true,
|
||||
"td_onroundshapesonly": false,
|
||||
"td_ontrackend": false,
|
||||
"td_onviapad": true
|
||||
}
|
||||
],
|
||||
"teardrop_parameters": [
|
||||
{
|
||||
"td_allow_use_two_tracks": true,
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_on_pad_in_zone": false,
|
||||
"td_target_name": "td_round_shape",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
},
|
||||
{
|
||||
"td_allow_use_two_tracks": true,
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_on_pad_in_zone": false,
|
||||
"td_target_name": "td_rect_shape",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
},
|
||||
{
|
||||
"td_allow_use_two_tracks": true,
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_on_pad_in_zone": false,
|
||||
"td_target_name": "td_track_end",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
}
|
||||
],
|
||||
"track_widths": [],
|
||||
"tuning_pattern_settings": {
|
||||
"diff_pair_defaults": {
|
||||
"corner_radius_percentage": 80,
|
||||
"corner_style": 1,
|
||||
"max_amplitude": 1.0,
|
||||
"min_amplitude": 0.2,
|
||||
"single_sided": false,
|
||||
"spacing": 1.0
|
||||
},
|
||||
"diff_pair_skew_defaults": {
|
||||
"corner_radius_percentage": 80,
|
||||
"corner_style": 1,
|
||||
"max_amplitude": 1.0,
|
||||
"min_amplitude": 0.2,
|
||||
"single_sided": false,
|
||||
"spacing": 0.6
|
||||
},
|
||||
"single_track_defaults": {
|
||||
"corner_radius_percentage": 80,
|
||||
"corner_style": 1,
|
||||
"max_amplitude": 1.0,
|
||||
"min_amplitude": 0.2,
|
||||
"single_sided": false,
|
||||
"spacing": 0.6
|
||||
}
|
||||
},
|
||||
"via_dimensions": [],
|
||||
"zones_allow_external_fillets": false
|
||||
},
|
||||
"ipc2581": {
|
||||
"dist": "",
|
||||
"distpn": "",
|
||||
"internal_id": "",
|
||||
"mfg": "",
|
||||
"mpn": ""
|
||||
},
|
||||
"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": "YeagPad.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": "",
|
||||
"plot": "",
|
||||
"pos_files": "",
|
||||
"specctra_dsn": "",
|
||||
"step": "YeagPad.step",
|
||||
"svg": "",
|
||||
"vrml": "YeagPad.wrl"
|
||||
},
|
||||
"page_layout_descr_file": ""
|
||||
},
|
||||
"schematic": {
|
||||
"annotate_start_num": 0,
|
||||
"bom_export_filename": "",
|
||||
"bom_fmt_presets": [],
|
||||
"bom_fmt_settings": {
|
||||
"field_delimiter": ",",
|
||||
"keep_line_breaks": false,
|
||||
"keep_tabs": false,
|
||||
"name": "CSV",
|
||||
"ref_delimiter": ",",
|
||||
"ref_range_delimiter": "",
|
||||
"string_delimiter": "\""
|
||||
},
|
||||
"bom_presets": [],
|
||||
"bom_settings": {
|
||||
"exclude_dnp": false,
|
||||
"fields_ordered": [
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Reference",
|
||||
"name": "Reference",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": true,
|
||||
"label": "Value",
|
||||
"name": "Value",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Datasheet",
|
||||
"name": "Datasheet",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Footprint",
|
||||
"name": "Footprint",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Qty",
|
||||
"name": "${QUANTITY}",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": true,
|
||||
"label": "DNP",
|
||||
"name": "${DNP}",
|
||||
"show": true
|
||||
}
|
||||
],
|
||||
"filter_string": "",
|
||||
"group_symbols": true,
|
||||
"name": "Grouped By Value",
|
||||
"sort_asc": true,
|
||||
"sort_field": "Reference"
|
||||
},
|
||||
"connection_grid_size": 50.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,
|
||||
"operating_point_overlay_i_precision": 3,
|
||||
"operating_point_overlay_i_range": "~A",
|
||||
"operating_point_overlay_v_precision": 3,
|
||||
"operating_point_overlay_v_range": "~V",
|
||||
"overbar_offset_ratio": 1.23,
|
||||
"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_dissipations": false,
|
||||
"spice_save_all_voltages": false,
|
||||
"subpart_first_id": 65,
|
||||
"subpart_id_separator": 0
|
||||
},
|
||||
"sheets": [
|
||||
[
|
||||
"e2b264e9-bae2-4876-a6b8-6263b17d090b",
|
||||
"Root"
|
||||
]
|
||||
],
|
||||
"text_variables": {}
|
||||
}
|
||||
4164
hackpads/YeagPad/pcb/YeagPad.kicad_sch
Normal file
4164
hackpads/YeagPad/pcb/YeagPad.kicad_sch
Normal file
File diff suppressed because it is too large
Load diff
BIN
hackpads/YeagPad/pcb/production/YeagPad.zip
Normal file
BIN
hackpads/YeagPad/pcb/production/YeagPad.zip
Normal file
Binary file not shown.
Binary file not shown.
5
hackpads/YeagPad/pcb/production/bom.csv
Normal file
5
hackpads/YeagPad/pcb/production/bom.csv
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
Designator,Footprint,Quantity,Value,LCSC Part #
|
||||
"D1, D10, D2, D3, D4, D5, D6, D7, D8, D9",D_DO-35_SOD27_P7.62mm_Horizontal,10,1N4148,
|
||||
J1,OLED_128x64,1,OLED_128x64,
|
||||
"K1, K10, K2, K3, K4, K5, K6, K7, K8, K9",MX_PCB_1.00u,10,SW_Push_45deg,
|
||||
U1,Seeed_XIAO_RP2040,1,XIAO-RP2040-DIP,
|
||||
|
23
hackpads/YeagPad/pcb/production/designators.csv
Normal file
23
hackpads/YeagPad/pcb/production/designators.csv
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
D1:1
|
||||
D10:1
|
||||
D2:1
|
||||
D3:1
|
||||
D4:1
|
||||
D5:1
|
||||
D6:1
|
||||
D7:1
|
||||
D8:1
|
||||
D9:1
|
||||
J1:1
|
||||
K1:1
|
||||
K10:1
|
||||
K2:1
|
||||
K3:1
|
||||
K4:1
|
||||
K5:1
|
||||
K6:1
|
||||
K7:1
|
||||
K8:1
|
||||
K9:1
|
||||
REF**:4
|
||||
U1:1
|
||||
|
110
hackpads/YeagPad/pcb/production/netlist.ipc
Normal file
110
hackpads/YeagPad/pcb/production/netlist.ipc
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
P CODE 00
|
||||
P UNITS CUST 0
|
||||
P arrayDim N
|
||||
317GND J1 -1 D0394PA00X+086689Y-035433X0669Y0669R270S0
|
||||
317VCC J1 -2 D0394PA00X+087689Y-035433X0669Y0669R270S0
|
||||
317SCL J1 -3 D0394PA00X+088689Y-035433X0669Y0669R270S0
|
||||
317SDA J1 -4 D0394PA00X+089689Y-035433X0669Y0669R270S0
|
||||
367N/C REF** D1260UA00X+092520Y-016929X1260Y0000R000S0
|
||||
327COLUMN?0 U1 -1 A01X+081864Y-015504X1083Y0787R000S2
|
||||
317COLUMN?0 U1 -1 D0394PA00X+082039Y-015504X0630Y0630R270S0
|
||||
327COLUMN?1 U1 -2 A01X+081864Y-016504X1083Y0787R000S2
|
||||
317COLUMN?1 U1 -2 D0394PA00X+082039Y-016504X0630Y0000R270S0
|
||||
327COLUMN?2 U1 -3 A01X+081864Y-017504X1083Y0787R000S2
|
||||
317COLUMN?2 U1 -3 D0394PA00X+082039Y-017504X0630Y0000R270S0
|
||||
327COLUMN?4 U1 -4 A01X+081864Y-018504X1083Y0787R000S2
|
||||
317COLUMN?4 U1 -4 D0394PA00X+082039Y-018504X0630Y0000R270S0
|
||||
327SDA U1 -5 A01X+081864Y-019504X1083Y0787R000S2
|
||||
317SDA U1 -5 D0394PA00X+082039Y-019504X0630Y0000R270S0
|
||||
327SCL U1 -6 A01X+081864Y-020504X1083Y0787R000S2
|
||||
317SCL U1 -6 D0394PA00X+082039Y-020504X0630Y0000R270S0
|
||||
327SLASH}TX-PAD7) U1 -7 A01X+081864Y-021504X1083Y0787R000S2
|
||||
317SLASH}TX-PAD7) U1 -7 D0394PA00X+082039Y-021504X0630Y0000R270S0
|
||||
317ROW?2 U1 -8 D0394PA00X+088039Y-021504X0630Y0000R270S0
|
||||
327ROW?2 U1 -8 A01X+088228Y-021504X1083Y0787R000S2
|
||||
317ROW?1 U1 -9 D0394PA00X+088039Y-020504X0630Y0000R270S0
|
||||
327ROW?1 U1 -9 A01X+088228Y-020504X1083Y0787R000S2
|
||||
317ROW?0 U1 -10 D0394PA00X+088039Y-019504X0630Y0000R270S0
|
||||
327ROW?0 U1 -10 A01X+088228Y-019504X1083Y0787R000S2
|
||||
317SH}MOSI-PAD11) U1 -11 D0394PA00X+088039Y-018504X0630Y0000R270S0
|
||||
327SH}MOSI-PAD11) U1 -11 A01X+088228Y-018504X1083Y0787R000S2
|
||||
317+3V3 U1 -12 D0394PA00X+088039Y-017504X0630Y0000R270S0
|
||||
327+3V3 U1 -12 A01X+088228Y-017504X1083Y0787R000S2
|
||||
317GND U1 -13 D0394PA00X+088039Y-016504X0630Y0000R270S0
|
||||
327GND U1 -13 A01X+088228Y-016504X1083Y0787R000S2
|
||||
317VCC U1 -14 D0394PA00X+088039Y-015504X0630Y0000R270S0
|
||||
327VCC U1 -14 A01X+088228Y-015504X1083Y0787R000S2
|
||||
367N/C REF** D1260UA00X+092520Y-050394X1260Y0000R000S0
|
||||
367N/C REF** D1260UA00X+059449Y-050394X1260Y0000R000S0
|
||||
367N/C REF** D1260UA00X+059449Y-016929X1260Y0000R000S0
|
||||
367N/C K1 D0689UA00X+059961Y-028906X0689Y0000R000S0
|
||||
367N/C K1 D1575UA00X+061961Y-028906X1575Y0000R000S0
|
||||
367N/C K1 D0689UA00X+063961Y-028906X0689Y0000R000S0
|
||||
317COLUMN?0 K1 -1 D0591PA00X+060461Y-027906X0984Y0000R000S0
|
||||
317NET-(D1-A) K1 -2 D0591PA00X+062961Y-026906X0984Y0000R000S0
|
||||
367N/C K10 D0689UA00X+082465Y-028906X0689Y0000R000S0
|
||||
367N/C K10 D1575UA00X+084465Y-028906X1575Y0000R000S0
|
||||
367N/C K10 D0689UA00X+086465Y-028906X0689Y0000R000S0
|
||||
317COLUMN?4 K10 -1 D0591PA00X+082965Y-027906X0984Y0000R000S0
|
||||
317NET-(D10-A) K10 -2 D0591PA00X+085465Y-026906X0984Y0000R000S0
|
||||
367N/C K7 D0689UA00X+059961Y-044654X0689Y0000R000S0
|
||||
367N/C K7 D1575UA00X+061961Y-044654X1575Y0000R000S0
|
||||
367N/C K7 D0689UA00X+063961Y-044654X0689Y0000R000S0
|
||||
317COLUMN?0 K7 -1 D0591PA00X+060461Y-043654X0984Y0000R000S0
|
||||
317NET-(D7-A) K7 -2 D0591PA00X+062961Y-042654X0984Y0000R000S0
|
||||
367N/C K6 D0689UA00X+074984Y-036780X0689Y0000R000S0
|
||||
367N/C K6 D1575UA00X+076984Y-036780X1575Y0000R000S0
|
||||
367N/C K6 D0689UA00X+078984Y-036780X0689Y0000R000S0
|
||||
317COLUMN?2 K6 -1 D0591PA00X+075484Y-035780X0984Y0000R000S0
|
||||
317NET-(D6-A) K6 -2 D0591PA00X+077984Y-034780X0984Y0000R000S0
|
||||
367N/C K9 D0689UA00X+074984Y-044654X0689Y0000R000S0
|
||||
367N/C K9 D1575UA00X+076984Y-044654X1575Y0000R000S0
|
||||
367N/C K9 D0689UA00X+078984Y-044654X0689Y0000R000S0
|
||||
317COLUMN?2 K9 -1 D0591PA00X+075484Y-043654X0984Y0000R000S0
|
||||
317NET-(D9-A) K9 -2 D0591PA00X+077984Y-042654X0984Y0000R000S0
|
||||
367N/C K4 D0689UA00X+059961Y-036780X0689Y0000R000S0
|
||||
367N/C K4 D1575UA00X+061961Y-036780X1575Y0000R000S0
|
||||
367N/C K4 D0689UA00X+063961Y-036780X0689Y0000R000S0
|
||||
317COLUMN?0 K4 -1 D0591PA00X+060461Y-035780X0984Y0000R000S0
|
||||
317NET-(D4-A) K4 -2 D0591PA00X+062961Y-034780X0984Y0000R000S0
|
||||
367N/C K8 D0689UA00X+067504Y-044654X0689Y0000R000S0
|
||||
367N/C K8 D1575UA00X+069504Y-044654X1575Y0000R000S0
|
||||
367N/C K8 D0689UA00X+071504Y-044654X0689Y0000R000S0
|
||||
317COLUMN?1 K8 -1 D0591PA00X+068004Y-043654X0984Y0000R000S0
|
||||
317NET-(D8-A) K8 -2 D0591PA00X+070504Y-042654X0984Y0000R000S0
|
||||
367N/C K3 D0689UA00X+074984Y-028906X0689Y0000R000S0
|
||||
367N/C K3 D1575UA00X+076984Y-028906X1575Y0000R000S0
|
||||
367N/C K3 D0689UA00X+078984Y-028906X0689Y0000R000S0
|
||||
317COLUMN?2 K3 -1 D0591PA00X+075484Y-027906X0984Y0000R000S0
|
||||
317NET-(D3-A) K3 -2 D0591PA00X+077984Y-026906X0984Y0000R000S0
|
||||
367N/C K2 D0689UA00X+067504Y-028906X0689Y0000R000S0
|
||||
367N/C K2 D1575UA00X+069504Y-028906X1575Y0000R000S0
|
||||
367N/C K2 D0689UA00X+071504Y-028906X0689Y0000R000S0
|
||||
317COLUMN?1 K2 -1 D0591PA00X+068004Y-027906X0984Y0000R000S0
|
||||
317NET-(D2-A) K2 -2 D0591PA00X+070504Y-026906X0984Y0000R000S0
|
||||
367N/C K5 D0689UA00X+067504Y-036780X0689Y0000R000S0
|
||||
367N/C K5 D1575UA00X+069504Y-036780X1575Y0000R000S0
|
||||
367N/C K5 D0689UA00X+071504Y-036780X0689Y0000R000S0
|
||||
317COLUMN?1 K5 -1 D0591PA00X+068004Y-035780X0984Y0000R000S0
|
||||
317NET-(D5-A) K5 -2 D0591PA00X+070504Y-034780X0984Y0000R000S0
|
||||
317ROW?2 D7 -1 D0315PA00X+065748Y-045669X0630Y0630R270S0
|
||||
317NET-(D7-A) D7 -2 D0315PA00X+065748Y-042669X0630Y0630R270S0
|
||||
317ROW?1 D5 -1 D0315PA00X+073228Y-037795X0630Y0630R270S0
|
||||
317NET-(D5-A) D5 -2 D0315PA00X+073228Y-034795X0630Y0630R270S0
|
||||
317ROW?2 D9 -1 D0315PA00X+080709Y-045669X0630Y0630R270S0
|
||||
317NET-(D9-A) D9 -2 D0315PA00X+080709Y-042669X0630Y0630R270S0
|
||||
317ROW?0 D1 -1 D0315PA00X+065748Y-029921X0630Y0630R270S0
|
||||
317NET-(D1-A) D1 -2 D0315PA00X+065748Y-026921X0630Y0630R270S0
|
||||
317ROW?1 D4 -1 D0315PA00X+065748Y-037795X0630Y0630R270S0
|
||||
317NET-(D4-A) D4 -2 D0315PA00X+065748Y-034795X0630Y0630R270S0
|
||||
317ROW?2 D8 -1 D0315PA00X+073228Y-045669X0630Y0630R270S0
|
||||
317NET-(D8-A) D8 -2 D0315PA00X+073228Y-042669X0630Y0630R270S0
|
||||
317ROW?0 D2 -1 D0315PA00X+073228Y-029921X0630Y0630R270S0
|
||||
317NET-(D2-A) D2 -2 D0315PA00X+073228Y-026921X0630Y0630R270S0
|
||||
317ROW?1 D6 -1 D0315PA00X+080709Y-037795X0630Y0630R270S0
|
||||
317NET-(D6-A) D6 -2 D0315PA00X+080709Y-034795X0630Y0630R270S0
|
||||
317ROW?0 D10 -1 D0315PA00X+088189Y-029921X0630Y0630R270S0
|
||||
317NET-(D10-A) D10 -2 D0315PA00X+088189Y-026921X0630Y0630R270S0
|
||||
317ROW?0 D3 -1 D0315PA00X+080709Y-029921X0630Y0630R270S0
|
||||
317NET-(D3-A) D3 -2 D0315PA00X+080709Y-026921X0630Y0630R270S0
|
||||
999
|
||||
22
hackpads/YeagPad/pcb/production/positions.csv
Normal file
22
hackpads/YeagPad/pcb/production/positions.csv
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
Designator,Mid X,Mid Y,Rotation,Layer
|
||||
D1,167.0,-72.19,90.0,bottom
|
||||
D10,224.0,-72.19,90.0,bottom
|
||||
D2,186.0,-72.19,90.0,bottom
|
||||
D3,205.0,-72.19,90.0,bottom
|
||||
D4,167.0,-92.19,90.0,bottom
|
||||
D5,186.0,-92.19,90.0,bottom
|
||||
D6,205.0,-92.19,90.0,bottom
|
||||
D7,167.0,-112.19,90.0,bottom
|
||||
D8,186.0,-112.19,90.0,bottom
|
||||
D9,205.0,-112.19,90.0,bottom
|
||||
K1,157.38,-71.255,0.0,top
|
||||
K10,214.54,-71.255,0.0,top
|
||||
K2,176.54,-71.255,0.0,top
|
||||
K3,195.54,-71.255,0.0,top
|
||||
K4,157.38,-91.255,0.0,top
|
||||
K5,176.54,-91.255,0.0,top
|
||||
K6,195.54,-91.255,0.0,top
|
||||
K7,157.38,-111.255,0.0,top
|
||||
K8,176.54,-111.255,0.0,top
|
||||
K9,195.54,-111.255,0.0,top
|
||||
U1,216.0175,-47.0,0.0,top
|
||||
|
BIN
hackpads/YeagPad/production/Base.stl
Normal file
BIN
hackpads/YeagPad/production/Base.stl
Normal file
Binary file not shown.
BIN
hackpads/YeagPad/production/Top_plate.stl
Normal file
BIN
hackpads/YeagPad/production/Top_plate.stl
Normal file
Binary file not shown.
BIN
hackpads/YeagPad/production/gerbers.zip
Normal file
BIN
hackpads/YeagPad/production/gerbers.zip
Normal file
Binary file not shown.
30
hackpads/YeagPad/production/main.py
Normal file
30
hackpads/YeagPad/production/main.py
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
import board
|
||||
|
||||
from kmk.kmk_keyboard import KMKKeyboard
|
||||
from kmk.scanners.keypad import KeysScanner
|
||||
from kmk.keys import KC
|
||||
from kmk.modules.macros import Press, Release, Tap, Macros
|
||||
from kmk.scanners import DiodeOrientation
|
||||
|
||||
keyboard = KMKKeyboard()
|
||||
|
||||
col_pins = (board.GP26, board.GP27, board.GP28, board.GP29)
|
||||
row_pins = (board.GP4, board.GP2, board.GP1)
|
||||
|
||||
diode_orientation = DiodeOrientation.COL2ROW
|
||||
|
||||
# Define your pins here!
|
||||
PINS = [board.D3, board.D4, board.D2, board.D1, board.D4, board.D2, board.D1, board.D4, board.D2, board.D1]
|
||||
|
||||
# Here you define the buttons corresponding to the pins
|
||||
# Look here for keycodes: https://github.com/KMKfw/kmk_firmware/blob/main/docs/en/keycodes.md
|
||||
# And here for macros: https://github.com/KMKfw/kmk_firmware/blob/main/docs/en/macros.md
|
||||
keyboard.keymap = [
|
||||
[KC.Q, KC.W, KC.E, KC.R,
|
||||
KC.A, KC.S, KC.D,
|
||||
KC.Z, KC.X, KC.C]
|
||||
]
|
||||
|
||||
# Start kmk!
|
||||
if __name__ == '__main__':
|
||||
keyboard.go()
|
||||
Loading…
Add table
Reference in a new issue