Skip to content
Open
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
17 changes: 17 additions & 0 deletions hackpads/SuhaanMacropad/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Suhaan's Macropad
My macropad is a small simple 9 key external keyboard.
![image](https://github.com/user-attachments/assets/e59dbab4-f924-4de3-bfe2-0e0920078fd2)
![image](https://github.com/user-attachments/assets/06045f7b-09ad-4503-9ccc-46bf68a1c76a)
![image](https://github.com/user-attachments/assets/4c5167c2-fa8b-4c96-8b21-d19e4aa514bc)
![image](https://github.com/user-attachments/assets/2461d205-dc0b-41af-b99e-62f38fb2d25e)
BOM for parts:

4x Cherry MX Switches
4x DSA Keycaps
5x M3x5x4 Heatset inserts
3x M3x16mm SHCS Bolts
2X M3x12mm SHCS Bolts
5x 1N4148 DO-35 Diodes.
1x EC11 Rotary Encoder
1x XIAO RP2040
1x Case (3 printed parts, 2 laser cut parts)
Binary file not shown.
Binary file not shown.
33 changes: 33 additions & 0 deletions hackpads/SuhaanMacropad/firmware/Macropad/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# You import all the IOs of your board
import board
from kmk.kmk_keyboard import KMKKeyboard
from kmk.keys import KC
from kmk.scanners import DiodeOrientation

# This is the main instance of your keyboard
keyboard = KMKKeyboard()

# Add the macro extension
macros = Macros()
keyboard.modules.append(macros)

# Define your pins here!
keyboard.col_pins = (board.GP26, board.GP27, board.GP28)
keyboard.row_pins = (board.GP29, board.GP6, board.GP7)
keyboard.diode_orientation = DiodeOrientation.COL2ROW

# Tell kmk we are not using a key matrix
keyboard.matrix = KeysScanner(
pins=PINS,
value_when_pressed=False,
)

keyboard.keymap = [
[KC.N1, KC.N2, KC.N3],
[KC.N4, KC.N5, KC.N6],
[KC.N7, KC.N8, KC.N9]
]

# Start kmk!
if __name__ == '__main__':
keyboard.go()
104 changes: 104 additions & 0 deletions hackpads/SuhaanMacropad/pcb/Suhaan's Macropad.drl
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
M48
; DRILL file {KiCad 8.0.8} date 2025-02-17T08:23:07-0600
; FORMAT={2:4/ absolute / inch / suppress leading zeros}
; #@! TF.CreationDate,2025-02-17T08:23:07-06:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,8.0.8
; #@! TF.FileFunction,MixedPlating,1,2
FMAT,2
INCH,TZ
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T1C0.0315
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T2C0.0350
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
T3C0.0591
; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
T4C0.0689
; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
T5C0.1575
%
G90
G05
T1
X56102Y-35630
X56102Y-38630
X56102Y-43110
X56102Y-46110
X56102Y-50591
X56102Y-53591
X63386Y-35630
X63386Y-38630
X63583Y-43110
X63583Y-46110
X63583Y-50591
X63583Y-53591
X71063Y-35630
X71063Y-38630
X71063Y-43110
X71063Y-46110
X71063Y-50591
X71063Y-53591
T2
X56843Y-26181
X56843Y-27181
X56843Y-28181
X56843Y-29181
X56843Y-30181
X56843Y-31181
X56843Y-32181
X62843Y-26181
X62843Y-27181
X62843Y-28181
X62843Y-29181
X62843Y-30181
X62843Y-31181
X62843Y-32181
T3
X50756Y-36614
X50756Y-44094
X50756Y-51575
X53256Y-35614
X53256Y-43094
X53256Y-50575
X58236Y-36614
X58268Y-44094
X58299Y-51575
X60736Y-35614
X60768Y-43094
X60799Y-50575
X65748Y-36614
X65780Y-44094
X65780Y-51575
X68248Y-35614
X68280Y-43094
X68280Y-50575
T4
X50256Y-37614
X50256Y-45094
X50256Y-52575
X54256Y-37614
X54256Y-45094
X54256Y-52575
X57736Y-37614
X57768Y-45094
X57799Y-52575
X61736Y-37614
X61768Y-45094
X61799Y-52575
X65248Y-37614
X65280Y-45094
X65280Y-52575
X69248Y-37614
X69280Y-45094
X69280Y-52575
T5
X52256Y-37614
X52256Y-45094
X52256Y-52575
X59736Y-37614
X59768Y-45094
X59799Y-52575
X67248Y-37614
X67280Y-45094
X67280Y-52575
M30
Loading