Compare commits

...

46 Commits

Author SHA1 Message Date
d9a90190f7 Generated models for left and right hand 2025-09-12 22:12:02 +02:00
0c68eedebe Create frame 2025-09-12 21:20:15 +02:00
0ff12f7b27 Updated case with space for rubber feet 2025-09-10 18:37:04 +02:00
d43b6f746a adjusting aux clearance 2025-08-31 22:50:17 +02:00
e5f475f01d Updated stl 2025-08-31 18:55:32 +02:00
a2f4acde16 Added missing clearance on length from top to aux 2025-08-31 18:55:11 +02:00
5d9b910e2f Fixed clearance for aux 2025-08-31 18:51:13 +02:00
bdc12079d2 case-right model update 2025-08-31 16:50:06 +02:00
8943ce30af fixed aux body clearance 2025-08-31 16:48:10 +02:00
5debc685dd Fixed pico clearance 2025-08-31 16:31:10 +02:00
69f7dbaea7 Adjusted pico usb hole and shell height 2025-08-31 16:26:43 +02:00
e2f74cb0a4 fix pico pcb clearance 2025-08-31 16:07:51 +02:00
d5a13970dd wip aligning pico clearance 2025-08-24 09:16:46 +02:00
2cb2fee571 added pico board 2025-08-23 22:13:13 +02:00
870351239b added clearance on bottom shim 2025-08-23 21:40:40 +02:00
dabde65968 Added pcb 2025-08-23 19:34:35 +02:00
29ed5e8e9a Added dampener on top of case 2025-08-23 18:44:25 +02:00
4780ff2e4f Wip case 2025-08-23 17:22:59 +02:00
a125d0f1a5 Fixed offsets on pico 2025-08-23 15:23:23 +02:00
924586b3f7 Fixed offsets on aux 2025-08-23 15:20:16 +02:00
5b83a62367 Fixed aux and pico 2025-08-23 14:50:24 +02:00
7540ca0285 Wip case 2025-08-23 09:59:24 +02:00
3a3fb829ff wip case 2025-08-22 22:13:20 +02:00
3202d53bda Started working on case 2025-08-15 22:20:41 +02:00
29a42d563b Generated models for top dampeners 2025-08-14 12:48:48 +02:00
97801f4d92 Mdify top-dampener for rev2 2025-08-13 21:42:15 +02:00
61777ac13f Wip top dampener for rev 2 2025-08-11 21:25:59 +02:00
3524068d10 Solved all errors and warnings 2025-08-03 14:33:02 +02:00
89f69ae68a Wiring up trrs 2025-07-30 20:50:58 +02:00
19974eac3e Fixed markdown syntax 2025-07-20 17:11:13 +02:00
abdf1c8956 Added instructions for flashing firmware 2025-07-20 17:10:44 +02:00
5ec21c78c0 Readme formatting 2025-07-20 17:08:35 +02:00
b1b93623a4 Readme 2025-07-20 17:07:56 +02:00
9bdf0c266e Fixed incorrectly connected power line 2025-07-20 16:41:12 +02:00
6eb1a84565 Updated readme 2025-07-20 16:35:03 +02:00
5b350c7fe0 Added assembled rev 1 image 2025-07-20 14:38:06 +02:00
b849ee76c5 Added rules 2025-07-19 10:33:11 +02:00
144c960452 Traced back 2025-07-19 09:41:45 +02:00
a3db009647 Traced rows 2025-07-19 09:04:52 +02:00
e567393b5b Positioned diodes and started tracing 2025-07-18 22:44:51 +02:00
03354dd716 Changed to smd diode footprint 2025-07-17 20:56:21 +02:00
2021eb19da Added checklist 2025-07-17 14:21:49 +02:00
29c187601d Added board edge and moved mcu+trrs 2025-07-16 22:10:09 +02:00
34434e5ab6 Added narrower and shifted layout 2025-07-15 20:35:46 +02:00
ca94ed61d1 Removed stray files 2025-07-15 17:44:41 +02:00
e0ac4d3e96 Removed submodules 2025-07-15 17:38:49 +02:00
46 changed files with 13287 additions and 107390 deletions

6
.gitmodules vendored
View File

@@ -1,6 +0,0 @@
[submodule "rev1/keyswitches"]
path = rev1/keyswitches
url = git@github.com:daprice/keyswitches.pretty.git
[submodule "rev2/keyswitches"]
path = rev2/keyswitches
url = git@github.com:daprice/keyswitches.pretty.git

View File

@@ -1,98 +0,0 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "",
"auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"pads": 1.0,
"shapes": 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": [
"vias",
"footprint_text",
"footprint_anchors",
"ratsnest",
"grid",
"footprints_front",
"footprints_back",
"footprint_values",
"footprint_references",
"tracks",
"drc_errors",
"drawing_sheet",
"bitmaps",
"pads",
"zones",
"drc_warnings",
"drc_exclusions",
"locked_item_shadows",
"conflict_shadows",
"shapes"
],
"visible_layers": "ffffffff_ffffffff_ffffffff_ffffffff",
"zone_display_mode": 0
},
"git": {
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": {
"filename": "5x6.kicad_prl",
"version": 5
},
"net_inspector_panel": {
"col_hidden": [],
"col_order": [],
"col_widths": [],
"custom_group_rules": [],
"expanded_rows": [],
"filter_by_net_name": true,
"filter_by_netclass": true,
"filter_text": "",
"group_by_constraint": false,
"group_by_netclass": false,
"show_unconnected_nets": false,
"show_zero_pad_nets": false,
"sort_ascending": true,
"sorting_column": -1
},
"open_jobsets": [],
"project": {
"files": []
},
"schematic": {
"selection_filter": {
"graphics": true,
"images": true,
"labels": true,
"lockedItems": false,
"otherItems": true,
"pins": true,
"symbols": true,
"text": true,
"wires": true
}
}
}

View File

