|
| 1 | +# Shubham's Hackpad |
| 2 | + |
| 3 | +A 11 keys macropad with a rotary encoder, a 128x32 OLED display and firmware using KMK. |
| 4 | + |
| 5 | +[3D Model on Onshape](https://cad.onshape.com/documents/590ef7999de06c164921b514/w/550f2ae2c25971e09114dde0/e/22fce819d1e0d64cd533a2d4?renderMode=0&uiState=67b2b5783d8ea30a460be418) |
| 6 | + |
| 7 | +Inspiration: I didn't participated in Hackpad V1 because I didn't knew anything about PCB and 3D Modeling but when V2 was started, I joined the channel and saw many new people joining and making something unique about their Hackpad and the experienced people helping them so I thought I should try it is well, and it was very fun experience making my very own Hackpad that would help me in improving my productivity. |
| 8 | + |
| 9 | +Challenges: The main challenge I faced was with the Case, I was going to make a 3D Model for the first time but I don't know why I thought of making it angled, which was a very challenging task for a beginner, I made, scrapped, made again, scrapped again for almost 3 days, watching multiple tutorials to get 3D model of the case. But it was just the begining, as I imported 3D model of PCB many of my mesaurements were wrong due to angle so I had to adjust the case for that as well, and the top which should have been easy but I made it complex as well, initially I made it go into the base, so the base had to be extended but it didn't looked very nice so I decided to make the plate cover the base for which I had to shrink the base and extended the plate in all directions. AFter this also there were some more little problems like incorrect placements of holes for switches, display not properly aligned, etc. But by facing all these challenges I learnt a lot of things and now I know how to avoid these challenges. |
| 10 | + |
| 11 | +## Features |
| 12 | + |
| 13 | +- Vs Code shortcuts like Format Document |
| 14 | +- Quality of Life shortcuts like Cut, Copy, Paste, Print Screen, Snipping Tool |
| 15 | +- Media Control Keys with Rotary Encoder for Volume Control |
| 16 | +- 128x32 OLED Display |
| 17 | + |
| 18 | +## BOM ( Bill of Materials ) |
| 19 | + |
| 20 | +- 11x Cherry MX Switches |
| 21 | +- 11x DSA Keycaps (Red) |
| 22 | +- 1x EC11 Encoder Switch |
| 23 | +- 1x SSD1306 128x32 0.91" OLED Display |
| 24 | +- 12x Through-hole 1N4148 Diodes |
| 25 | +- 1x XIAO RP2040 Microcontroller |
| 26 | +- 1x PCB |
| 27 | +- 1x Case |
| 28 | + - Base (Printed, Yellow) |
| 29 | + - Plate (Printed, White) |
| 30 | +- 4x M3x16mm SHCS Bolts |
| 31 | + |
| 32 | +## Firmware Overview |
| 33 | + |
| 34 | +The firmware is based on [KMK](https://github.com/KMKfw/kmk_firmware) and [Adafruit SSD1306](https://docs.circuitpython.org/projects/ssd1306/en/latest) for display. |
| 35 | + |
| 36 | +- The first row keys are for `Save`, `Format`, `Switch Application` and `Screenshot` |
| 37 | +- The second row keys are `Copy`, `Cut`, `Paste` and `Snipping Tool` |
| 38 | +- The third row keys are `Media Previous`, `Media Play / Pause` and `Media Next` |
| 39 | +- The `Rotary Encoder` is used for `Media Volume`, press to `Media Mute / Unmute` |
| 40 | +- The display is currently set to `Hello World!` which I would be able to configure after getting the hackpad, as I have no way of debugging. |
| 41 | + |
| 42 | +## Demo Images |
| 43 | + |
| 44 | +### Case |
| 45 | + |
| 46 | + |
| 47 | + |
| 48 | + |
| 49 | + |
| 50 | + |
| 51 | + |
| 52 | + |
| 53 | + |
| 54 | + |
| 55 | + |
| 56 | + |
| 57 | + |
| 58 | +### Plate |
| 59 | + |
| 60 | + |
| 61 | + |
| 62 | + |
| 63 | + |
| 64 | + |
| 65 | + |
| 66 | +### Base |
| 67 | + |
| 68 | + |
| 69 | + |
| 70 | + |
| 71 | + |
| 72 | + |
| 73 | + |
| 74 | + |
| 75 | + |
| 76 | + |
| 77 | + |
| 78 | + |
| 79 | + |
| 80 | +## PCB and Schematic |
| 81 | + |
| 82 | +### Schematic |
| 83 | + |
| 84 | + |
| 85 | + |
| 86 | +### PCB |
| 87 | + |
| 88 | + |
| 89 | + |
| 90 | +### PCB 3D |
| 91 | + |
| 92 | + |
| 93 | + |
| 94 | + |
| 95 | + |
| 96 | +### Extra Footprints and Schematics Library |
| 97 | + |
| 98 | +[OPL Kicad Library](https://github.com/Seeed-Studio/OPL_Kicad_Library/tree/master/Seeed%20Studio%20XIAO%20Series%20Library), [ScottoKicad](https://github.com/joe-scotto/scottokeebs/tree/main/Extras/ScottoKicad) |
| 99 | + |
| 100 | +### Extra 3D Models |
| 101 | + |
| 102 | +[EC11 Rotary Encoder with Switch](https://grabcad.com/library/ec11-rotary-encoder-with-switch-1), [Seeed Studio XIAO RP2040](https://grabcad.com/library/seeed-studio-xiao-rp2040-1) |
0 commit comments