Split Keyboard
A wireless low-profile split-keyboard, based on the guide :D! With RGB backlight and thumb clusters.
Created by
David 🚀
Tier 3
2 views
0 followers
David 🚀
submitted Split Keyboard for review ago
David 🚀
added to the journal ago
Wrote README
Basically, I just wrote up a README for the project, with a couple renders and screenshots.

I tried to detail each part of the project, as well as include a BOM.
David 🚀
added to the journal ago
Designed Case
I've now finished designing the case!!! (which is basically the last key part of this project). I designed the two halves so they are almost identical to mirror, so I'll only show one half here:

I'll tidy up the repo, and then be ready to submit.
David 🚀
added to the journal ago
Added Keycaps
So I kinda got a little bit sidetracked here... But basically I spent a little while adding the switches into the sockets, and then choosing some nice looking keycaps for the board! I also did a little render (not the best quality ik), cause why not.

David 🚀
added to the journal ago
Add 3D Models
As a quick preparation for making the case, I added in some 3d models of the Nice!Nano and its headers, which should make modelling the case a bit easier. I also manually combined it with some headers for better positioning.

David 🚀
added to the journal ago
Fixed Firmware

I finally managed to fix the build issues - it was mostly an issue with the keymap definition. While I was at it, I also made some significant improvements to the keymap, and fixed some other config. Next up is the case!!
David 🚀
added to the journal ago
Created ZMK Shield
i've been researhcing ZMK (mostly from their docs), and used that information to create a custom 'shield' for my keyboard. I haven't gone too detailed into config, but focused on overall setting up keymaps, etc. THen when I've physically made the PCB, I can add extra features and test!

Unfortunately the build seems to be failing rn, so my next step is to do some troubleshooting.

David 🚀
added to the journal ago
Optimised BOM

So, having revised the PCB a bit, I redid the BOM, with as many optimisations as I could, to bring it down by ~$35 to just under $100! Next up is working on the firmware!
David 🚀
added to the journal ago
Switched to Nice!Nano


Redesigned the board to be compatible with the Nice!Nano, which is substantially cheaper than the XIAO. It unfortunately did make the board a bit bigger, but all in all its not too bad.
David 🚀
added to the journal ago
Worked on Sourcing

I spent this time working on finding suppliers for the parts. I've worked quite hard to find other potential sources which might be cheaper, and think I've done decently.
I still need to compare LCSC with other options like mouser though:

David 🚀
added to the journal ago
DRC Fixes and Panelisation


I just did a quick fix of everything based on the DRC checker, then spent a little too long trying to make the mousebites work, cause I couldn't make the board outline 'close' properly. Turns out there's a tool called 'heal shapes' which fixes everything automatically!

David 🚀
added to the journal ago
Finished Routing


I've now finished routing the entire PCB!!! I tried to do similar things to the other half, although tried a new power distribution method, which made routing a lot easier.
Here are some 3d renders of the PCB:


Just need to do a couple of last checks, and then I'll be ready to ship!
David 🚀
added to the journal ago
Layout Left Side

Ok so now I've been working on laying out the opposite side of the keyboard. This time I knew what I was doing, although I did have to be careful to make sure the layout matched up with the side I already designed.
I also begun routing some of the critical power areas, like the BMS and 5V boost converter.


David 🚀
added to the journal ago
Layout and Re-Routed PCB


So after adding the LEDs and BMS and stuff, I have now redone the layout (most stuff stayed the same, I just had to shuffle the BMS and 5V regulator in), and then re-routed accordingly.
I've put a GND pour on both sides with stitching vias to help with current management and EMI.


^^ Some 3d views of the PCB
So now all I have left to do is work out how to mirror the PCB...
David 🚀
added to the journal ago
Added LEDs

This took way too long... ðŸ˜
Basically I added a bunch of RGB backlight LEDs to :

But to do that I had to fix up some power stuff to both protect the LiPo and regulate a 5V output for the LEDs to run happily. So trying to get my head around the whole buck-boost convertor thing was kinda slow... But i got there in the end!
David 🚀
added to the journal ago
Designed the PCB

I've now designed and routed the PCB! I spent a little while deciding on and optimising the layout, and then I also routed everything. It also took me a little while to get the board outline I wanted. Next I will be deciding what to add to make mine a little unique!

David 🚀
added to the journal ago
Assigned Footprints


I've spent this time doing some research to decide which parts to use, and assigned footprints to everything. I had a bit of an issue trying to install the marbastlib footprint library, which took ~20-30mins to sort out, but i got it sorted in the end!
David 🚀
added to the journal ago
Tidied Up Schematic

I mostly just tied everything up, fixed a few issues and added some mounting points and made everything look nicer! Next up I'll assign footprints and start designing the PCB :D
David 🚀
added to the journal ago
Added XIAO circuitry

I've now added the main microcontroller and battery circuitry! I'm using the XIAO nRF52840, which is a good small and wireless microcontroller, with enough inputs for the keys matrix.
David 🚀
added to the journal ago
Added the key matrix

I finished adding the matrix for the keys! I've included diodes and switches for half the keyboard (the other half will automatically duplicate from it)
David 🚀
added to the journal ago
Set-Up and Installed Libraries
Set-up the project and installed all the required KiCad libraries. I also made a bit of a plan for what I will add to the project.
I had a bit of trouble installing the libraries, although managed to work it out eventually :D

