From 3c63b938189aac24604776c1bb241afdffabb5fd Mon Sep 17 00:00:00 2001 From: Aoishik Khan <73829596+aoi2010@users.noreply.github.com> Date: Thu, 12 Feb 2026 12:12:09 +0530 Subject: [PATCH 1/2] Added a Page for Hackpad Resources Added a Page for Hackpad Resources needed to build the hackpad. --- docs/resources/hackpad.md | 72 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 docs/resources/hackpad.md diff --git a/docs/resources/hackpad.md b/docs/resources/hackpad.md new file mode 100644 index 00000000..5a291bab --- /dev/null +++ b/docs/resources/hackpad.md @@ -0,0 +1,72 @@ +| title | Resources & Tips | +| ----------- | ---------------- | +| description | A collection of resources, libraries, tutorials, and tips for designing your hackpad. | +| priority | 3 | + +# Resources & Tips + +Here lies a collection of resources & tips I've amassed over the years; use them well. + +With that in mind, there are *thousands* of other resources on the internet that I can't cover here. Use youtube, reddit, discord, whatever works for you! + +If a guide doesn't seem to work, try it again. If it *really* doesn't work, try another guide! The magic of it is to keep at it, because if so many other teens can do it, you absolutely can too. + +## KiCad Libraries + +- [Hack Club's KiCAD care package!](https://github.com/hackclub/hackpad/tree/clean/extras/kicad_care_package) +- [More Keyswitch footprints](https://github.com/ai03-2725/MX_V2) +- [XIAO Footprints](https://github.com/Seeed-Studio/OPL_Kicad_Library) +- [Rotary Encoder footprint](https://kicad.github.io/footprints/Rotary_Encoder) +- [0.91" OLED Display](https://github.com/gorbachev/KiCad-SSD1306-0.91-OLED-4pin-128x32.pretty/blob/master/SSD1306-0.91-OLED-4pin-128x32.kicad_mod) +- You can almost always find the footprint/symbol you're looking for if you use [SnapEDA](https://www.snapeda.com/) or similar sites. Google is your best friend. + +## Top Tier + +- [The Keyboard Atelier Discord](https://kbatelier.org/) <- THE community for keyboard design! PLEASE do not spam the discord though, your best shot is to lurk. +- [The Keyboard Designer Wiki](https://wiki.ai03.com/books) <- this is insanely useful +- [Atelier designer spreadsheet](https://docs.google.com/spreadsheets/d/1K0jNUZzxTTMkgzo043dxc4vBEOrxNa8jVf4VHk-B27U/edit?gid=0#gid=0) +- I made an example macropad in the GitHub repo [here](https://github.com/hackclub/hackpad/tree/clean/extras/orpheuspad). It has an OLED, a rotary encoder, 4 switches in a matrix, 2 addressable LEDs, and QMK firmware. You can reverse engineer it for pretty much everything else + +## Tutorials + +- [Joe Scotto's how to design a PCB](https://www.youtube.com/watch?v=8WXpGTIbxlQ) +- [Joe Scotto's how to design a keyboard case](https://www.youtube.com/watch?v=7azQkSu0m_U) +- [ai03's PCB Guide](https://wiki.ai03.com/books/pcb-design) (this is what I learned from!) + +## General info + +- [XIAO RP2040 Docs](https://wiki.seeedstudio.com/XIAO-RP2040/) +- [Anatomy of a keyboard](https://matt3o.com/anatomy-of-a-keyboard/) +- [Keyboard Mounting Styles](https://www.keyboard.university/200-courses/keyboard-mounting-styles-4lpp7) + +## Useful measurements & other info + +- Making holes for your PCB: + - KiCAD has specific footprints for mounting holes, don't use Edge.Cuts - use the M3 mounting hole footprint! +- Making holes for your case: + - if you're using [heatset inserts](https://www.aliexpress.us/item/2255800046543591.html), make a 4.7mm diameter hole, 4mm deep + - if you're screwing directly into the plastic, use a 2.9mm diameter hole + - if you just want the screw to pass through without threading, use a 3.4mm diameter hole. +- Use a 0.2mm gap between 3D printed parts +- There's 19.05mm gap between the center of each switch + + +## 3D models + +- [Cherry MX Keycaps](https://github.com/hineybush/CherryMX) +- [Keyswitches](https://grabcad.com/library/cherry-mx-switches-mx-1) +- [Stabilizers](https://grabcad.com/library/cherry-mx-stabilizer-mx-1) +- [EC11 Rotary Encoder](https://grabcad.com/library/rotary-encoder-17) +- Generally speaking, go to [grabcad](https://grabcad.com/library) and search for your part + sort by popular, and you should be able to find the model you need + +## Generally useful tips + +- Most DIY keyboards are at least partially open source. You can go to their git repositories and copy their tolerances/footprints/schematics/whatever +- You can export your KiCad PCB to a PDF and print them to check measurements! +- Most Keyboards are wired in a matrix to save pins, but if you have 6 or less switches just avoid the matrix altogether +- For screens, just use a 4-pin header for footprints +- Adding graphics in KiCad is really annoying. Instead, you can design your entire thing in Figma and import it as an overlay instead +- Google is your best friend. 9 times out of 10 the first result will help you out. +- Try routing everything on one layers first, if you can't without making a big loop, move to the second layer. This keeps your board clean. +- Make multiple revisions! I rerouted my first macropad like 10 times while adding stuff. +- After routing everything, run Tools > Cleanup Tracks & Vias. You gotta press the Build changes button twice for the optimizations to apply. From 5f8d8ae66e0c13f5ecc6374857e2dac89c88ef95 Mon Sep 17 00:00:00 2001 From: Aoishik Khan <73829596+aoi2010@users.noreply.github.com> Date: Thu, 12 Feb 2026 12:16:12 +0530 Subject: [PATCH 2/2] Add Hackpad resources link to index --- docs/resources/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/resources/index.md b/docs/resources/index.md index 9389316d..aae0aef8 100644 --- a/docs/resources/index.md +++ b/docs/resources/index.md @@ -14,4 +14,5 @@ These are general resources provided by the community. PR's open!