Whilst waiting for a replacement for a beautiful split keyboard, the Sofle v2, i jumped into the rabbit hole of Mechanical Keyboards. It didn't help that my daughter now wants her own, so here I am learning in public.
Clearly, there are some glaring faults here.
-
The inch thick cavity is not good, if makes a bit of an echo chamber which makes quite the twang when a central button is pressed.
- Next versions should seat the MCU on top ( like the lumberjack which I think is cool af )or have more fill inside the case. Maybe foam?
-
Although the dedicated MCU socket is a good idea, to me anyway, it add ALOT of headroom. Perhaps, if the extra gpio pins pointed downwards so that the socket can pop out of the top and the pins point below... that would be a nice to have and potentially not hard to design...
-
Better modelling of the case.
-
MAGNETS! These would be much better to secure the top and bottom to the case.
-
Wiring, cutting out segments didnt work... heat shrinking tiny bits of shrink. Next time, because there will be a next time. I'll be using magnetic wire.
This will be a handwired, wired (for now) build using an RP2040 board (specifically this one Waveshare RP2040 Plus, however if that doesn't work out then I have a Pi Pico WH in waiting--which I need to figure out how to hook up to a LiPo) programmed with KMK. For me this makes sense as i'm primarily a Python developer and KMK is built for the RP2040 ecosystem.
Wanted a "One piece" keyboard, apparently my split board was toooo space ship like... pfft.
I found this very early on in my search across the web, the one piece "split" with the controller in the middle looks pretty cool.
Of course, it's cool. I've tried to keep a similar-ish column stagger (more aggresive pinky, and no ring finger stagger). However, i've moved the clusters into the centre of the board ( something I may live to regret, but hey ho ).
I've designed this board using Keyboard Layout Editor, writing it all in their raw data json field before realising that there was GUI the whole time. This produces the contents of this file: layout.json.
Copy Pasting this into KBFirmware, which I know is EOL but it's great for getting a quick and easy wiring diagram.
Pasting it into swillkb's builder app will generate some CAD output too. Saved in the cad folder. This looks something like this:
I went to laserboost to get the switch and bottom plate cut in Aluminium (This is only a prototype, and I feel like I should have found a 3d printer service too... lessons for the future)
I then thought, hmm... what would make this look very professional? People on the Reddit and the YouTube seem to like KiCad, so I gave it a go and came up with this:
I also used this and the ScottoKeebs KiCad repo to generate a PCB, which I will not be getting printed as it is not completed (Some of the lines couldn't route to their pin so I temporarily gave up) and looks trash (from my currently uneducated gaze). It's more here to show it's easy to do after a 3rd viewing of Joe Scotto's tutorial. Look's cool though right?
My new years resolution is no Amazon so my BoM so far is:
Item | Cost | Use | Links | Notes |
---|---|---|---|---|
Diodes | £3.00 | For Dioding | Mechboards.co.uk | |
MX Silent Reds | £36.00 | The switches | Mechboards.co.uk | Being swapped out for Gateron Oil Kings in my Sofle V2, they were on a 25% sale Bargin! |
Main Header set for Pico * 2 | £2.00 | for socketing | PiHut | *2 so i have a spare, fat fingers and tiny electronics don't go will together |
Pin breakout board | £4.20 | For use as my Socket | PiHut | Better than hotgluing header sets |
Mounting Kit (screws and nut) | £11.50 | Screwing everything together | PiHut | |
Waveshare RP2040Plus 16MB | £11.80 | The microcontroller | PiHut | Only for a wired build |
Solder Wire (lead free) | £8.00 | For soldering | PiHut | |
USB-C to USB-C cable | £4.50 | To connect to the PC | PiHut | |
Fermion Monochrome 128x32 I2C OLED | £9.80 | For visually checking you layer and adding images | PiHut | Dont hold the pins to the back of this for testing, you will slowly burn... |
Metal plates | £70.00 | The case for the whole thing | Lasterboost | I only got the switch and bottom plate, but really I should have just gone for a 3D printer service for this prototype |
Wire | £8.00 | 60m of wire | modellinglectronics | 6 colours, 10m each not bad. Means I can have colour coded rows and columns for each area |
Time spent researching | Priceless | So much stuff! | Reddit and Forums | Just so much... |
3D printed case | £22 | Safer than the sandwiched metal | Surface Scan | Pretty cool, find in the cad folder |
Adendum (Day 3)- I've replaced the wire with 1/0.8 bare copper wire (straightened like Joe Scotto's stuff) and heatshrink stuff. The insulated stuff was just too difficult to work with, however, i'll be able to use it bridge each side of the keyboard. So that everything can route around the controller.
So far that is around £190.80
Which I don't think is too bad, and could be brought under £100 by 3D printing the case or using smaller cheaper microcontroller.
I already have a soldering iron, but that was £20-ish and a Dremel for engraving and metal work, £100 but not needed at all.