Sniqx Pad V1

This commit is contained in:
Arnav Kumar 2025-02-08 00:22:14 +05:30 committed by GitHub
parent d4f7680081
commit d318c0b6a6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
30 changed files with 193763 additions and 0 deletions

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,109 @@
ISO-10303-21;
HEADER;
/* Generated by software containing ST-Developer
* from STEP Tools, Inc. (www.steptools.com)
*/
FILE_DESCRIPTION(
/* description */ ('',
'CAx-IF Rec.Pracs.---Representation and Presentation of Product Manufa
cturing Information (PMI)---4.0---2014-10-13'),
/* implementation_level */ '2;1');
FILE_NAME(
/* name */ 'sniqx_pad.step',
/* time_stamp */ '2025-02-07T23:19:55+05:30',
/* author */ (''),
/* organization */ (''),
/* preprocessor_version */ 'ST-DEVELOPER v20',
/* originating_system */ 'Autodesk Translation Framework v13.20.0.188',
/* authorisation */ '');
FILE_SCHEMA (('INTEGRATED_CNC_SCHEMA','AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF { 1 0 10303 442 1 1 4 }'));
ENDSEC;
DATA;
#10=MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(),#30);
#11=DERIVED_UNIT_ELEMENT(#13,1.);
#12=DERIVED_UNIT_ELEMENT(#32,-3.);
#13=(
MASS_UNIT()
NAMED_UNIT(*)
SI_UNIT(.KILO.,.GRAM.)
);
#14=DERIVED_UNIT((#11,#12));
#15=MEASURE_REPRESENTATION_ITEM('density measure',
POSITIVE_RATIO_MEASURE(7850.),#14);
#16=PROPERTY_DEFINITION_REPRESENTATION(#21,#18);
#17=PROPERTY_DEFINITION_REPRESENTATION(#22,#19);
#18=REPRESENTATION('material name',(#20),#29);
#19=REPRESENTATION('density',(#15),#29);
#20=DESCRIPTIVE_REPRESENTATION_ITEM('Steel','Steel');
#21=PROPERTY_DEFINITION('material property','material name',#39);
#22=PROPERTY_DEFINITION('material property','density of part',#39);
#23=AXIS2_PLACEMENT_3D('',#26,#24,#25);
#24=DIRECTION('axis',(0.,0.,1.));
#25=DIRECTION('refdir',(1.,0.,0.));
#26=CARTESIAN_POINT('',(0.,0.,0.));
#27=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.01),#31,
'DISTANCE_ACCURACY_VALUE',
'Maximum model space distance between geometric entities at asserted c
onnectivities');
#28=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.01),#31,
'DISTANCE_ACCURACY_VALUE',
'Maximum model space distance between geometric entities at asserted c
onnectivities');
#29=(
GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#27))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#31,#33,#34))
REPRESENTATION_CONTEXT('','3D')
);
#30=(
GEOMETRIC_REPRESENTATION_CONTEXT(3)
GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#28))
GLOBAL_UNIT_ASSIGNED_CONTEXT((#31,#33,#34))
REPRESENTATION_CONTEXT('','3D')
);
#31=(
LENGTH_UNIT()
NAMED_UNIT(*)
SI_UNIT(.MILLI.,.METRE.)
);
#32=(
LENGTH_UNIT()
NAMED_UNIT(*)
SI_UNIT($,.METRE.)
);
#33=(
NAMED_UNIT(*)
PLANE_ANGLE_UNIT()
SI_UNIT($,.RADIAN.)
);
#34=(
NAMED_UNIT(*)
SI_UNIT($,.STERADIAN.)
SOLID_ANGLE_UNIT()
);
#35=SHAPE_DEFINITION_REPRESENTATION(#36,#37);
#36=PRODUCT_DEFINITION_SHAPE('',$,#39);
#37=SHAPE_REPRESENTATION('',(#23),#29);
#38=PRODUCT_DEFINITION_CONTEXT('part definition',#43,'design');
#39=PRODUCT_DEFINITION('(Unsaved)','(Unsaved)',#40,#38);
#40=PRODUCT_DEFINITION_FORMATION('',$,#45);
#41=PRODUCT_RELATED_PRODUCT_CATEGORY('(Unsaved)','(Unsaved)',(#45));
#42=APPLICATION_PROTOCOL_DEFINITION('international standard',
'ap242_managed_model_based_3d_engineering',2011,#43);
#43=APPLICATION_CONTEXT('Managed model based 3d engineering');
#44=PRODUCT_CONTEXT('part definition',#43,'mechanical');
#45=PRODUCT('(Unsaved)','(Unsaved)',$,(#44));
#46=PRESENTATION_STYLE_ASSIGNMENT((#47));
#47=SURFACE_STYLE_USAGE(.BOTH.,#48);
#48=SURFACE_SIDE_STYLE('',(#49));
#49=SURFACE_STYLE_FILL_AREA(#50);
#50=FILL_AREA_STYLE('Steel - Satin',(#51));
#51=FILL_AREA_STYLE_COLOUR('Steel - Satin',#52);
#52=COLOUR_RGB('Steel - Satin',0.627450980392157,0.627450980392157,0.627450980392157);
ENDSEC;
END-ISO-10303-21;

