The Helloworld8 is an extremely simple proof of concept handwired split keyboard powered by ZMK firmware.
The keyboard contains 8 keys to type the phase "hello world"
, allows switching
between 2 Bluetooth profiles, and is meant for the user (me) to get acquainted with the basic concepts of building a keyboard.
The repo contains the keymap for direct wiring and matrix wiring.
Super experimental attempt at wiring everything up. First time soldering, so I decided to only solder the key switches, and tape everything else since I want to reuse the components for matrix wiring and my next proper keyboard.
Left | Right |
---|---|
Material | Cost (SGD) | Notes |
---|---|---|
NRF52840 Dev Board | 2x $8.18 from Shopee | joric: "LED colors are swapped, RED is Bluetooth (user LED), BLUE is charger, should be vice-versa" . Caused confusion when trying to wire the batteries |
3.7V 1000mAH 102050 Lithium Polymer | Pack of 2, $16.30, Shopee | Decided 1000mAh based on ZMK Power Profiler, but it's definitely too large as compared to the Microcontroller. The connecting cables are very annoying to rest on the microcontroller, but that's on me for not wanting to solder the battery to the MC |
Cherry yellow switches | Pack of 10, $4, random shop | |
Soldering tools (Soldering iron, Stand, Solder, Flux, Desoldering Pump) | Free | Borrowed from a friend |
Soldering Mat | $9, Artfriend | |
Safety Googles | $7 | |
Wires | Free | Extracted copper wires from a spare Ethernet cable |
Keycaps | Free-ish | Reused from another unused set of key caps. Not strictly needed for this POC |
- Wrongly configured the initial firmware, due to bad / lazy copy pasting resulting in
// wrong
<&gpiogpio1 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
instead of
// correct
<&pro_micro 8 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>
Left | Right |
---|---|
-
Started using OnShape to 3D print the keyboard cases and boards, first time using CAD and 3D printing as well
- The large batteries sizes came back to haunt me, I designed 2 different cases:
-
1 for housing only the switches, while the microcontroller and battery are outside, because I'm noob:
- The plate is meant to be screwed into the case.
-
1 for housing the switches, microcontroller, and battery, with an opening for type C cable, now that I'm more confident:
-
onshape_largecase_rotate.mp4
-
The type C opening failed miserably, the opening was wide enough for the header, but too deep for the cable to enter
-
The microcontroller slot worked too well, the microcontroller snap fitted into the -slot, and I had to spent a long time prying it out
-
The case was still too small, the battery barely fit in with the microcontroller, and I ended up having to take the microcontroller outside
-
-
- Files are publicly viewable here
- The large batteries sizes came back to haunt me, I designed 2 different cases:
-
Had lots of trouble getting the batteries wires to stick into the microcontrollers, due to not wanting to solder the wires for this POC.
On top of the materials above,
Material | Cost (SGD) | Notes |
---|---|---|
Copper wires, 1m, coiled | $6 x2, electronic shop | Used less than 50cm of the wires |
Heat shrink tube | $6, electronic shop | Bad purchase, the smallest tube wasn't able to wrap the copper wires and had lots of space to spare. Had to use additional tape (see Left Keyboard above photo) |
Diodes, pack of 100 | $2 x2, Shoppee |
example.mp4
With this experience, I'm more ready now to tackle building my own 3x6+5
split keyboard tailored to my hand size. The bluetooth connection is stable, so my concerns work usage wise are satisfied.
The goal is to have a cheap low profile wireless keyboard with easy transportation, so in order to keep costs low, I'll be trying to 3d print the kepcaps as well for low profile switches. I have already brought the switches, which costs the largest chunk of the whole project so far. Maybe I'll look into membrane keyboards / scissors switches for the following (next-next) keyboard.
I'm planning to experiment using snap fits creating a proper keyboard case this time to avoid screwing, to make it easy to join / unjoin the keyboards when I leave / arrive for work.
Maybe after my 2nd keyboard, I'll look into creating custom PCB design and boards as well; Soldering for just 8 switches for Helloworld8
already feels tedious, I can't imagine how I'll feel after working on the 3x6+5
split keyboard.
Thanks for reading through this retrospection!