@@ -1,643 +0,0 @@
{
"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": true,
"text_position": 0,
"units_format": 0
},
"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.8,
"height": 1.27,
"width": 2.54
},
"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": [
{
"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",
"creepage": "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_filters_mismatch": "ignore",
"footprint_symbol_mismatch": "warning",
"footprint_type_mismatch": "ignore",
"hole_clearance": "error",
"hole_to_hole": "warning",
"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",
"mirrored_text_on_front_layer": "warning",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"nonmirrored_text_on_back_layer": "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_on_edge_cuts": "error",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_angle": "error",
"track_dangling": "warning",
"track_segment_length": "error",
"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_groove_width": 0.0,
"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.005,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_onpthpad": true,
"td_onroundshapesonly": false,
"td_onsmdpad": true,
"td_ontrackend": false,
"td_onvia": 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": [
0.0
],
"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": [
{
"diameter": 0.0,
"drill": 0.0
}
],
"zones_allow_external_fillets": false
},
"ipc2581": {
"dist": "",
"distpn": "",
"internal_id": "",
"mfg": "",
"mpn": ""
},
"layer_pairs": [],
"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",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"endpoint_off_grid": "warning",
"extra_units": "error",
"footprint_filter": "ignore",
"footprint_link_issues": "warning",
"four_way_junction": "ignore",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"label_multiple_wires": "warning",
"lib_symbol_issues": "warning",
"lib_symbol_mismatch": "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",
"same_local_global_label": "warning",
"similar_label_and_power": "warning",
"similar_labels": "warning",
"similar_power": "warning",
"simulation_model_issue": "ignore",
"single_global_label": "ignore",
"unannotated": "error",
"unconnected_wire_endpoint": "warning",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "5x6.kicad_pro",
"version": 3
},
"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)",
"priority": 2147483647,
"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": 4
},
"net_colors": null,
"netclass_assignments": null,
"netclass_patterns": []
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"plot": "gerbers/",
"pos_files": "",
"specctra_dsn": "",
"step": "",
"svg": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"bom_export_filename": "${PROJECTNAME}.csv",
"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": true,
"label": "Footprint",
"name": "Footprint",
"show": true
},
{
"group_by": false,
"label": "Datasheet",
"name": "Datasheet",
"show": true
},
{
"group_by": false,
"label": "Description",
"name": "Description",
"show": false
},
{
"group_by": false,
"label": "Qty",
"name": "${QUANTITY}",
"show": true
},
{
"group_by": false,
"label": "#",
"name": "${ITEM_NUMBER}",
"show": false
},
{
"group_by": true,
"label": "DNP",
"name": "${DNP}",
"show": true
},
{
"group_by": true,
"label": "Exclude from BOM",
"name": "${EXCLUDE_FROM_BOM}",
"show": true
},
{
"group_by": true,
"label": "Exclude from Board",
"name": "${EXCLUDE_FROM_BOARD}",
"show": true
}
],
"filter_string": "",
"group_symbols": true,
"include_excluded_from_bom": true,
"name": "",
"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": "",
"space_save_all_events": true,
"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": [
[
"4dfe5325-5a71-454a-9f6c-c1dfa20e8cd5",
"Root"
]
],
"text_variables": {}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"board": {
"active_layer": 2,
"active_layer": 0,
"active_layer_preset": "All Layers",
"auto_track_width": true,
"hidden_netclasses": [],

View File

@@ -1681,7 +1681,7 @@
(uuid "26097132-5dee-42cb-8b7d-4e1bbf4e8aff")
)
(no_connect
(at 52.07 58.42)
(at 59.69 58.42)
(uuid "262688b0-3521-4d23-ac25-a0567ed948ea")
)
(no_connect
@@ -2776,7 +2776,7 @@
)
(wire
(pts
(xy 59.69 52.07) (xy 59.69 58.42)
(xy 52.07 52.07) (xy 52.07 58.42)
)
(stroke
(width 0)
@@ -3852,7 +3852,7 @@
)
(global_label "3v31"
(shape input)
(at 59.69 52.07 90)
(at 52.07 52.07 90)
(fields_autoplaced yes)
(effects
(font
@@ -3862,7 +3862,7 @@
)
(uuid "b9e8891c-cc6b-4dc6-b363-d57cd38fffdb")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 59.69 44.4887 90)
(at 52.07 44.4887 90)
(effects
(font
(size 1.27 1.27)

View File

@@ -1,25 +1,100 @@
# 5x6 split keyboard
# 5×6SplitKB (rev1)
I have been using the planck keyboard for 10 years and i find that i usually have to do awkward finger gymnastics to do shortcutr including numbers. This is an attempt at making a keyboard that is easier to use in those situations.
An ergonomic split keyboard designed for comfort, low height, and simplicity—without thumb clusters or wrist rests.
I choose to not have a thumb cluster since i don't find that very ergonomic to me.
![Assembled halves with TRRS cable](./images/assembled.jpeg)
## PCB
## Design Philosophy
### Front
After using the Planck keyboard for over 10 years, I found that common shortcuts—especially involving numbers—often require awkward finger gymnastics. This keyboard is an attempt to create something more comfortable and intuitive in those situations.
![images/front-pcb.png](images/front-pcb.png)
I also chose to remove the thumb cluster entirely, as I personally don't find them ergonomic. This layout avoids strain and keeps all keys within easy reach of the fingers.
### Back
Key ergonomic decisions include:
![images/back-pcb.png](images/back-pcb.png)
- **Low Profile**: With a total height of just **19.4mm**, no wrist rest is needed.
- **Split Layout**: Modeled after the Ergodox, allowing natural shoulder-width hand positioning.
- **No Thumb Cluster**: Reduces thumb strain by omitting thumb-specific keys.
## 3D models
## Specifications
### Front dampener
- **Layout**: 5 rows × 6 columns per side (ortholinear grid)
- **Total Height**: 19.4mm
- **Split Connection**: TRRS 3.5mm audio cable (easy to find and replace)
- **Microcontroller**: Raspberry Pi Pico (one per half)
- **PCB**: Reversible; same board used for both left and right
- **Assembly Method**:
- Held together with **2×4mm magnets**
- Requires **super glue** for final enclosure fit
This piece sits between the PCB and the switches to dampen the sound of the switches.
## Ordering Info
`3d-models/front-dampener.stl`
- You'll need to order **2× copies of the same PCB**
- Designed for **AISLER**, but probably compatible with other PCB manufacturers.
- On aisler you can simply upload the kicad pcb file directly.
- 2x Raspberry Pi Pico.
- 1x Usb micro b cable.
- 60x Kailh choc v2 switches.
- 60x 1u cherry mx compatible keycaps.
- 1x TRRS 3.5mm audio cable.
- 2x SMD TRRS connectors similar to [this one](https://www.electrokit.com/3.5mm-jack-4-pol-smd).
- Schematic is available on the site so that you find one with the same pinout and dimensions.
- 60x 1N4148 diodes.
- 14-22x small round rubber feet (optional, for the bottom of the case).
- 10x 2×4mm magnets for holding the chassi together.
![images/front-dampener.png](images/front-dampener.png)
## 3d printing
Will be updated as soon as i upload the 3d models.
For the right side:
- 1x [top dampener](./3d-models/top-dampener.stl)
- 1x [bot dampener](./3d-models/bot-dampener.stl)
For the left side:
- 1x [top dampener](./3d-models/top-dampener.stl) **Mirror this piece to make it for the left side**
- 1x [bot dampener](./3d-models/bot-dampener.stl) **Mirror this piece to make it for the left side**
## Assembly
### For each side:
1. Solder the TRRS connector.
1. Solder the Raspberry Pi Pico.
1. Solder the diodes.
1. Put the top dampener in place on top of the PCB.
1. Solder the switches.
1. Put the keycaps on the switches.
- It should now look [like this](./images/pcb-assembly.jpeg).
1. [Put on the rubber feet on the bottom of the case (optional)](./images/chassi-base-back.jpeg).
1. [Super glue the magnets to the bottom chassi](./images/chassi-base.jpeg).
1. [Place the bot dampener in the bottom chassi](./images/chassi-base-dampener.jpeg).
1. [Place the PCB assembly on top of the bot dampener](./images/pcb-assembly-in-chassi.jpeg).
1. [Place the top chassi piece up side down and super glue the magnets in place](./images/chassi-top-cover-backside.jpeg).
- **Important:** Make sure that you glue the magnets in the right direction so that they attract each other.
1. [Place the top chassi piece on top of the PCB assembly](./images/right-side-assembled.jpeg).
### Flashing the firmware
1. Dissconnect the TRRS cable if you have it connected.
1. While holding the reset button on the Raspberry Pi Pico, connect it to your computer via USB.
1. **Add steps on how to flash the firmware here once available**.
1. Do the same thing for the other half.
1. Dissconnect the kyboard from the computer and connect the TRRS cable.
1. Connect the keyboard to your computer.
1. You should now be able to use the keyboard.
## Image Gallery
Click to view:
- [Assembled halves with TRRS cable](./images/assembled.jpeg)
- [Side profile showing 19.4mm height](./images/side.jpeg)
## 🔗 Firmware
Firmware is based on **QMK**.
A link to the readme file will be added here as soon as he firmware branch is merged into the main repository.

BIN
rev1/images/assembled.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 371 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 KiB

BIN
rev1/images/side.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Submodule rev1/keyswitches deleted from 49083b8f0d

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.

View File

@@ -1,50 +0,0 @@
$fn = 32;
$space = 5;
$width = 15.2;
$length = $width;
$height = 0.4;
$holes = $height*4;
$columns = 6;
$rows = 5;
module pin(){
cylinder(h=$holes, r=1, center=false);
}
module switch(){
$xCenter = $width/2;
$yCenter = $length/2;
translate([$xCenter, $yCenter, 0])
cylinder(h=$holes, r=2.522, center=false);
translate([$xCenter + 0, $yCenter + 5.9,0])
pin();
translate([$xCenter + 5, $yCenter + 3.8,0])
pin();
translate([$xCenter + -5, $yCenter + 3.8,0])
pin();
translate([$xCenter + -5, $yCenter + -5.15,0])
pin();
translate([$xCenter + 5, $yCenter+-5.15,0])
pin();
}
module switches(){
for (x=[0:$columns -1])
for (y=[0:$rows-1])
translate([x * ($width + $space/2) ,y * ($length+$space/2) ,0])
switch();
}
module body(){
$x = (($width + ($space/2)) * $columns) + $width;
$y = (($length + ($space/2)) * $rows) + $width;
cube([$x, $y, $height]);
}
difference(){
body();
translate([$space,$space,$holes/2*-1])
switches();
}

Binary file not shown.

Binary file not shown.

View File

@@ -1,31 +1,64 @@
$fn = 32;
$space = 5.3;
$width = 15.2;
$space = 3;
$width = 15.5;
$length = $width;
$height = 1;
$holes = $height*4;
$cut = $holes/2*-1;
$clearance = 0.2;
$switchDistance = $width+ $space;
// shell width is set to double of actual shell width and results in haft of the actual value due to division by 2.
// this needs to be fixed
$shellWidth = 12;
$shellHeight = 3.5 + $clearance;
$columns = 6;
$rows = 5;
$fingerStep = 5;
$xBase = (($width + $space) * $columns) + $space;
$yBase = (($length + $space) * $rows) + $space;
$yTop = 30.750;
$xTop = 101.348;
$pcbHeight = 1.6;
$dampenerHeight = 1;
$xPico = 52.53;
$yPico = 25;
$pcbDampenerOffset = $pcbHeight + $dampenerHeight;
$xAux = 10;
$yAux = 14.5;
points = [
[0,0],
[0, $switchDistance * $rows],
[$switchDistance * 2, $switchDistance * $rows],
[$switchDistance * 2, $switchDistance * $rows + $fingerStep],
[$switchDistance * 3, $switchDistance * $rows + $fingerStep],
[$switchDistance * 3, $switchDistance * $rows],
[$switchDistance * 4, $switchDistance * $rows],
[$switchDistance * 4, $switchDistance * $rows - $fingerStep],
[$switchDistance * 6, $switchDistance * $rows - $fingerStep],
[$switchDistance * 6, 0 - $fingerStep],
[$switchDistance * 4, 0 - $fingerStep],
[$switchDistance * 4, 0],
[$switchDistance * 3, 0],
[$switchDistance * 3, 0 + $fingerStep],
[$switchDistance * 2, 0 + $fingerStep],
[$switchDistance * 2, 0],
];
picoUsbBody = [8, 5.66, 2.65];
jackBody = [15,6.15,5.3];
$footRadius = (6.4 + $clearance) /2;
$footHeight = 1.8;
module pin(){
cylinder(h=$holes, r=1, center=false);
}
module switch(){
module switch($diodesTop = false){
$xCenter = $width/2;
$yCenter = $length/2;
translate([$xCenter, $yCenter, 0])
@@ -40,41 +73,275 @@ module switch(){
pin();
translate([$xCenter + 5, $yCenter+-5.15,0])
pin();
translate([0, $length + 1.4, 0])
cube([$width, 3, $holes]);
translate([0, $length + 1.4, 0]);
$dDistanceFromCenter = $switchDistance/2;
$dWidth = 10.95;
$dHeight = 1.8;
if ($diodesTop){
translate([$xCenter - ($dWidth/2), $yCenter + $dDistanceFromCenter - ($dHeight/2), 0]){
cube([$dWidth, $dHeight, $holes]);
}
}
}
module switches(){
for (x=[0:$columns -1])
for (y=[0:$rows-1])
translate([x * ($width + $space) ,y * ($length+$space) ,0])
switch();
module switchColumn(){
difference() {
translate([-($space/2), -($space/2)])
cube([$switchDistance, $switchDistance * $rows, $height]);
for (y=[0:$rows-1]){
translate([0 * ($width + $space) ,y * ($length+$space) ,0]) {
switch(y<3);
}
}
}
}
module body(){
difference(){
cube([$xBase, $yBase + $yTop, $height]);
translate([$xTop,$yBase + $yTop,$holes/2*-1]){
rotate([0,0,-45]){
cube([1000, 1000, $holes]);
}
module rightTopDampener(){
union(){
switchColumn();
translate([$switchDistance,0,0])
switchColumn();
translate([$switchDistance * 2,5,0])
switchColumn();
translate([$switchDistance * 3,0,0])
switchColumn();
translate([$switchDistance * 4,-5,0])
switchColumn();
translate([$switchDistance * 5,-5,0])
switchColumn();
}
}
module leftTopDampener(){
rotate([0,180,0]){
rightTopDampener();
}
}
module topDampeners(){
translate([1.5,1.5,0]){
rightTopDampener();
}
//translate([-10,0,0]){
//leftTopDampener();
//}
}
$magnetWidth = 4;
$magnetRadius = ($magnetWidth / 2) + $clearance/2;
$magnetHeight = 2 + $clearance;
module magnets(){
$offset = ($shellWidth / 2 / 2) -0.8 ;
// Set Z-origin to align with shell top
translate([0, 0, $shellHeight -$magnetHeight]){
translate(points[0] + [-$offset, -$offset])
cylinder(h=$magnetHeight, r=$magnetRadius);
translate(points[1] + [-$offset, $offset])
cylinder(h=$magnetHeight, r=$magnetRadius);
translate(points[8] + [$offset, $offset])
cylinder(h=$magnetHeight, r=$magnetRadius);
translate(points[9] + [$offset, -$offset])
cylinder(h=$magnetHeight, r=$magnetRadius);
}
}
}
module pico(){
translate([0,$yTop + $yBase - $yPico,$cut]){
cube([$xPico, $yPico, $holes]);
$baseHeight = 7.6;
module aux(){
$topLeftOfPcbToCenterOfAux = 15.4;
$measurementPcbPlaneToCenterOfAux = 2.8;
$auxClearanceFromBase = $measurementPcbPlaneToCenterOfAux - $dampenerHeight;
$auxHoleRadius = 3.15 + $clearance *2;
$auxHoleLength = 17 + $shellWidth/2;
$auxCableRadius = 4.15 + $clearance *2;
// Move to the position along the wall the aux will be
translate([-($shellWidth/2 + $clearance),$switchDistance * $rows - $topLeftOfPcbToCenterOfAux + $clearance,-$auxClearanceFromBase])
// Make cylinder perpendicular with the wall
rotate([0,90,0]){
// Aux component clearance
//cylinder(h=$auxHoleLength,r=$auxHoleRadius);
rotate([0,270,0])
translate([$shellWidth + $clearance*2,0,0])
cube([jackBody.x + $clearance*20, jackBody.y + $clearance*2, jackBody.z + $clearance*2], center=true);
// Aux cable housing clearance
translate([0,0, -$clearance*2])
cylinder(h=($shellWidth/2) + ($clearance * 2),r=$auxCableRadius );
}
}
translate([$xPico, $yBase + $yTop - $yAux, $cut]){
cube([$xAux, $yAux, $holes]);
//TODO: Continue aligning pico clearance
module pico(){
$topLeftEdgeOfPcbToCenterOfUsb = 27.7;
$usbHoleWidth = 11.15+($clearance*2);
$usbHoleHeight = 7 + ($clearance *2);
$usbOffsetFromPcb = 4.1 - $pcbHeight;
$picoPcbClearanceFromBase = 5.4 - $pcbHeight;
$picoWidth = 25;
$picoLength = 53;
// Move to position along the wall the usb will be
// Hole should be centered on the pico usb
holeOffset = -$usbOffsetFromPcb - (($usbHoleHeight - picoUsbBody.z )/2);
translate([
$topLeftEdgeOfPcbToCenterOfUsb - ($usbHoleWidth/2),
$switchDistance * $rows,
holeOffset
]){
// Create a hole for the usb cable to go through
cube([
$usbHoleWidth,
$shellWidth,
$usbHoleHeight
]);
// Move inside the shell, nullify the usb clearance from pcb and move down according to pico clearance
translate([
-(($picoWidth - $usbHoleWidth)/2),
$clearance - $picoLength,
-holeOffset - $picoPcbClearanceFromBase
])
// Make clearance downwards for the pico board
cube([
$picoWidth,
$picoLength,
$picoPcbClearanceFromBase + $clearance
]);
}
}
module case(){
// Then adjust the shim, aux and pico.
// Last add magnets, don't forget the clearance.
module shim(){
$shimPoints = [
[0 - $shellWidth / 2, - $baseHeight],
[$switchDistance * $columns + $shellWidth/2 + $clearance, -$clearance],
[$switchDistance * $columns + $shellWidth/2 + $clearance, - ($baseHeight + $clearance)]
];
// Face z/x-plane
rotate([90,0,0])
// Move in front of model on the y-axis
translate([0,0,-500])
// Extrude it through the case
linear_extrude(99999)
polygon($shimPoints);
}
module body(){
union() {
linear_extrude($shellHeight){
difference(){
offset(r=$shellWidth/2 + $clearance, chamfer=true) polygon(points);
offset(r=$clearance) polygon(points);
}
}
translate([0,0,-$baseHeight])
linear_extrude($baseHeight){
offset(r=$shellWidth/2 + $clearance, chamfer=true) polygon(points);
}
}
}
module feet(){
module foot() {
cylinder(h = $footHeight, r = $footRadius, center = true);
}
// Inner side
translate([0,0,$footHeight/2-$baseHeight]){
translate([points[0].x, points[0].y, 0])
foot();
translate([points[1].x, points[1].y, 0])
foot();
}
// Outer side
translate([0, 0, -1]){
translate([points[9].x, points[9].y, 0])
foot();
translate([points[8].x, points[8].y, 0])
foot();
}
}
difference(){
body();
shim();
pico();
aux();
magnets();
feet();
}
}
module pcb() {
picoBody = [21, 51.5, 1];
module jack() {
translate([0,jackBody.y/2, jackBody.z/2])
rotate([0,90])
cylinder(r=2, h=2.2);
translate([2.2,0,0])
color("#333")
cube(jackBody);
}
module pcbPico(){
translate([0,-1.6,0])
color("#00aa00")
cube(picoBody);
translate([(picoBody.x - picoUsbBody.x)/2, picoBody.y - picoUsbBody.y, -picoUsbBody.z])
color("#666")
cube(picoUsbBody);
}
translate([0,0,$dampenerHeight]) {
color("#008800")
linear_extrude($pcbHeight)
polygon(points);
translate(points[1] + [0, -12.3 - jackBody.y])
translate([0,0,-jackBody.z])
color("#333")
jack();
translate(points[1] + [27.7 - picoBody.x/2, -picoBody.y])
translate([0,0,-picoBody.z])
pcbPico();
}
}
module lid(){
difference(){
translate([0,0,$shellHeight]){
union(){
linear_extrude($magnetHeight+0.2){
difference(){
offset(r=$shellWidth/2 + $clearance, chamfer=true) polygon(points);
offset(r=$clearance) polygon(points);
}
}
linear_extrude(1){
difference(){
offset(r=$clearance) polygon(points);
offset(r=-1.5, chamfer=true) polygon(points);
}
}
}
}
translate([0,0,$magnetHeight-0.1])
magnets();
}
}
module botDampener(){
difference(){
topDampeners();
aux();
translate([0,0,2])
pico();
}
}
difference(){
body();
pico();
translate([$space,$space,$holes/2*-1])
switches();
}
mirror([1,0,0]){
*%pcb();
*topDampeners();
*botDampener();
*case();
lid();
}

Binary file not shown.

View File

@@ -167,3 +167,42 @@
(constraint silk_clearance (min 0.15mm))
(layer outer)
(condition "A.Type == 'pad' && (B.Type == 'text' || B.Type == 'graphic')"))
(version 1.1)
#----------------------------------------------------------------------------------------------------
# AISLER custom DRC rules.
# Make Hardware less Hard.
#----------------------------------------------------------------------------------------------------
# We created these custom rules to warn you if your design hits our manufacturing bounderies.
# You can disable the custom rules by commenting them out, though we advise against it.
# These rules are valid as of May 2024, please check for updated ones on our forum.
# Please also note that these rules do not catch every single manufacturing limit.
# If you are not certain please check the documentation on our website.
#----------------------------------------------------------------------------------------------------
# As our tooling is finite we only support certain trough hole sizes.
# Please keep the plated trough holes below 5.6mm in diameter.
# We provide a community post for more details:
# https://community.aisler.net/t/plated-and-non-plated-holes/50
(rule "Max Drill Hole Size PTH"
(constraint hole_size (max 5.6mm))
(condition "A.Pad_Type == 'Through-hole'"))
#----------------------------------------------------------------------------------------------------
# We dont support micro or buried vias
(rule "Disallow buried via"
(constraint disallow buried_via))
(rule "Disallow micro via"
(constraint disallow micro_via))
#----------------------------------------------------------------------------------------------------
# The Soldermask is pulled back by a bit to account for slight missalignment during manufacturing.
# We do this on our own, please keep the soldermask margin set to 0.
#(rule "Disallow solder mask margin overrides"
# (constraint assertion "A.Soldermask_Margin_Override == null")
# (condition "A.Type == 'Pad'"))
#----------------------------------------------------------------------------------------------------

File diff suppressed because it is too large Load Diff

View File

@@ -1,19 +1,19 @@
{
"board": {
"active_layer": 2,
"active_layer": 3,
"active_layer_preset": "All Layers",
"auto_track_width": true,
"auto_track_width": false,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"images": 1.0,
"pads": 1.0,
"shapes": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
"zones": 1.0
},
"selection_filter": {
"dimensions": true,

View File

@@ -58,7 +58,80 @@
"width": 0.0
}
],
"drc_exclusions": [],
"drc_exclusions": [
[
"courtyards_overlap|149506761|42235598|2a5314d4-cfc9-4c31-be58-8995ea4ba19c|df9e9563-6518-43b1-9e0b-a8c8bc1d535b",
""
],
[
"courtyards_overlap|149506761|56105000|2a5314d4-cfc9-4c31-be58-8995ea4ba19c|c6759962-7046-434b-953b-8d7c225b9977",
""
],
[
"courtyards_overlap|149506761|74605000|2a5314d4-cfc9-4c31-be58-8995ea4ba19c|65886fa2-a4cc-4223-8a60-674b807f5151",
""
],
[
"courtyards_overlap|149506761|93105000|2a5314d4-cfc9-4c31-be58-8995ea4ba19c|cbb1a627-8b55-4f58-94ed-ca09b756d144",
""
],
[
"courtyards_overlap|153755000|42605000|2a5314d4-cfc9-4c31-be58-8995ea4ba19c|336a6570-2555-43d4-a20c-6bc337b70a55",
""
],
[
"courtyards_overlap|156030000|77205000|1344ae05-d583-471f-ace2-978c4b7e20d9|2a5314d4-cfc9-4c31-be58-8995ea4ba19c",
""
],
[
"courtyards_overlap|158315419|61105000|2a5314d4-cfc9-4c31-be58-8995ea4ba19c|d5796006-480c-498b-8ff8-e013b86820e5",
""
],
[
"courtyards_overlap|165831259|77205000|2a5314d4-cfc9-4c31-be58-8995ea4ba19c|b8982376-9625-4a5b-8e43-3de50666e2aa",
""
],
[
"courtyards_overlap|166951633|79605000|2a5314d4-cfc9-4c31-be58-8995ea4ba19c|50dedd87-992e-4b98-9f47-6b166b46a609",
""
],
[
"courtyards_overlap|172255000|42605000|0d292877-4922-4621-8b49-1abb0aa055fd|2a5314d4-cfc9-4c31-be58-8995ea4ba19c",
""
],
[
"courtyards_overlap|172255000|61105000|2a5314d4-cfc9-4c31-be58-8995ea4ba19c|81900aa2-cf3d-4d7f-9c43-6576f307fe91",
""
],
[
"courtyards_overlap|172255000|79605000|2a5314d4-cfc9-4c31-be58-8995ea4ba19c|3ae85090-df60-43e3-b7d1-11b0c0285196",
""
],
[
"hole_clearance|177980757|52150810|58a14f83-ba3c-4f0d-88b9-5f59fb0bc25d|fcc7e672-62cc-4ea9-ba5b-a086a9189795",
""
],
[
"hole_clearance|181070757|52150810|58a14f83-ba3c-4f0d-88b9-5f59fb0bc25d|aa934232-21ea-4ca3-a7c2-1b9d4bf20786",
""
],
[
"silk_overlap|172091071|77662295|f5f3b3f6-d64b-4329-893c-b090a0d1a913|1b8cbba3-f06c-4ea2-8448-ef2d90e60d61",
""
],
[
"silk_overlap|172091071|78462295|f5f3b3f6-d64b-4329-893c-b090a0d1a913|82c7edc0-3130-41ed-8cde-3c2922c976c0",
""
],
[
"solder_mask_bridge|177980757|52150810|58a14f83-ba3c-4f0d-88b9-5f59fb0bc25d|fcc7e672-62cc-4ea9-ba5b-a086a9189795",
""
],
[
"solder_mask_bridge|181070757|52150810|58a14f83-ba3c-4f0d-88b9-5f59fb0bc25d|aa934232-21ea-4ca3-a7c2-1b9d4bf20786",
""
]
],
"meta": {
"version": 2
},
@@ -123,20 +196,20 @@
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.0,
"min_clearance": 0.1,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.5,
"min_copper_edge_clearance": 0.2,
"min_groove_width": 0.0,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_hole_to_hole": 0.15,
"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_through_hole_diameter": 0.2,
"min_track_width": 0.1,
"min_via_annular_width": 0.1,
"min_via_diameter": 0.5,
"solder_mask_to_copper_clearance": 0.005,

View File

@@ -3214,7 +3214,7 @@
)
(global_label "col1"
(shape input)
(at 26.67 101.6 180)
(at 26.67 110.49 180)
(fields_autoplaced yes)
(effects
(font
@@ -3224,7 +3224,7 @@
)
(uuid "22392614-df0e-4b7e-bd7d-b04815986069")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 19.5725 101.6 0)
(at 19.5725 110.49 0)
(effects
(font
(size 1.27 1.27)
@@ -3323,28 +3323,6 @@
)
)
(global_label "row3"
(shape input)
(at 73.66 104.14 0)
(fields_autoplaced yes)
(effects
(font
(size 1.27 1.27)
)
(justify left)
)
(uuid "4008aa32-d0fc-41da-8495-56de1e4a6a81")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 81.1204 104.14 0)
(effects
(font
(size 1.27 1.27)
)
(justify left)
(hide yes)
)
)
)
(global_label "row1"
(shape input)
(at 73.66 110.49 0)
(fields_autoplaced yes)
@@ -3354,7 +3332,7 @@
)
(justify left)
)
(uuid "46425b61-5377-4a5e-86d4-7d8082aeb6b5")
(uuid "4008aa32-d0fc-41da-8495-56de1e4a6a81")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 81.1204 110.49 0)
(effects
@@ -3366,9 +3344,31 @@
)
)
)
(global_label "row1"
(shape input)
(at 73.66 104.14 0)
(fields_autoplaced yes)
(effects
(font
(size 1.27 1.27)
)
(justify left)
)
(uuid "46425b61-5377-4a5e-86d4-7d8082aeb6b5")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 81.1204 104.14 0)
(effects
(font
(size 1.27 1.27)
)
(justify left)
(hide yes)
)
)
)
(global_label "col4"
(shape input)
(at 264.16 92.71 0)
(at 264.16 83.82 0)
(fields_autoplaced yes)
(effects
(font
@@ -3378,7 +3378,7 @@
)
(uuid "4a41b230-f8c0-4638-8e3a-a7939098eaea")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 271.2575 92.71 0)
(at 271.2575 83.82 0)
(effects
(font
(size 1.27 1.27)
@@ -3434,7 +3434,7 @@
)
(global_label "col3"
(shape input)
(at 264.16 88.9 0)
(at 264.16 86.36 0)
(fields_autoplaced yes)
(effects
(font
@@ -3444,7 +3444,7 @@
)
(uuid "595de068-506e-474d-a18c-d7783b915ada")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 271.2575 88.9 0)
(at 271.2575 86.36 0)
(effects
(font
(size 1.27 1.27)
@@ -3566,7 +3566,7 @@
)
(global_label "row4"
(shape input)
(at 73.66 101.6 0)
(at 73.66 113.03 0)
(fields_autoplaced yes)
(effects
(font
@@ -3576,7 +3576,7 @@
)
(uuid "79191a96-7b19-42d5-8fa8-3123870e4f02")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 81.1204 101.6 0)
(at 81.1204 113.03 0)
(effects
(font
(size 1.27 1.27)
@@ -3587,28 +3587,6 @@
)
)
(global_label "col2"
(shape input)
(at 26.67 104.14 180)
(fields_autoplaced yes)
(effects
(font
(size 1.27 1.27)
)
(justify right)
)
(uuid "7aba4cb9-be97-48f6-b3c0-79e83d8e9ca1")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 19.5725 104.14 0)
(effects
(font
(size 1.27 1.27)
)
(justify right)
(hide yes)
)
)
)
(global_label "col3"
(shape input)
(at 26.67 106.68 180)
(fields_autoplaced yes)
@@ -3618,7 +3596,7 @@
)
(justify right)
)
(uuid "7d0ad0a8-03e1-4d9c-9f63-5ae6e9bd8a32")
(uuid "7aba4cb9-be97-48f6-b3c0-79e83d8e9ca1")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 19.5725 106.68 0)
(effects
@@ -3630,9 +3608,31 @@
)
)
)
(global_label "col3"
(shape input)
(at 26.67 104.14 180)
(fields_autoplaced yes)
(effects
(font
(size 1.27 1.27)
)
(justify right)
)
(uuid "7d0ad0a8-03e1-4d9c-9f63-5ae6e9bd8a32")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 19.5725 104.14 0)
(effects
(font
(size 1.27 1.27)
)
(justify right)
(hide yes)
)
)
)
(global_label "row0"
(shape input)
(at 217.17 95.25 180)
(at 217.17 83.82 180)
(fields_autoplaced yes)
(effects
(font
@@ -3642,7 +3642,7 @@
)
(uuid "8081eea2-b631-42a7-81c4-9f1eb8d7b2a3")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 209.7096 95.25 0)
(at 209.7096 83.82 0)
(effects
(font
(size 1.27 1.27)
@@ -3654,7 +3654,7 @@
)
(global_label "col0"
(shape input)
(at 26.67 99.06 180)
(at 26.67 113.03 180)
(fields_autoplaced yes)
(effects
(font
@@ -3664,7 +3664,7 @@
)
(uuid "8834e1c7-6987-47f2-8348-264ef6b19f7e")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 19.5725 99.06 0)
(at 19.5725 113.03 0)
(effects
(font
(size 1.27 1.27)
@@ -3742,7 +3742,7 @@
)
(global_label "col1"
(shape input)
(at 264.16 83.82 0)
(at 264.16 92.71 0)
(fields_autoplaced yes)
(effects
(font
@@ -3752,7 +3752,7 @@
)
(uuid "a4bc19d6-a5ed-4018-afaa-e208b813f9b8")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 271.2575 83.82 0)
(at 271.2575 92.71 0)
(effects
(font
(size 1.27 1.27)
@@ -3808,7 +3808,7 @@
)
(global_label "col2"
(shape input)
(at 264.16 86.36 0)
(at 264.16 88.9 0)
(fields_autoplaced yes)
(effects
(font
@@ -3818,7 +3818,7 @@
)
(uuid "b37ab151-d7ca-4ca0-9935-e75e8f279552")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 271.2575 86.36 0)
(at 271.2575 88.9 0)
(effects
(font
(size 1.27 1.27)
@@ -3874,7 +3874,7 @@
)
(global_label "col5"
(shape input)
(at 26.67 113.03 180)
(at 26.67 99.06 180)
(fields_autoplaced yes)
(effects
(font
@@ -3884,7 +3884,7 @@
)
(uuid "bd070ec8-92c7-4b42-95cb-1307bad4f82c")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 19.5725 113.03 0)
(at 19.5725 99.06 0)
(effects
(font
(size 1.27 1.27)
@@ -3918,7 +3918,7 @@
)
(global_label "col5"
(shape input)
(at 264.16 95.25 0)
(at 264.16 81.28 0)
(fields_autoplaced yes)
(effects
(font
@@ -3928,7 +3928,7 @@
)
(uuid "c6add70d-9f79-4623-aa68-beda8b834b5b")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 271.2575 95.25 0)
(at 271.2575 81.28 0)
(effects
(font
(size 1.27 1.27)
@@ -3962,7 +3962,7 @@
)
(global_label "row1"
(shape input)
(at 217.17 92.71 180)
(at 217.17 86.36 180)
(fields_autoplaced yes)
(effects
(font
@@ -3972,7 +3972,7 @@
)
(uuid "cfd89ff1-fa60-44e4-bea7-2efaafcf6d77")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 209.7096 92.71 0)
(at 209.7096 86.36 0)
(effects
(font
(size 1.27 1.27)
@@ -4050,7 +4050,7 @@
)
(global_label "col0"
(shape input)
(at 264.16 81.28 0)
(at 264.16 95.25 0)
(fields_autoplaced yes)
(effects
(font
@@ -4060,7 +4060,7 @@
)
(uuid "e1be2aeb-0344-4ef2-8077-5cdff60ba0cb")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 271.2575 81.28 0)
(at 271.2575 95.25 0)
(effects
(font
(size 1.27 1.27)
@@ -4094,7 +4094,7 @@
)
(global_label "row3"
(shape input)
(at 217.17 86.36 180)
(at 217.17 92.71 180)
(fields_autoplaced yes)
(effects
(font
@@ -4104,7 +4104,7 @@
)
(uuid "e50dbcee-98d4-4e0d-8306-23820386da5e")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 209.7096 86.36 0)
(at 209.7096 92.71 0)
(effects
(font
(size 1.27 1.27)
@@ -4116,7 +4116,7 @@
)
(global_label "col4"
(shape input)
(at 26.67 110.49 180)
(at 26.67 101.6 180)
(fields_autoplaced yes)
(effects
(font
@@ -4126,7 +4126,7 @@
)
(uuid "ea3fe6f5-2153-4b96-8967-5ea519ffbacf")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 19.5725 110.49 0)
(at 19.5725 101.6 0)
(effects
(font
(size 1.27 1.27)
@@ -4160,7 +4160,7 @@
)
(global_label "row4"
(shape input)
(at 217.17 83.82 180)
(at 217.17 95.25 180)
(fields_autoplaced yes)
(effects
(font
@@ -4170,7 +4170,7 @@
)
(uuid "f2c8a85a-71d0-495c-9087-44abd4bdea19")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 209.7096 83.82 0)
(at 209.7096 95.25 0)
(effects
(font
(size 1.27 1.27)
@@ -4182,7 +4182,7 @@
)
(global_label "row0"
(shape input)
(at 73.66 113.03 0)
(at 73.66 101.6 0)
(fields_autoplaced yes)
(effects
(font
@@ -4192,7 +4192,7 @@
)
(uuid "f6ad273d-a339-4705-b88d-be4d6994c770")
(property "Intersheetrefs" "${INTERSHEET_REFS}"
(at 81.1204 113.03 0)
(at 81.1204 101.6 0)
(effects
(font
(size 1.27 1.27)
@@ -4230,7 +4230,7 @@
(justify left)
)
)
(property "Footprint" "footprints:4ucon trrs 3.5 smd"
(property "Footprint" "footprints:4ucon trrs 3.5 smd back"
(at 41.91 148.59 0)
(effects
(font
@@ -4306,7 +4306,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 125.73 90.17 0)
(effects
(font
@@ -4444,7 +4444,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 151.13 90.17 0)
(effects
(font
@@ -4516,7 +4516,7 @@
(hide yes)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 163.83 148.59 0)
(effects
(font
@@ -4654,7 +4654,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 113.03 109.22 0)
(effects
(font
@@ -4792,7 +4792,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 151.13 129.54 0)
(effects
(font
@@ -4862,7 +4862,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 138.43 109.22 0)
(effects
(font
@@ -4932,7 +4932,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 100.33 69.85 0)
(effects
(font
@@ -5070,7 +5070,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 100.33 90.17 0)
(effects
(font
@@ -5140,7 +5140,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 125.73 109.22 0)
(effects
(font
@@ -5210,7 +5210,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 113.03 129.54 0)
(effects
(font
@@ -5348,7 +5348,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 151.13 69.85 0)
(effects
(font
@@ -5418,7 +5418,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 138.43 148.59 0)
(effects
(font
@@ -5488,7 +5488,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 151.13 109.22 0)
(effects
(font
@@ -5626,7 +5626,7 @@
(justify left)
)
)
(property "Footprint" "footprints:4ucon trrs 3.5 smd back"
(property "Footprint" "footprints:4ucon trrs 3.5 smd"
(at 232.41 130.81 0)
(effects
(font
@@ -5702,7 +5702,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 138.43 129.54 0)
(effects
(font
@@ -5840,7 +5840,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 113.03 69.85 0)
(effects
(font
@@ -6046,7 +6046,7 @@
(justify left)
)
)
(property "Footprint" "footprints:raspberry_pi_pico_SMD"
(property "Footprint" "footprints:raspberry_pi_pico_SMD_Reversed"
(at 50.8 116.84 0)
(effects
(font
@@ -6366,7 +6366,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 125.73 69.85 0)
(effects
(font
@@ -6436,7 +6436,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 100.33 109.22 0)
(effects
(font
@@ -6574,7 +6574,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 100.33 148.59 0)
(effects
(font
@@ -6644,7 +6644,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 138.43 90.17 0)
(effects
(font
@@ -7122,7 +7122,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 113.03 90.17 0)
(effects
(font
@@ -7192,7 +7192,7 @@
(justify left)
)
)
(property "Footprint" "footprints:raspberry_pi_pico_SMD_Reversed"
(property "Footprint" "footprints:raspberry_pi_pico_SMD"
(at 241.3 99.06 0)
(effects
(font
@@ -7444,7 +7444,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 125.73 129.54 0)
(effects
(font
@@ -7582,7 +7582,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 125.73 148.59 0)
(effects
(font
@@ -7652,7 +7652,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 100.33 129.54 0)
(effects
(font
@@ -7858,7 +7858,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 151.13 148.59 0)
(effects
(font
@@ -7998,7 +7998,7 @@
(hide yes)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 163.83 109.22 0)
(effects
(font
@@ -8136,7 +8136,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 113.03 148.59 0)
(effects
(font
@@ -8344,7 +8344,7 @@
(hide yes)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 163.83 129.54 0)
(effects
(font
@@ -8552,7 +8552,7 @@
(hide yes)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 163.83 90.17 0)
(effects
(font
@@ -8622,7 +8622,7 @@
(justify left)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 138.43 69.85 0)
(effects
(font
@@ -8762,7 +8762,7 @@
(hide yes)
)
)
(property "Footprint" "PCM_Diode_THT_AKL:D_DO-35_SOD27_P7.62mm_Horizontal"
(property "Footprint" "footprints:SODFL2512X100N"
(at 163.83 69.85 0)
(effects
(font

View File

@@ -1,5 +1,20 @@
# 5x6 split keyboard
## Checklist
- [x] Setup rev2 project and tidy up usage of footprints and symbols.
- [x] Fix wiring issue between mcu 1 and 2 (VSYS -> VBUS).
- [x] Setup new layout with height differences per finger and tighter spacing (20.5mm -> 18.5mm).
- [x] Create board edge with radius.
- [x] Swap footprint of front mcu + trrs jack to back and the other way around.
- [ ] Find good placement for mcu and trrs that won't require too much height addition.
- [ ] Figure out if aisler can manufacture layout.
- [ ] Draw traces.
- [ ] Re-design footprints so that silkscreen fits on the board and is also on the backside for the reversable ones.
- [ ] Make a decision on how the pcb will be mounted.
## What
I have been using the planck keyboard for 10 years and i find that i usually have to do awkward finger gymnastics to do shortcutr including numbers. This is an attempt at making a keyboard that is easier to use in those situations.
I choose to not have a thumb cluster since i don't find that very ergonomic to me.

View File

@@ -0,0 +1,154 @@
(footprint "SODFL2512X100N"
(version 20241229)
(generator "pcbnew")
(generator_version "9.0")
(layer "F.Cu")
(property "Reference" "REF**"
(at -0.268433 0.621393 0)
(layer "F.SilkS")
(uuid "0199bfc4-a91e-40dc-80e9-8cd243bb4b8d")
(effects
(font
(size 0.641026 0.641026)
(thickness 0.15)
)
)
)
(property "Value" "SODFL2512X100N"
(at 3.29389 1.46551 0)
(layer "F.Fab")
(uuid "8556be5d-487b-4aa8-ac3e-9ce92a9cf725")
(effects
(font
(size 0.640835 0.640835)
(thickness 0.15)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(layer "F.Fab")
(hide yes)
(uuid "5f00a6ea-113a-4548-ac95-838ea71c0f94")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(property "Description" ""
(at 0 0 0)
(layer "F.Fab")
(hide yes)
(uuid "88e5ebdd-079b-491c-a7d5-d891df416be3")
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr smd)
(fp_poly
(pts
(xy -0.625028 -0.625) (xy -0.2 -0.625) (xy -0.2 0.625028) (xy -0.625028 0.625028)
)
(stroke
(width 0.01)
(type solid)
)
(fill yes)
(layer "F.SilkS")
(uuid "11728349-eda9-43b1-8c7c-2ec89b078546")
)
(fp_line
(start -2.25 -0.9)
(end -2.25 0.9)
(stroke
(width 0.127)
(type solid)
)
(layer "F.CrtYd")
(uuid "1562c5e4-0961-489f-93b6-d24b8e7c8386")
)
(fp_line
(start -2.25 0.9)
(end 2.25 0.9)
(stroke
(width 0.127)
(type solid)
)
(layer "F.CrtYd")
(uuid "0abd2549-791b-43d2-979c-62172ad5d34b")
)
(fp_line
(start 2.25 -0.9)
(end -2.25 -0.9)
(stroke
(width 0.127)
(type solid)
)
(layer "F.CrtYd")
(uuid "22063ff8-7a6b-4cf9-8ccc-a7b4dee732a0")
)
(fp_line
(start 2.25 0.9)
(end 2.25 -0.9)
(stroke
(width 0.127)
(type solid)
)
(layer "F.CrtYd")
(uuid "198feb51-b0a0-4efe-a731-42de2a2d0e9d")
)
(fp_line
(start -0.85 0.625)
(end -0.85 -0.625)
(stroke
(width 0.127)
(type solid)
)
(layer "F.Fab")
(uuid "c1c22fdc-89d8-4eb3-b5f4-8631969c70d1")
)
(fp_line
(start 0.85 -0.625)
(end 0.85 0.625)
(stroke
(width 0.127)
(type solid)
)
(layer "F.Fab")
(uuid "c021f000-ea68-4b21-a392-b22f6d747244")
)
(pad "1" smd rect
(at -1.4 0)
(size 1.05 0.6)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.102)
(uuid "4bb957a0-6b17-47a1-be58-ae36098820ca")
)
(pad "1" smd rect
(at -1.4 0 180)
(size 1.05 0.6)
(layers "B.Cu" "B.Mask" "B.Paste")
(solder_mask_margin 0.102)
(uuid "1e440ea1-c4fc-415a-92a9-ba2260865b05")
)
(pad "2" smd rect
(at 1.4 0)
(size 1.05 0.6)
(layers "F.Cu" "F.Mask" "F.Paste")
(solder_mask_margin 0.102)
(uuid "ab077e4e-218e-41ec-a860-a706ef6ccc39")
)
(pad "2" smd rect
(at 1.4 0 180)
(size 1.05 0.6)
(layers "B.Cu" "B.Mask" "B.Paste")
(solder_mask_margin 0.102)
(uuid "373ab534-3929-4fd1-a5a5-8e23419df1ec")
)
(embedded_fonts no)
)

View File

@@ -6,7 +6,7 @@
(descr "Kailh Choc keyswitch V2 CPG1353 V2 Keycap 1.00u")
(tags "Kailh Choc Keyswitch Switch CPG1353 V2 Cutout Keycap 1.00u")
(property "Reference" "REF**"
(at 0 -9 0)
(at 0 5 0)
(layer "F.SilkS")
(uuid "7c6db83b-c874-4c1f-bb52-c51b3e5897cd")
(effects
@@ -52,46 +52,6 @@
)
)
(attr through_hole)
(fp_line
(start -7.6 -7.6)
(end -7.6 7.6)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "66bb8a2f-13ee-4bf7-889a-d0b3687a95e6")
)
(fp_line
(start -7.6 7.6)
(end 7.6 7.6)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "c6d94861-863a-44a5-beda-5cbb53b15b38")
)
(fp_line
(start 7.6 -7.6)
(end -7.6 -7.6)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "715c9775-0db7-47d2-a787-3f0feb4fe892")
)
(fp_line
(start 7.6 7.6)
(end 7.6 -7.6)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "10d68806-d206-447f-9ce8-62904796b3b3")
)
(fp_line
(start -9 -8.5)
(end -9 8.5)

View File

@@ -57,7 +57,7 @@
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(layer "Dwgs.User")
(uuid "7f52d787-caa3-4a92-b1b2-19d554dc29a4")
)
(fp_line
@@ -67,7 +67,7 @@
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(layer "Dwgs.User")
(uuid "5b34a16c-5a14-4291-8242-ea6d6ac54372")
)
(fp_line
@@ -77,7 +77,7 @@
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(layer "Dwgs.User")
(uuid "35a9f71f-ba35-47f6-814e-4106ac36c51e")
)
(fp_line
@@ -87,7 +87,7 @@
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(layer "Dwgs.User")
(uuid "a9151152-52fe-4afc-8041-39cdff086dfd")
)
(fp_line
@@ -97,7 +97,7 @@
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(layer "Dwgs.User")
(uuid "c57535cc-72f8-4a99-b895-0650f4deb61b")
)
(fp_line
@@ -107,7 +107,7 @@
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(layer "Dwgs.User")
(uuid "c701ee8e-1214-4781-a973-17bef7b6e3eb")
)
(fp_line
@@ -117,7 +117,7 @@
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(layer "Dwgs.User")
(uuid "6781326c-6e0d-4753-8f28-0f5c687e01f9")
)
(fp_line
@@ -127,7 +127,7 @@
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(layer "Dwgs.User")
(uuid "3a301672-130c-40ac-9161-bd4db669ea2c")
)
(fp_line
@@ -137,7 +137,7 @@
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(layer "Dwgs.User")
(uuid "c8029a4c-945d-42ca-871a-dd73ff50a1a3")
)
(fp_line
@@ -570,5 +570,13 @@
(roundrect_rratio 0.25)
(uuid "7cee474b-af8f-4832-b07a-c43c1ab0b464")
)
(group ""
(uuid "28f307f8-e433-4837-b440-c9749e184c87")
(members "35a9f71f-ba35-47f6-814e-4106ac36c51e" "3a301672-130c-40ac-9161-bd4db669ea2c"
"5b34a16c-5a14-4291-8242-ea6d6ac54372" "6781326c-6e0d-4753-8f28-0f5c687e01f9"
"a9151152-52fe-4afc-8041-39cdff086dfd" "c57535cc-72f8-4a99-b895-0650f4deb61b"
"c701ee8e-1214-4781-a973-17bef7b6e3eb" "c8029a4c-945d-42ca-871a-dd73ff50a1a3"
)
)
(embedded_fonts no)
)

View File

@@ -61,9 +61,29 @@
(width 0.12)
(type solid)
)
(layer "B.SilkS")
(layer "Dwgs.User")
(uuid "c8029a4c-945d-42ca-871a-dd73ff50a1a3")
)
(fp_line
(start -10.479999 -25.58)
(end -3.486665 -25.58)
(stroke
(width 0.12)
(type solid)
)
(layer "Dwgs.User")
(uuid "1ee44092-8c49-401d-9df4-130e39ea4442")
)
(fp_line
(start -3.5 -21.3)
(end -3.5 -25.58)
(stroke
(width 0.1)
(type solid)
)
(layer "Dwgs.User")
(uuid "a07546f7-b981-4e25-a095-53756608239e")
)
(fp_line
(start -3.496666 -26.8)
(end 3.496666 -26.8)
@@ -71,7 +91,7 @@
(width 0.12)
(type solid)
)
(layer "B.SilkS")
(layer "Dwgs.User")
(uuid "c701ee8e-1214-4781-a973-17bef7b6e3eb")
)
(fp_line
@@ -81,7 +101,7 @@
(width 0.12)
(type solid)
)
(layer "B.SilkS")
(layer "Dwgs.User")
(uuid "6781326c-6e0d-4753-8f28-0f5c687e01f9")
)
(fp_line
@@ -91,9 +111,29 @@
(width 0.12)
(type solid)
)
(layer "B.SilkS")
(layer "Dwgs.User")
(uuid "3a301672-130c-40ac-9161-bd4db669ea2c")
)
(fp_line
(start -3.486665 -26.8)
(end 3.506667 -26.8)
(stroke
(width 0.12)
(type solid)
)
(layer "Dwgs.User")
(uuid "f5647e46-9a43-4d1b-becd-55c3762fa31f")
)
(fp_line
(start -3.486665 -25.58)
(end -3.486665 -26.8)
(stroke
(width 0.12)
(type solid)
)
(layer "Dwgs.User")
(uuid "e422e738-11ab-4e51-a526-f1f69a4c1c66")
)
(fp_line
(start 3.496666 -26.8)
(end 3.496666 -25.58)
@@ -101,7 +141,7 @@
(width 0.12)
(type solid)
)
(layer "B.SilkS")
(layer "Dwgs.User")
(uuid "5b34a16c-5a14-4291-8242-ea6d6ac54372")
)
(fp_line
@@ -111,7 +151,7 @@
(width 0.12)
(type solid)
)
(layer "B.SilkS")
(layer "Dwgs.User")
(uuid "a9151152-52fe-4afc-8041-39cdff086dfd")
)
(fp_line
@@ -121,7 +161,7 @@
(width 0.12)
(type solid)
)
(layer "B.SilkS")
(layer "Dwgs.User")
(uuid "35a9f71f-ba35-47f6-814e-4106ac36c51e")
)
(fp_line
@@ -131,9 +171,49 @@
(width 0.12)
(type solid)
)
(layer "B.SilkS")
(layer "Dwgs.User")
(uuid "c57535cc-72f8-4a99-b895-0650f4deb61b")
)
(fp_line
(start 3.506667 -26.8)
(end 3.506667 -25.58)
(stroke
(width 0.12)
(type solid)
)
(layer "Dwgs.User")
(uuid "92d70718-aa86-4a18-b315-6545dbdc429a")
)
(fp_line
(start 3.506667 -25.58)
(end 3.506667 -21.3)
(stroke
(width 0.1)
(type solid)
)
(layer "Dwgs.User")
(uuid "8a761120-2b86-4b6c-a778-1c4f829cf7ae")
)
(fp_line
(start 3.506667 -25.58)
(end 10.5 -25.58)
(stroke
(width 0.12)
(type solid)
)
(layer "Dwgs.User")
(uuid "06729a9b-4220-4eaa-8fb0-1b8566eb5cbc")
)
(fp_line
(start 3.506667 -21.3)
(end -3.5 -21.3)
(stroke
(width 0.1)
(type solid)
)
(layer "Dwgs.User")
(uuid "3ecca0b5-acf4-4897-9f0f-56c3b93a736e")
)
(fp_line
(start 10.49 25.58)
(end -10.489999 25.58)
@@ -141,9 +221,19 @@
(width 0.12)
(type solid)
)
(layer "B.SilkS")
(layer "Dwgs.User")
(uuid "7f52d787-caa3-4a92-b1b2-19d554dc29a4")
)
(fp_line
(start 10.500001 25.58)
(end -10.479998 25.58)
(stroke
(width 0.12)
(type solid)
)
(layer "Dwgs.User")
(uuid "69912514-1ce7-441f-93e2-db08134b81e1")
)
(fp_line
(start -12 -25.7)
(end -12 25.7)
@@ -184,16 +274,6 @@
(layer "B.CrtYd")
(uuid "e40e8cef-4fb0-4fc3-be09-3875b2cc8469")
)
(fp_line
(start -10.479999 -25.58)
(end -3.486665 -25.58)
(stroke
(width 0.12)
(type solid)
)
(layer "B.Fab")
(uuid "1ee44092-8c49-401d-9df4-130e39ea4442")
)
(fp_line
(start -10.479998 25.58)
(end -10.479999 -25.58)
@@ -204,76 +284,6 @@
(layer "B.Fab")
(uuid "11f1e24a-f234-464f-936a-7176a2ff1ea1")
)
(fp_line
(start -3.5 -21.3)
(end -3.5 -25.58)
(stroke
(width 0.1)
(type solid)
)
(layer "B.Fab")
(uuid "a07546f7-b981-4e25-a095-53756608239e")
)
(fp_line
(start -3.486665 -26.8)
(end 3.506667 -26.8)
(stroke
(width 0.12)
(type solid)
)
(layer "B.Fab")
(uuid "f5647e46-9a43-4d1b-becd-55c3762fa31f")
)
(fp_line
(start -3.486665 -25.58)
(end -3.486665 -26.8)
(stroke
(width 0.12)
(type solid)
)
(layer "B.Fab")
(uuid "e422e738-11ab-4e51-a526-f1f69a4c1c66")
)
(fp_line
(start 3.506667 -26.8)
(end 3.506667 -25.58)
(stroke
(width 0.12)
(type solid)
)
(layer "B.Fab")
(uuid "92d70718-aa86-4a18-b315-6545dbdc429a")
)
(fp_line
(start 3.506667 -25.58)
(end 3.506667 -21.3)
(stroke
(width 0.1)
(type solid)
)
(layer "B.Fab")
(uuid "8a761120-2b86-4b6c-a778-1c4f829cf7ae")
)
(fp_line
(start 3.506667 -25.58)
(end 10.5 -25.58)
(stroke
(width 0.12)
(type solid)
)
(layer "B.Fab")
(uuid "06729a9b-4220-4eaa-8fb0-1b8566eb5cbc")
)
(fp_line
(start 3.506667 -21.3)
(end -3.5 -21.3)
(stroke
(width 0.1)
(type solid)
)
(layer "B.Fab")
(uuid "3ecca0b5-acf4-4897-9f0f-56c3b93a736e")
)
(fp_line
(start 10.5 -25.58)
(end 10.500001 25.58)
@@ -284,16 +294,6 @@
(layer "B.Fab")
(uuid "9a1a36ae-83d2-42f4-8400-f832c995665b")
)
(fp_line
(start 10.500001 25.58)
(end -10.479998 25.58)
(stroke
(width 0.12)
(type solid)
)
(layer "B.Fab")
(uuid "69912514-1ce7-441f-93e2-db08134b81e1")
)
(pad "1" smd roundrect
(at 10 -24.13 90)
(size 1.5 3)

View File

@@ -1,4 +1,4 @@
20789439745838261
20787693292657309
PCM_Capacitor_SMD_AKL
CP_Elec_5x3
SMD capacitor, aluminum electrolytic, Nichicon, 5.0x3.0mm, Alternate KiCad Library
@@ -83278,20 +83278,6 @@ Ultra Subminiature Basic Micro Switch D2F
0
3
3
electrokit
4ucon trrs 3.5 smd
0
4
4
electrokit
4ucon trrs 3.5 smd back
0
4
4
footprints
4ucon trrs 3.5 smd
@@ -83307,6 +83293,13 @@ footprints
4
4
footprints
SODFL2512X100N
0
4
2
footprints
SW_Kailh_Choc_V2_1.00u_double-sided
Kailh Choc keyswitch V2 CPG1353 V2 Keycap 1.00u
Kailh Choc Keyswitch Switch CPG1353 V2 Cutout Keycap 1.00u

Submodule rev2/keyswitches deleted from 49083b8f0d