View file

@ -0,0 +1,2 @@
#define ENCODER_A_PINS { GP0 }
#define ENCODER_B_PINS { GP1 }

View file

@ -0,0 +1,42 @@
{
"manufacturer": "Arnav Kumar",
"keyboard_name": "sniqx_pad",
"maintainer": "arnav-kr",
"bootloader": "rp2040",
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"matrix_pins": {
"cols": ["GP26", "GP27", "GP28", "GP29"],
"rows": ["GP2", "GP4", "GP3"]
},
"processor": "RP2040",
"url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
"vid": "0xFEED"
},
"layouts": {
"LAYOUT_ortho_4x4": {
"layout": [
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2}
]
}
}
}

View file

@ -0,0 +1,41 @@
// Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
*
* V P
*
* esc d i Etr
*
* h j k l
*
*/
[0] = LAYOUT_ortho_3x4(
KC_V, KC_P, KC_NO, KC_NO,
KC_ESC, KC_D, KC_I, KC_ENT,
KC_H, KC_J, KC_K, KC_L
)
};
const uint16_t PROGMEM encoder_map[][1][2] = {
[0] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
};
#ifdef OLED_ENABLE
void oled_render_boot(bool bootloader) {
oled_clear();
for (int i = 0; i < 16; i++) {
oled_set_cursor(0, i);
if (bootloader) {
oled_write_P(PSTR("Awaiting New Firmware "), false);
} else {
oled_write_P(PSTR("Rebooting "), false);
}
}
oled_render_dirty(true);
}
#endif

View file

@ -0,0 +1,27 @@
# Sniqx Pad V1
<!-- ![sniqx_pad](imgur.com image replace me!) -->
*A short description of the keyboard/project*
* Keyboard Maintainer: [Arnav Kumar](https://github.com/arnav-kr)
* Hardware Supported: *The PCBs, controllers supported*
* Hardware Availability: *Links to where you can find this hardware*
Make example for this keyboard (after setting up your build environment):
make sniqx_pad:default
Flashing example for this keyboard:
make sniqx_pad:default:flash
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
## Bootloader
Enter the bootloader in 3 ways:
* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available

View file

@ -0,0 +1,10 @@
LTO_ENABLE = yes
# OLED
OLED_ENABLE = yes
OLED_DRIVER = ssd1306
OLED_TRANSPORT = i2c
# Rotary Encoder
ENCODER_ENABLE = yes
ENCODER_MAP_ENABLE = yes

163327
hackpads/sniqx_pad/PCB/PCB.step Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
{"EXTRA_LAYERS": "", "ALL_ACTIVE_LAYERS": false, "EXTEND_EDGE_CUT": false, "ALTERNATIVE_EDGE_CUT": false, "AUTO TRANSLATE": true, "AUTO FILL": true, "EXCLUDE DNP": false}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,82 @@
{
"board": {
"active_layer": 37,
"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,
"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,
13,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36,
39,
40
],
"visible_layers": "fffffff_ffffffff",
"zone_display_mode": 0
},
"git": {
"repo_password": "",
"repo_type": "",
"repo_username": "",
"ssh_key": ""
},
"meta": {
"filename": "hackpad_v2.kicad_prl",
"version": 3
},
"project": {
"files": []
}
}

