Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added hackpads/atlaspad/CAD/HackpadCase v163.f3z
Binary file not shown.
94,087 changes: 94,087 additions & 0 deletions hackpads/atlaspad/CAD/HackpadCase v173.step

Large diffs are not rendered by default.

Empty file.
2 changes: 2 additions & 0 deletions hackpads/atlaspad/Firmware/QMK/atlaspad/atlaspad.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include <config.h>
21 changes: 21 additions & 0 deletions hackpads/atlaspad/Firmware/QMK/atlaspad/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
// SPDX-License-Identifier: GPL-2.0-or-later

#define DIP_SWITCH_MATRIX_GRID { {1,3}, {0,3}, {3,3},{2,3}} //Encoders 1 and 2, Inps A&B

#define WS2812_DI_PIN GP0
//#define RGBLIGHT_LED_COUNT 14

//#define RP_I2C_USE_I2C1


#define LAYOUT_pad_4x4_2Enc( \
sw1, sw2, \
sw3, sw4, \
sw5,sw6,sw7,sw8, \
sw9,sw10,sw11,sw12 \
){ \
{sw1,sw5,sw9,KC_NO}, \
{sw2,sw6,sw10,KC_NO}, \
{sw3,sw7,sw11,KC_NO}, \
{sw4,sw8,sw12,KC_NO} \
}
62 changes: 62 additions & 0 deletions hackpads/atlaspad/Firmware/QMK/atlaspad/keyboard.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{
"manufacturer": "Volkov08",
"maintainer": "Volkov08",
"keyboard_name": "atlaspad",
"diode_direction": "COL2ROW",
"processor": "RP2040",
"bootloader": "rp2040",
"features": {
"bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"matrix_pins": {
"cols": ["GP26", "GP27", "GP28", "GP29"],
"rows": ["GP4", "GP3", "GP2", "GP1"]
},
"usb": {
"device_version": "1.0.0",
"pid": "0xA7A5",
"vid": "0xFEED"
},
"layouts": {
"LAYOUT": {
"layout": [
{ "label": "SW1", "matrix": [0, 0], "x": 0, "y": 0 },
{ "label": "SW2", "matrix": [1, 0], "x": 3, "y": 0 },
{ "label": "SW3", "matrix": [2, 0], "x": 0, "y": 1 },
{ "label": "SW4", "matrix": [3, 0], "x": 3, "y": 1 },
{ "label": "SW5", "matrix": [0, 1], "x": 0, "y": 2 },
{ "label": "SW6", "matrix": [1, 1], "x": 1, "y": 2 },
{ "label": "SW7", "matrix": [2, 1], "x": 2, "y": 2 },
{ "label": "SW8", "matrix": [3, 1], "x": 3, "y": 2 },
{ "label": "SW9", "matrix": [0, 2], "x": 0, "y": 2 },
{ "label": "SW10", "matrix": [1, 2], "x": 1, "y": 2 },
{ "label": "SW11", "matrix": [2, 2], "x": 2, "y": 2 },
{ "label": "SW12", "matrix": [3, 2], "x": 3, "y": 2 }
]
}
},
"dip_switch": {
"enabled": true,
"matrix_grid": [
[1, 3],
[0, 3],
[3, 3],
[2, 3]
]
},
"rgblight": {
"led_count": 14,
"animations": {
"rainbow_mood": true
},
"default": {
"animation": "rainbow_mood"
},
"driver": "ws2812"
}
}
74 changes: 74 additions & 0 deletions hackpads/atlaspad/Firmware/QMK/atlaspad/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
// Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later

#include QMK_KEYBOARD_H

//box drawing characters
// ┌ ┬ ┐
// ├ ┼ ┤
// └ ┴ ┘
// ─ │

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
* ┌───┬───────┬───┐
* │/\ │ │Hom│
* ├───┤ ├───┤
* │\/ │ │End│
* ├───┼───┬───┼───┤
* │F1 │F2 │F3 │F4 │
* ├───┼───┼───┼───┤
* │F5 │F6 │F7 │F8 │
* └───────┴───┴───┘
*/
[0] = LAYOUT_pad_4x4_2Enc(
KC_PGUP, KC_HOME,
KC_PGDN, KC_END,
KC_F1, KC_F2, KC_F3, KC_F4,
KC_F5, KC_F6, KC_F7, KC_F8
)
};

#ifdef DIP_SWITCH_ENABLE
//Encoders as DIP switches in Matrix Grid
uint32_t stateBefore = 1UL << 4;

bool dip_switch_update_mask_user(uint32_t state) {
if (state == stateBefore) return false;
uint32_t rising = state & ~stateBefore;
if (stateBefore != 1UL << 4) {
uint32_t enc1 = rising & (1UL << 0 | 1UL << 1);
uint32_t enc2 = (rising & (1UL << 2 | 1UL << 3))>>2;

if (enc1 == 2){
tap_code(KC_RIGHT);
} else if (enc1 == 1){
tap_code(KC_LEFT);
}
if (enc2 == 2){
tap_code_delay(KC_KB_VOLUME_UP,10);
} else if (enc2 == 1){
tap_code_delay(KC_KB_VOLUME_DOWN,10);
}
}
stateBefore = state;
return true;
}
#endif