David 🚀
started Split Keyboard ago
1/20/2026 7 PM - Set-Up and Installed Libraries
Set-up the project and installed all the required KiCad libraries. I also made a bit of a plan for what I will add to the project.
I had a bit of trouble installing the libraries, although managed to work it out eventually :D

1/20/2026 8:20 PM - Added the key matrix

I finished adding the matrix for the keys! I've included diodes and switches for half the keyboard (the other half will automatically duplicate from it)
1/20/2026 8:27 PM - Added XIAO circuitry

I've now added the main microcontroller and battery circuitry! I'm using the XIAO nRF52840, which is a good small and wireless microcontroller, with enough inputs for the keys matrix.
1/20/2026 9 PM - Tidied Up Schematic

I mostly just tied everything up, fixed a few issues and added some mounting points and made everything look nicer! Next up I'll assign footprints and start designing the PCB :D
1/20/2026 11 PM - Assigned Footprints


I've spent this time doing some research to decide which parts to use, and assigned footprints to everything. I had a bit of an issue trying to install the marbastlib footprint library, which took ~20-30mins to sort out, but i got it sorted in the end!
1/21/2026 11 AM - Designed the PCB

I've now designed and routed the PCB! I spent a little while deciding on and optimising the layout, and then I also routed everything. It also took me a little while to get the board outline I wanted. Next I will be deciding what to add to make mine a little unique!

1/21/2026 8 PM - Added LEDs

This took way too long... ðŸ˜
Basically I added a bunch of RGB backlight LEDs to :

But to do that I had to fix up some power stuff to both protect the LiPo and regulate a 5V output for the LEDs to run happily. So trying to get my head around the whole buck-boost convertor thing was kinda slow... But i got there in the end!
1/22/2026 2 PM - Layout and Re-Routed PCB


So after adding the LEDs and BMS and stuff, I have now redone the layout (most stuff stayed the same, I just had to shuffle the BMS and 5V regulator in), and then re-routed accordingly.
I've put a GND pour on both sides with stitching vias to help with current management and EMI.


^^ Some 3d views of the PCB
So now all I have left to do is work out how to mirror the PCB...
1/22/2026 9 PM - Layout Left Side

Ok so now I've been working on laying out the opposite side of the keyboard. This time I knew what I was doing, although I did have to be careful to make sure the layout matched up with the side I already designed.
I also begun routing some of the critical power areas, like the BMS and 5V boost converter.


1/22/2026 11 PM - Finished Routing


I've now finished routing the entire PCB!!! I tried to do similar things to the other half, although tried a new power distribution method, which made routing a lot easier.
Here are some 3d renders of the PCB:


Just need to do a couple of last checks, and then I'll be ready to ship!
1/23/2026 11 AM - DRC Fixes and Panelisation


I just did a quick fix of everything based on the DRC checker, then spent a little too long trying to make the mousebites work, cause I couldn't make the board outline 'close' properly. Turns out there's a tool called 'heal shapes' which fixes everything automatically!

1/23/2026 9 PM - Worked on Sourcing

I spent this time working on finding suppliers for the parts. I've worked quite hard to find other potential sources which might be cheaper, and think I've done decently.
I still need to compare LCSC with other options like mouser though:

1/24/2026 1 PM - Switched to Nice!Nano


Redesigned the board to be compatible with the Nice!Nano, which is substantially cheaper than the XIAO. It unfortunately did make the board a bit bigger, but all in all its not too bad.
1/24/2026 9 PM - Optimised BOM

So, having revised the PCB a bit, I redid the BOM, with as many optimisations as I could, to bring it down by ~$35 to just under $100! Next up is working on the firmware!
1/25/2026 2 PM - Created ZMK Shield
i've been researhcing ZMK (mostly from their docs), and used that information to create a custom 'shield' for my keyboard. I haven't gone too detailed into config, but focused on overall setting up keymaps, etc. THen when I've physically made the PCB, I can add extra features and test!

Unfortunately the build seems to be failing rn, so my next step is to do some troubleshooting.

1/25/2026 4 PM - Fixed Firmware

I finally managed to fix the build issues - it was mostly an issue with the keymap definition. While I was at it, I also made some significant improvements to the keymap, and fixed some other config. Next up is the case!!
1/25/2026 5 PM - Add 3D Models
As a quick preparation for making the case, I added in some 3d models of the Nice!Nano and its headers, which should make modelling the case a bit easier. I also manually combined it with some headers for better positioning.

1/25/2026 11 PM - Added Keycaps
So I kinda got a little bit sidetracked here... But basically I spent a little while adding the switches into the sockets, and then choosing some nice looking keycaps for the board! I also did a little render (not the best quality ik), cause why not.

1/26/2026 3 PM - Designed Case
I've now finished designing the case!!! (which is basically the last key part of this project). I designed the two halves so they are almost identical to mirror, so I'll only show one half here:

I'll tidy up the repo, and then be ready to submit.
1/26/2026 5 PM - Wrote README
Basically, I just wrote up a README for the project, with a couple renders and screenshots.

I tried to detail each part of the project, as well as include a BOM.