View 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.005,
"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": "hackpad_v2.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": "hackpad.step",
"svg": "",
"vrml": ""
},
"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": [
[
"2d62b65d-e783-4a28-af03-edeca7790825",
"Root"
]
],
"text_variables": {}
}

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,6 @@
Designator,Footprint,Quantity,Value,LCSC Part #
"D1, D10, D11, D12, D4, D5, D6, D7, D8, D9",Diode_DO-35,10,1N4148,
E11,RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm,1,RotaryEncoder_Switch,
J1,OLED_128x32,1,OLED_128x32,
"SW1, SW10, SW11, SW12, SW5, SW6, SW7, SW8, SW9",MX_PCB_1.00u,9,SW_Push_45deg,
U1,XIAO-RP2040-DIP,1,XIAO-RP2040-DIP,
1 Designator Footprint Quantity Value LCSC Part #
2 D1, D10, D11, D12, D4, D5, D6, D7, D8, D9 Diode_DO-35 10 1N4148
3 E11 RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm 1 RotaryEncoder_Switch
4 J1 OLED_128x32 1 OLED_128x32
5 SW1, SW10, SW11, SW12, SW5, SW6, SW7, SW8, SW9 MX_PCB_1.00u 9 SW_Push_45deg
6 U1 XIAO-RP2040-DIP 1 XIAO-RP2040-DIP

View file

@ -0,0 +1,22 @@
D1:1
D10:1
D11:1
D12:1
D4:1
D5:1
D6:1
D7:1
D8:1
D9:1
E11:1
J1:1
SW1:1
SW10:1
SW11:1
SW12:1
SW5:1
SW6:1
SW7:1
SW8:1
SW9:1
U1:1
1 D1:1
2 D10:1
3 D11:1
4 D12:1
5 D4:1
6 D5:1
7 D6:1
8 D7:1
9 D8:1
10 D9:1
11 E11:1
12 J1:1
13 SW1:1
14 SW10:1
15 SW11:1
16 SW12:1
17 SW5:1
18 SW6:1
19 SW7:1
20 SW8:1
21 SW9:1
22 U1:1

Binary file not shown.

View file

