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
124,992 changes: 124,992 additions & 0 deletions hackpads/Shoop/CAD/SHOOP Case.step

Large diffs are not rendered by default.

19 changes: 19 additions & 0 deletions hackpads/Shoop/Firmware/QMK/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
// Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later

#define ENCODER_A_PINS { GP0 }
#define ENCODER_B_PINS { GP1 }

#pragma once

#define MATRIX_ROWS 2
#define MATRIX_COLS 4

// Set number of encoders if applicable
#define NUM_ENCODERS 2

// Define other configurations here as needed
#define ENCODER_RESOLUTION 4

// If you're using layers, set the max layer
#define MAX_LAYER 4
40 changes: 40 additions & 0 deletions hackpads/Shoop/Firmware/QMK/keyboard.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"manufacturer": "Manni Reis",
"keyboard_name": "shoop",
"maintainer": "mannireis",
"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": ["GP6", "GP7"]
},
"processor": "RP2040",
"url": "",
"usb": {
"device_version": "1.0.0",
"pid": "0x0000",
"vid": "0xFEED"
},
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"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}
]
}
}
}
2 changes: 2 additions & 0 deletions hackpads/Shoop/Firmware/QMK/keymap_introspection.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
extern const uint16_t keymaps[][MATRIX_ROWS][MATRIX_COLS];
extern const uint16_t encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS];
25 changes: 25 additions & 0 deletions hackpads/Shoop/Firmware/QMK/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#include QMK_KEYBOARD_H

// Define the keymap layout
#define LAYOUT_ortho_2x4( \
k00, k01, k02, k03, \
k10, k11, k12, k13 \
) { \
{ k00, k01, k02, k03 }, \
{ k10, k11, k12, k13 } \
}

// Define keymaps
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_ortho_2x4(
KC_ESC, KC_1, KC_2, KC_3,
KC_4, KC_5, KC_6, KC_7
),
};

// Define encoder map
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { { KC_VOLD, KC_VOLU }, { KC_MUTE, KC_MUTE } },
};

// You can add other configurations or macros as needed
27 changes: 27 additions & 0 deletions hackpads/Shoop/Firmware/QMK/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# shoop

![shoop](imgur.com image replace me!)

*A short description of the keyboard/project*

* Keyboard Maintainer: [Manni Reis](https://github.com/mannireis)
* 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 shoop:default

Flashing example for this keyboard:

make shoop: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
4 changes: 4 additions & 0 deletions hackpads/Shoop/Firmware/QMK/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
LTO_ENABLE = yes
ENCODER_ENABLE = yes
ENCODER_MAP_ENABLE = yes
MIDI_ENABLE = yes
Binary file added hackpads/Shoop/PCB/PCB.zip
Binary file not shown.
Binary file added hackpads/Shoop/Production/Case.stl
Binary file not shown.
Binary file added hackpads/Shoop/Production/Gerbers.zip
Binary file not shown.
Binary file added hackpads/Shoop/Production/shoop_default.uf2
Binary file not shown.
45 changes: 45 additions & 0 deletions hackpads/Shoop/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Shoop



Shoop is a 2x4 with 1 rotary encoder.
## CAD Model:


Everything fits together using 4 M2 Bolts.
It has 1 stl file
![image](https://github.com/user-attachments/assets/a7cc2982-b4de-4a77-9df4-07ca1e64d79d)


Made in Fusion360.

## PCB



Here's my PCB! It was made in KiCad. The silkscreen was imported from a Figma image.

Schematic: ![image](https://github.com/user-attachments/assets/ba13377a-ba37-4b7e-bcde-db50a986527a)



PCB ![image](https://github.com/user-attachments/assets/dc7834a3-c5a7-4789-b555-fb8c45371158)



## Firmware Overview

This hackpad uses [QMK](https://qmk.fm/) firmware for everything.

## BOM:

Here should be everything you need to make this hackpad

- 7x Cherry MX Switches
- 7x DSA Keycaps
- 4x 16 mm m2 bolts
- 8x 1N4148 DO-35 Diodes.
- 1x 0.91" 128x32 OLED Display
- 1x EC11 Rotary Encoder
- 1x XIAO RP2040
- 1x Case (6 printed parts)