#ifdef OLED_ENABLE
oled_rotation_t oled_init_user(oled_rotation_t rotation) {
return OLED_ROTATION_180;
}
bool oled_task_user(void) {
//test line
oled_write_P(PSTR("Atlaspad by Volkov"), false);
// Host Keyboard LED Status
led_t led_state = host_keyboard_led_state();
oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
oled_write_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);

return false;
}
#endif
26 changes: 26 additions & 0 deletions hackpads/atlaspad/Firmware/QMK/atlaspad/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# atlaspad

![atlaspad](https://raw.githubusercontent.com/Volkov08/atlaspad/refs/heads/master/assets/L1.png)

_A short description of the keyboard/project_

- Keyboard Maintainer: [Volkov08](https://github.com/Volkov08)
- Custom Macropad built for Hackpad YSWS using the RP2040

Make example for this keyboard (after setting up your build environment):

make atlaspad:default

Flashing example for this keyboard:

make atlaspad: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
12 changes: 12 additions & 0 deletions hackpads/atlaspad/Firmware/QMK/atlaspad/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
BOOTLOADER = rp2040

#DIP_SWITCH_ENABLE = yes
OLED_ENABLE = yes

OLED_DRIVER = ssd1306
OLED_TRANSPORT = i2c

RGBLIGHT_ENABLE = yes
#RGBLIGHT_DRIVER = ws2812

WS2812_DRIVER = vendor
6 changes: 6 additions & 0 deletions hackpads/atlaspad/PCB/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
hackpad-backups/
fp-info-cache
venv/
*.lck
*.log
_autosave*
Binary file added hackpads/atlaspad/PCB/Libraries/libs.7z
Binary file not shown.
1 change: 1 addition & 0 deletions hackpads/atlaspad/PCB/fabrication-toolkit-options.json
Original file line number Diff line number Diff line change
@@ -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}
9 changes: 9 additions & 0 deletions hackpads/atlaspad/PCB/fp-lib-table
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
(fp_lib_table
(version 7)
(lib (name "LED_Reversed")(type "KiCad")(uri "${KIPRJMOD}/Libraries/LED_Reversed.pretty")(options "")(descr ""))
(lib (name "Seeed Studio XIAO Series Library")(type "KiCad")(uri "${KIPRJMOD}/Libraries/Seeed Studio XIAO Series Library.pretty")(options "")(descr ""))
(lib (name "OLED_096_636")(type "KiCad")(uri "${KIPRJMOD}/Libraries/OLED_096_636.pretty")(options "")(descr ""))
(lib (name "Kailh_PG1353_Solderable")(type "KiCad")(uri "${KIPRJMOD}/Libraries/Kailh_PG1353_Solderable.pretty")(options "")(descr ""))
(lib (name "EC05E1220203")(type "KiCad")(uri "${KIPRJMOD}/Libraries/EC05E1220203.pretty")(options "")(descr ""))
(lib (name "assets")(type "KiCad")(uri "/home/Simon/Documents/hackpad/assets")(options "")(descr ""))
)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
10 changes: 10 additions & 0 deletions hackpads/atlaspad/PCB/hackpad.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
"Id";"Designator";"Footprint";"Quantity";"Designation";"Supplier and ref";
1;"LED_SUB3,LED8,LED2,LED9,LED5,LED_SUB4,LED6,LED7,LED1,LED4,LED11,LED12,LED3,LED10";"SK6812MINI-E-Reverse";14;"SK6812MINIE";;;
2;"U2";"AZ_OLED-096-SD1306";1;"DM-OLED096-636";;;
3;"SW1,SW4,SW6,SW9,SW12,SW8,SW5,SW3,SW11,SW7,SW2,SW10";"Kailh-PG1353-Solderable-1U";12;"Keyswitch";;;
4;"SW13,SW14";"SW-SMD_EC05E1220203";2;"EC05E1220203";;;
5;"D10,D13,D8,D12,D5,D14,D15,D9,D1,D11,D4,D7,D2,D6,D16,D3";"D_DO-35_SOD27_P7.62mm_Horizontal";16;"1N4148";;;
6;"R1,R2";"R_0402_1005Metric_Pad0.72x0.64mm_HandSolder";2;"10k";;;
7;"U3";"SOT-23-5";1;"SN74LV1T34DBV";;;
8;"U1";"XIAO-RP2040-DIP";1;"XIAO-RP2040-DIP";;;
9;"C2";"C_Radial_D5.0mm_H7.0mm_P2.00mm";1;"10uF";;;
Loading