@ -0,0 +1,109 @@
P CODE 00
P UNITS CUST 0
P arrayDim N
317(U1-3V3-PAD12) VIA MD0118PA00X+057125Y-034498X0236Y0000R000S3
317NET-(D6-A) SW6 -2 D0591PA00X+057125Y-040498X0984Y0000R000S0
317COLUMN2 SW6 -1 D0591PA00X+054625Y-041498X0984Y0000R000S0
367N/C SW6 D0689UA00X+058125Y-042498X0689Y0000R000S0
367N/C SW6 D1575UA00X+056125Y-042498X1575Y0000R000S0
367N/C SW6 D0689UA00X+054125Y-042498X0689Y0000R000S0
317NET-(D7-A) SW7 -2 D0591PA00X+064625Y-040498X0984Y0000R000S0
317COLUMN3 SW7 -1 D0591PA00X+062125Y-041498X0984Y0000R000S0
367N/C SW7 D0689UA00X+065625Y-042498X0689Y0000R000S0
367N/C SW7 D1575UA00X+063625Y-042498X1575Y0000R000S0
367N/C SW7 D0689UA00X+061625Y-042498X0689Y0000R000S0
317NET-(D5-A) SW5 -2 D0591PA00X+049625Y-040498X0984Y0000R000S0
317COLUMN1 SW5 -1 D0591PA00X+047125Y-041498X0984Y0000R000S0
367N/C SW5 D0689UA00X+050625Y-042498X0689Y0000R000S0
367N/C SW5 D1575UA00X+048625Y-042498X1575Y0000R000S0
367N/C SW5 D0689UA00X+046625Y-042498X0689Y0000R000S0
317NET-(D10-A) SW10 -2 D0591PA00X+057125Y-047998X0984Y0000R000S0
317COLUMN2 SW10 -1 D0591PA00X+054625Y-048998X0984Y0000R000S0
367N/C SW10 D0689UA00X+058125Y-049998X0689Y0000R000S0
367N/C SW10 D1575UA00X+056125Y-049998X1575Y0000R000S0
367N/C SW10 D0689UA00X+054125Y-049998X0689Y0000R000S0
317NET-(D12-A) SW12 -2 D0591PA00X+072125Y-047998X0984Y0000R000S0
317COLUMN4 SW12 -1 D0591PA00X+069625Y-048998X0984Y0000R000S0
367N/C SW12 D0689UA00X+073125Y-049998X0689Y0000R000S0
367N/C SW12 D1575UA00X+071125Y-049998X1575Y0000R000S0
367N/C SW12 D0689UA00X+069125Y-049998X0689Y0000R000S0
317NET-(D8-A) SW8 -2 D0591PA00X+072125Y-040498X0984Y0000R000S0
317COLUMN4 SW8 -1 D0591PA00X+069625Y-041498X0984Y0000R000S0
367N/C SW8 D0689UA00X+073125Y-042498X0689Y0000R000S0
367N/C SW8 D1575UA00X+071125Y-042498X1575Y0000R000S0
367N/C SW8 D0689UA00X+069125Y-042498X0689Y0000R000S0
317GND J1 -1 D0394PA00X+058525Y-033548X0669Y0669R000S0
317+5V J1 -2 D0394PA00X+058525Y-034548X0669Y0669R000S0
317DISP_SCL J1 -3 D0394PA00X+058525Y-035548X0669Y0669R000S0
317DISP_SDA J1 -4 D0394PA00X+058525Y-036548X0669Y0669R000S0
317E11_ROW E11 -S2 D0394PA00X+062591Y-032343X0787Y0000R270S0
317COLUMN1 E11 -S1 D0394PA00X+064559Y-032343X0787Y0000R270S0
317N/C E11 -MP D0591PA00X+065780Y-035099X1260Y0787R270S0
317N/C E11 -MP D0591PA00X+061370Y-035099X1260Y0787R270S0
317GND E11 -C D0394PA00X+063575Y-038052X0787Y0000R270S0
317E11_B E11 -B D0394PA00X+064559Y-038052X0787Y0000R270S0
317E11_A E11 -A D0394PA00X+062591Y-038052X0787Y0787R270S0
317NET-(D1-A) SW1 -2 D0591PA00X+072125Y-032998X0984Y0000R000S0
317COLUMN2 SW1 -1 D0591PA00X+069625Y-033998X0984Y0000R000S0
367N/C SW1 D0689UA00X+073125Y-034998X0689Y0000R000S0
367N/C SW1 D1575UA00X+071125Y-034998X1575Y0000R000S0
367N/C SW1 D0689UA00X+069125Y-034998X0689Y0000R000S0
317NET-(D9-A) SW9 -2 D0591PA00X+049625Y-047998X0984Y0000R000S0
317COLUMN1 SW9 -1 D0591PA00X+047125Y-048998X0984Y0000R000S0
367N/C SW9 D0689UA00X+050625Y-049998X0689Y0000R000S0
367N/C SW9 D1575UA00X+048625Y-049998X1575Y0000R000S0
367N/C SW9 D0689UA00X+046625Y-049998X0689Y0000R000S0
317NET-(D11-A) SW11 -2 D0591PA00X+064625Y-047998X0984Y0000R000S0
317COLUMN3 SW11 -1 D0591PA00X+062125Y-048998X0984Y0000R000S0
367N/C SW11 D0689UA00X+065625Y-049998X0689Y0000R000S0
367N/C SW11 D1575UA00X+063625Y-049998X1575Y0000R000S0
367N/C SW11 D0689UA00X+061625Y-049998X0689Y0000R000S0
317E11_ROW D4 -2 D0315PA00X+059925Y-033349X0630Y0630R270S0
317ROW1 D4 -1 D0315PA00X+059925Y-036349X0630Y0630R270S0
327COLUMN1 U1 -1 A02X+051954Y-031648X0957Y0600R000S1
317COLUMN1 U1 -1 D0350PA00X+051625Y-031648X0600Y0000R000S0
327COLUMN2 U1 -2 A02X+051954Y-032648X0957Y0600R000S1
317COLUMN2 U1 -2 D0350PA00X+051625Y-032648X0600Y0000R000S0
327COLUMN3 U1 -3 A02X+051954Y-033648X0957Y0600R000S1
317COLUMN3 U1 -3 D0350PA00X+051625Y-033648X0600Y0000R000S0
327COLUMN4 U1 -4 A02X+051954Y-034648X0957Y0600R000S1
317COLUMN4 U1 -4 D0350PA00X+051625Y-034648X0600Y0000R000S0
327DISP_SDA U1 -5 A02X+051954Y-035648X0957Y0600R000S1
317DISP_SDA U1 -5 D0350PA00X+051625Y-035648X0600Y0000R000S0
327DISP_SCL U1 -6 A02X+051954Y-036648X0957Y0600R000S1
317DISP_SCL U1 -6 D0350PA00X+051625Y-036648X0600Y0000R000S0
327E11_A U1 -7 A02X+051954Y-037648X0957Y0600R000S1
317E11_A U1 -7 D0350PA00X+051625Y-037648X0600Y0000R000S0
317E11_B U1 -8 D0350PA00X+045625Y-037648X0600Y0000R180S0
327E11_B U1 -8 A02X+045296Y-037648X0957Y0600R180S1
317ROW1 U1 -9 D0350PA00X+045625Y-036648X0600Y0000R180S0
327ROW1 U1 -9 A02X+045296Y-036648X0957Y0600R180S1
317ROW2 U1 -10 D0350PA00X+045625Y-035648X0600Y0000R180S0
327ROW2 U1 -10 A02X+045296Y-035648X0957Y0600R180S1
317ROW3 U1 -11 D0350PA00X+045625Y-034648X0600Y0000R180S0
327ROW3 U1 -11 A02X+045296Y-034648X0957Y0600R180S1
317(U1-3V3-PAD12) U1 -12 D0350PA00X+045625Y-033648X0600Y0000R180S0
327(U1-3V3-PAD12) U1 -12 A02X+045296Y-033648X0957Y0600R180S1
317GND U1 -13 D0350PA00X+045625Y-032648X0600Y0000R180S0
327GND U1 -13 A02X+045296Y-032648X0957Y0600R180S1
317+5V U1 -14 D0350PA00X+045625Y-031648X0600Y0000R180S0
327+5V U1 -14 A02X+045296Y-031648X0957Y0600R180S1
317NET-(D7-A) D7 -2 D0315PA00X+059875Y-040498X0630Y0630R270S0
317ROW2 D7 -1 D0315PA00X+059875Y-043498X0630Y0630R270S0
317NET-(D5-A) D5 -2 D0315PA00X+044875Y-040498X0630Y0630R270S0
317ROW2 D5 -1 D0315PA00X+044875Y-043498X0630Y0630R270S0
317NET-(D1-A) D1 -2 D0315PA00X+067375Y-032998X0630Y0630R270S0
317ROW1 D1 -1 D0315PA00X+067375Y-035998X0630Y0630R270S0
317NET-(D8-A) D8 -2 D0315PA00X+067425Y-040498X0630Y0630R270S0
317ROW2 D8 -1 D0315PA00X+067425Y-043498X0630Y0630R270S0
317NET-(D10-A) D10 -2 D0315PA00X+052375Y-047998X0630Y0630R270S0
317ROW3 D10 -1 D0315PA00X+052375Y-050998X0630Y0630R270S0
317NET-(D9-A) D9 -2 D0315PA00X+044875Y-047998X0630Y0630R270S0
317ROW3 D9 -1 D0315PA00X+044875Y-050998X0630Y0630R270S0
317NET-(D6-A) D6 -2 D0315PA00X+052375Y-040498X0630Y0630R270S0
317ROW2 D6 -1 D0315PA00X+052375Y-043498X0630Y0630R270S0
317ROW3 D12 -1 D0315PA00X+067375Y-050998X0630Y0630R270S0
317NET-(D12-A) D12 -2 D0315PA00X+067375Y-047998X0630Y0630R270S0
317ROW3 D11 -1 D0315PA00X+059875Y-050998X0630Y0630R270S0
317NET-(D11-A) D11 -2 D0315PA00X+059875Y-047998X0630Y0630R270S0
999

