hackpad

Public

@skifli

Download board files

Files for version 1. Pick what you came for.

Share hackpad

Check access before sharing the link.

Who can open this board

Anyone can open this board. No sign-in is required.

This link opens the latest version. Copying it does not grant additional access.

Loading 3D model… large boards can take a moment.

README

hackpad

CoverExploded View

[!IMPORTANT]
Since submission, the BOM price has decreased to $119.89 from above $150 (check #bom for more information).

A fully wireless macropad with 14 Choc v1 Ambient Nocturnal switches, 2 rotary encoders (with a push-button each), and a small screen! The case is in two sections - a top and bottom, and joins together via 8 magnets, half in each side of the case (you can see the magnet holes in the various views).

I made this project because when programming / doing CAD design there are so many different shortcuts I use to make sketches, change orbit types, etc, and these require a lot of clicks. These all could be streamlined a lot more with the use of a macropad - which is why I made this one. I decided to also add a screen so I could easily see which profile I'm on and switch (likely by rotating a rotary encoder while it is held down), and the two rotary encoders to easily control multiple audio streams (mainly YouTube vs. Spotify).

Project Structure

[!IMPORTANT]
Only includes files / folders relevant to admin that would benefit from explanation.

└── 📁hackpad
    └── 📁design
        └── 📁cad
            ├── case_bottom.step
            ├── case_top.step
        └── 📁pcb
            ├── ... # Contains the KiCad directory for the PCB
        └── 📁plate
            ├── ... # Contains the KiCad directory for the plate, which is made from an exported DXF from the Fusion 360 Sketch (plate.dxf)
    ├── JOURNAL.md # The journal of the design process
    └── README.md # This file

[!WARNING]
The KiCad plate PCB gives malformed outline warnings and doesn't show correctly in 3D view - no idea why, but when exported with the Fabrication Toolkit and imported into JLCPCB it's totally fine 🗿 (if it works, it works™).

Journal

The journal contains each day's work, logged, with the aid of images. Total time is at the top and each day has its time logged. There is also a Table of Contents for easy navigation :).

[!NOTE]
Total time spent: 60h

PCB

Schematic

PCB Design

PCB Render

CAD

Case Top Side View (from the bottom)Case Bottom Side View (from the top)
Case PlateCase USB Port

BOM

[!TIP]
The BOM is split into the different companies from which the components would be bought, with an empty line delimiting them. As well as this, at the end of each section, the total price for that provider, along with the shipping, is provided in the Price column. There is also the total price in the aforementioned column on the last row.

[!NOTE]
I found the promo code KBDNEWS for Mechboards (a UK-based merchant) 5% off so I included that in the BOM as well to explain the decrease in total price.

BOM in table format
ComponentDescriptionNotesQtyPriceShippingProviderLink
Kailh Choc Hotswap SocketsV1 (Pack of 10)2£6.00£1.81MechboardsLink
DDC Choc (v1) PBT Blank Keycaps - WhiteWhite Keycaps / 1u (Pack of 10)1£4.50–MechboardsLink
DDC Choc (v1) PBT Blank Keycaps - BlackBlack Keycaps / 1u (Pack of 10)1£4.50–MechboardsLink
lowprokb Choc (V1) Ambients Nocturnal(Pack of 10)2£19.00–MechboardsLink
KBDNEWS Promo Code––£0.94–––
Total (Mechboards)£34.11Included
nice!nano v2Compatible board1£2.99£2.99AliExpressLink
nice!viewCompatible screen (without headers)1£12.69–AliExpressLink
Header Pins1x5 Pins (50 PCS)Headers for the above screen1£1.15–AliExpressLink
Tiny Disc Magnet4x3mm (100 PCS)To join the top and bottom of the case1£4.86£2.96AliExpressLink
SMT SOD-123 Diodes100 PCSFor the switches1£1.11–AliExpressLink
Heat Shrink TubesFor wiring between switch, battery, nice!nano v21£1.35–AliExpressLink
JST PH Plug Connector with Wire (M)MALE 2P 100mm (5 PCS)For battery wiring1£0.34£1.94AliExpressLink
JST PH Plug Connector with Wire (F)FEMALE 2P 100mm (5 PCS)For battery wiring1£0.49£1.94AliExpressLink
Bumper Feet5mm x 2mm (100 PCS)For bottom of the case and PCB1£1.59–AliExpressLink
Toggle SwitchK031b004-G3To power on/off the system1£1.94–AliExpressLink
3.7V 150mAh1 batteryTo power the system1£4.74N/AAliExpressLink
Rotary Encoder w/ Push Button5 PCS1£1.08–AliExpressLink
Total (AliExpress)£42.35Included
Plate & PCB£5.94£6.11JLCPCBN/A
Total (JLCPCB)£12.05Included
TOTAL£88.51Included

[!IMPORTANT]
Please disregard a lot of what is in the below text. After someone in the Slack (@Toby), introduced me to the world of AliExpress, I completely redid the BOM. It is now $119.89 (yes that is USD lol), so way under the limit. Thanks a lot dude :).

The BOM can be found in /bom.csv. Since this is my first ever hardware project, I decided to go for some products that were easier to find footprints / symbols in KiCad for. With hindsight, spending the amount of money I now have to on a nice! nano v2 or nice!view (which I landed on because I chose the nice! nano v2) isn't really necessary. So, in future projects I'll choose other, cheaper components - but for this one I've already designed the PCB etc, and was very new to this whole world of design, and so decided to go with components that I was more confident with.

The Seeed Studio XIAO RP2040 didn't have enough GPIO anyway since I needed a 4x4 key matrix (so 8 pins), 4 other GPIO for the 2 rotary encoders, and the screen pins. Now, unfortunately this does mean the price is way over $150. This is in part because I also forgot Hackclub operates in USD and so was sure I would be in price range until 2 days ago, at which point I had a heart attack 😭. I'll try to cover the rest myself... not really sure how that'll go because I need to buy solder and other stuff since this is my first hardware project (which is already a lot of money), but we'll see... I'm not sure if Hackclub has a thing with JLCPCB for cheaper PCBs but if so that would reduce the total cost, although it might still be just over $150.

Software

Will be mostly added once the physical components are received and assembled, as I don't want to start writing code and then find out it doesn't work because I accidentally used libraries for different components, or something similar to that.

I have added some stuff in the /software directory though.


Thanks to Hackclub for such an amazing opportunity - this project was made by @skifli with 🩷, under the MIT License.

Comments

No comments yet. Be the first to ask about this board.

Ask about this board

Sign in to BoardRepo

New here? Signing in creates your account; there is no separate sign-up.