View file

@ -0,0 +1,22 @@
Designator,Mid X,Mid Y,Rotation,Layer
D1,171.1325,-87.624,90.0,bottom
D10,133.0325,-125.724,90.0,bottom
D11,152.0825,-125.724,90.0,bottom
D12,171.1325,-125.724,90.0,bottom
D4,152.2095,-88.517,90.0,bottom
D5,113.9825,-106.674,90.0,bottom
D6,133.0325,-106.674,90.0,bottom
D7,152.0825,-106.674,90.0,bottom
D8,171.2595,-106.674,90.0,bottom
D9,113.9825,-125.724,90.0,bottom
E11,161.4805,-89.402,90.0,top
SW1,180.6575,-86.729,0.0,top
SW10,142.5575,-124.829,0.0,top
SW11,161.6075,-124.829,0.0,top
SW12,180.6575,-124.829,0.0,top
SW5,123.5075,-105.779,0.0,top
SW6,142.5575,-105.779,0.0,top
SW7,161.6075,-105.779,0.0,top
SW8,180.6575,-105.779,0.0,top
SW9,123.5075,-124.829,0.0,top
U1,123.5075,-88.005,0.0,bottom
1 Designator Mid X Mid Y Rotation Layer
2 D1 171.1325 -87.624 90.0 bottom
3 D10 133.0325 -125.724 90.0 bottom
4 D11 152.0825 -125.724 90.0 bottom
5 D12 171.1325 -125.724 90.0 bottom
6 D4 152.2095 -88.517 90.0 bottom
7 D5 113.9825 -106.674 90.0 bottom
8 D6 133.0325 -106.674 90.0 bottom
9 D7 152.0825 -106.674 90.0 bottom
10 D8 171.2595 -106.674 90.0 bottom
11 D9 113.9825 -125.724 90.0 bottom
12 E11 161.4805 -89.402 90.0 top
13 SW1 180.6575 -86.729 0.0 top
14 SW10 142.5575 -124.829 0.0 top
15 SW11 161.6075 -124.829 0.0 top
16 SW12 180.6575 -124.829 0.0 top
17 SW5 123.5075 -105.779 0.0 top
18 SW6 142.5575 -105.779 0.0 top
19 SW7 161.6075 -105.779 0.0 top
20 SW8 180.6575 -105.779 0.0 top
21 SW9 123.5075 -124.829 0.0 top
22 U1 123.5075 -88.005 0.0 bottom

View file

@ -0,0 +1,35 @@
# Sniqx Pad V1
![sniqx_pad](images/sniqx_pad.png)
A Versatile Macro Pad with a rotary encoder and OLED display.
## Inspiration
Wanted to make a macropad which looks simple yet elegant and a bit of unsymmetry with that single key on top.
## Challenges
The PCB design and finding the right footprints and symbols were quite a challenge. Rest after that was quite normal.
## Specifications
### BOM
- 9x Cherry MX Switches
- 9x Blank DSA Keycaps (1x Red, 2x White, 6x Black)
- 1x Rotary Encoder
- 1x 128x32 OLED Display
- 10x 1N4148 Diodes
- 1x XIAO RP2040
- 4x M3x16 Bolt
### Other Resources
- [PCB](PCB)
- [CAD Models](CAD)
- [Firmware](Firmware)
- [Images](images)
| Schematic | PCB | Case |
| :--------------------------------: | :--------------------: | :----------------------: |
| ![schematic](images/schematic.png) | ![pcb](images/pcb.png) | ![case](images/case.png) |
## Author
- [Arnav Kumar](https://github.com/arnav-kr)

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 457 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 KiB