Blueprint

Custom keyboard

A 100% keyboard which can be used as a normal keyboard or as a split keyboard and it has a removable numpad

Created by schuilchristiaan schuilchristiaan

Tier 3

10 views

0 followers

Sidd Sidd 🚀 requested changes for Custom keyboard ago

Good work! Almost all of it is great, I just need to you polish/style up your case a bit! Take a look at https://github.com/sharkingstudios/riptide for inspo

schuilchristiaan schuilchristiaan added to the journal ago

added keycaps

I completly forgot to add keycaps to my model so i did this it took some time since there are a loit of keycaps on the keyboard but i got them all on there
image

schuilchristiaan schuilchristiaan submitted Custom keyboard for ship review ago

schuilchristiaan schuilchristiaan added to the journal ago

finished the case

I finished modeling the case and added the PCB to test fit the case i forgot to add a opening for the cabels so i added this and i closed the holes for the pogo connectors a bit im going to make this better when i have the actual PCB soldered with the pogo connectors so i know where they will be exactly.
image

schuilchristiaan schuilchristiaan added to the journal ago

parts

I searched for a way to keep everything under $100 and i have found a way to just be able to get there, i changed from hotswap to soldered switches so i can save a few bucks on the sockets and im going to 3d print the keycaps myself to save even more and then i have the option of making them as big or small as i want. im going to use these keys: https://www.printables.com/model/593307-low-profile-small-mx-keycaps-set/files since they look good and i can choose all the sizes i need.
Aliexpress (switches, picos, pogo connectors and diodes):
image
PCB:
image
shipping for PCB:
image

schuilchristiaan schuilchristiaan added to the journal ago

Made the firmware

I coded the firmware for the keyboard, i first did a bit of research about how i had to write the firmware to make it work with my two pico's during this research i found out i had to add a 4.7K resistors to my SDA and SCL line so its standard high so i added this too my PCB i also added a LED to my capslock key since i want to be able to see if i pushed it or not.
image
(pad not connected since i removed the ground plane for the picture)

After that i started the coding since i didnt want to enter all the keys manualy i used gemini for this but i did check his work and first tested if he knew what he was doing by letting him write some test code for my hackpad, i did also check everything he wrote which took quite a bit of time but luckely way less then having to write it myself.
keymap.c:
image
info.json:
image

schuilchristiaan schuilchristiaan added to the journal ago

finished the case

I finished modeling the case, i added a small ledge to the side where the PCB is going to lay on and i tryed to add mounting holes but i couldnt really find a place to put them on the PCB (i should have plant these before starting with the traces but id didnt) so im going to use a bit of glue to secure it to the case and since im planning on adding some silkscreen to the PCB i would like to be able to see this a bit through the gaps between the keys so i wont be adding a top plate.
image
i also reasearched some other keyboards to see if i should change anything or if its good and everything looks good! the only thing i would like to add is a LED for the caps lock so i can see if its enebaled or not

schuilchristiaan schuilchristiaan added to the journal ago

case

I modeled a case for the keyboard it took quite a bit of time since it has to fit the PCB but also fit neatly together and not look bad when they are apart.
image

schuilchristiaan schuilchristiaan added to the journal ago

Fixed the traces

I fixed all the DRC errors by routing all the traces correctly to the new holes for the soldered switches
I also had to change the footprint of the 2U switches since i didnt have a solderable 2U footprint so i changed the hotswap one to a solderable one.
image

schuilchristiaan schuilchristiaan added to the journal ago

lot of small things

I added the 3D models of the switches and hotswap adapters to the PCB's
image
After that i looked at how expensive everything is going to be and im going to be over budget so im going to have to save somewhere so im going to solder the keys instead of making them hotswapable this is going to save about 15 euro which brings me closer to the budget.
image
ufortuantly that means reconnecting a lot of holes since i had to change the footprint and the big hole is also a bit different so i have to reroute some traces.
image

schuilchristiaan schuilchristiaan added to the journal ago

mouse bites vs ordering seperatly

Made a quick test to see if it would be cheaper to use mouse bites and order everything in one panel or if ordering seperatly was cheaper turns out its a bit cheaper to order seperatly which is also what i would preffer so thats nice.
image

image

schuilchristiaan schuilchristiaan added to the journal ago

fixed DRC

I fixed all the DRC errors by editing the footprint of the pico and removing all of the silkscreen.
image
I wasnt allowed to edit the actual footprint so i made a new one which i was allowed to edit.

schuilchristiaan schuilchristiaan added to the journal ago

changed footprint

I changed the footprint of the 2U switches with stabilizers since tey wouldnt work like this i looked for quite some time to find one only which i could know works but i couldnt find one so i changed the one i had a bit and it will hopefully work (should work looking at the data sheet).
image
And i fixed most of the DRC warnings the only ones left oare from the pico silkscreen which i'm somehow not allowed to edit so going to have to figure that out.

schuilchristiaan schuilchristiaan added to the journal ago

routed the rest

i routed the rest of the PCB but if got a LOT of DRC warnings most of them are silkscreen so easy fixes but some of the 177 warnings are bad like board clearance violations where the clearance is 0.0175 but this is in my footprint for the stabilizers so im going to have to search for a other footprint cause this cant be right.
image

schuilchristiaan schuilchristiaan added to the journal ago

Routed the left half

I routed the left half of the keyboard it took some time since i had to figure out which pins i had to use to get the best routing result so i started with choosing which column was close to a pin and added all the columns and then i added the rows.
image

schuilchristiaan schuilchristiaan added to the journal ago

added two picos

I decided on using two pi pico's one in each half of the board, since i have a lot of rows and colums i couldnt use a xiao like many of the guides since these dont have enough pins to work with but the pico does. i also added two 4 point solderplaces so i can solder the two halfs together i wanted to use a TRRS for this but the connector was too big to fit with the switches so i'm going to solder them
image

schuilchristiaan schuilchristiaan added to the journal ago

connected the switches

I connected all the swithes together, all the rows are connected on the back side directly and most of the colums have vias in between the connections where they go to the front for a bit.
i'm now going to figure out the controller of the keyboard
image

schuilchristiaan schuilchristiaan added to the journal ago

Placed the swiches

I Placed all the switches in the right spot so i can start routing them. I havent yet started on the controller for the keyboard since i dont know yet how im going to let the splitt keyboards "talk" its going to be wired but im debating if bith are going to hav a controller or if its going to be 1 controller.
image

schuilchristiaan schuilchristiaan added to the journal ago

started schematic

i started making the shematic and added all the keys im going to use:
image
then i wanted to add stabilizers but i couldnt find a footprint for them but after search the web for way too long i found this github page which looks like its going to work:
https://github.com/niw/mfk60/tree/master/Library/Gateron_Low_Profile
so im going to add these

schuilchristiaan schuilchristiaan added to the journal ago

research

I did a lot of research into keyboards since i want to make the perfect one for me. I like the keyboard on my laptop so i want to make something with a low profile and not the normal mechanical keyboard since i dont like how they feel. I also get wrist pain if im typing to long so i want to have the option of a split keyboard but i dont like the look of most split keyboards and i want to be able to use it as a normal keyboard since thats what im used to and i want to be able to type with one hand, so thats how i came to the design of the "main" keyboard. i also want to have a numpad but i dont have thatt much room on my desk since its always cluttered with projects so i want to be able to remove it and be able to attach it to both sides of the keyboard.
so i came to this design:
image

schuilchristiaan schuilchristiaan started Custom keyboard ago

1/26/2026 10 AM - research

I did a lot of research into keyboards since i want to make the perfect one for me. I like the keyboard on my laptop so i want to make something with a low profile and not the normal mechanical keyboard since i dont like how they feel. I also get wrist pain if im typing to long so i want to have the option of a split keyboard but i dont like the look of most split keyboards and i want to be able to use it as a normal keyboard since thats what im used to and i want to be able to type with one hand, so thats how i came to the design of the "main" keyboard. i also want to have a numpad but i dont have thatt much room on my desk since its always cluttered with projects so i want to be able to remove it and be able to attach it to both sides of the keyboard.
so i came to this design:
image

1/26/2026 12 PM - started schematic

i started making the shematic and added all the keys im going to use:
image
then i wanted to add stabilizers but i couldnt find a footprint for them but after search the web for way too long i found this github page which looks like its going to work:
https://github.com/niw/mfk60/tree/master/Library/Gateron_Low_Profile
so im going to add these

1/26/2026 2 PM - Placed the swiches

I Placed all the switches in the right spot so i can start routing them. I havent yet started on the controller for the keyboard since i dont know yet how im going to let the splitt keyboards "talk" its going to be wired but im debating if bith are going to hav a controller or if its going to be 1 controller.
image

1/26/2026 4 PM - connected the switches

I connected all the swithes together, all the rows are connected on the back side directly and most of the colums have vias in between the connections where they go to the front for a bit.
i'm now going to figure out the controller of the keyboard
image

1/27/2026 12 PM - added two picos

I decided on using two pi pico's one in each half of the board, since i have a lot of rows and colums i couldnt use a xiao like many of the guides since these dont have enough pins to work with but the pico does. i also added two 4 point solderplaces so i can solder the two halfs together i wanted to use a TRRS for this but the connector was too big to fit with the switches so i'm going to solder them
image

1/27/2026 3 PM - Routed the left half

I routed the left half of the keyboard it took some time since i had to figure out which pins i had to use to get the best routing result so i started with choosing which column was close to a pin and added all the columns and then i added the rows.
image

1/27/2026 5 PM - routed the rest

i routed the rest of the PCB but if got a LOT of DRC warnings most of them are silkscreen so easy fixes but some of the 177 warnings are bad like board clearance violations where the clearance is 0.0175 but this is in my footprint for the stabilizers so im going to have to search for a other footprint cause this cant be right.
image

1/27/2026 9 PM - changed footprint

I changed the footprint of the 2U switches with stabilizers since tey wouldnt work like this i looked for quite some time to find one only which i could know works but i couldnt find one so i changed the one i had a bit and it will hopefully work (should work looking at the data sheet).
image
And i fixed most of the DRC warnings the only ones left oare from the pico silkscreen which i'm somehow not allowed to edit so going to have to figure that out.

1/28/2026 11 AM - fixed DRC

I fixed all the DRC errors by editing the footprint of the pico and removing all of the silkscreen.
image
I wasnt allowed to edit the actual footprint so i made a new one which i was allowed to edit.

1/28/2026 12 PM - mouse bites vs ordering seperatly

Made a quick test to see if it would be cheaper to use mouse bites and order everything in one panel or if ordering seperatly was cheaper turns out its a bit cheaper to order seperatly which is also what i would preffer so thats nice.
image

image

1/28/2026 1 PM - lot of small things

I added the 3D models of the switches and hotswap adapters to the PCB's
image
After that i looked at how expensive everything is going to be and im going to be over budget so im going to have to save somewhere so im going to solder the keys instead of making them hotswapable this is going to save about 15 euro which brings me closer to the budget.
image
ufortuantly that means reconnecting a lot of holes since i had to change the footprint and the big hole is also a bit different so i have to reroute some traces.
image

1/28/2026 2 PM - Fixed the traces

I fixed all the DRC errors by routing all the traces correctly to the new holes for the soldered switches
I also had to change the footprint of the 2U switches since i didnt have a solderable 2U footprint so i changed the hotswap one to a solderable one.
image

1/28/2026 4 PM - case

I modeled a case for the keyboard it took quite a bit of time since it has to fit the PCB but also fit neatly together and not look bad when they are apart.
image

1/30/2026 2 PM - finished the case

I finished modeling the case, i added a small ledge to the side where the PCB is going to lay on and i tryed to add mounting holes but i couldnt really find a place to put them on the PCB (i should have plant these before starting with the traces but id didnt) so im going to use a bit of glue to secure it to the case and since im planning on adding some silkscreen to the PCB i would like to be able to see this a bit through the gaps between the keys so i wont be adding a top plate.
image
i also reasearched some other keyboards to see if i should change anything or if its good and everything looks good! the only thing i would like to add is a LED for the caps lock so i can see if its enebaled or not

1/30/2026 8 PM - Made the firmware

I coded the firmware for the keyboard, i first did a bit of research about how i had to write the firmware to make it work with my two pico's during this research i found out i had to add a 4.7K resistors to my SDA and SCL line so its standard high so i added this too my PCB i also added a LED to my capslock key since i want to be able to see if i pushed it or not.
image
(pad not connected since i removed the ground plane for the picture)

After that i started the coding since i didnt want to enter all the keys manualy i used gemini for this but i did check his work and first tested if he knew what he was doing by letting him write some test code for my hackpad, i did also check everything he wrote which took quite a bit of time but luckely way less then having to write it myself.
keymap.c:
image
info.json:
image

2/1/2026 5 PM - parts

I searched for a way to keep everything under $100 and i have found a way to just be able to get there, i changed from hotswap to soldered switches so i can save a few bucks on the sockets and im going to 3d print the keycaps myself to save even more and then i have the option of making them as big or small as i want. im going to use these keys: https://www.printables.com/model/593307-low-profile-small-mx-keycaps-set/files since they look good and i can choose all the sizes i need.
Aliexpress (switches, picos, pogo connectors and diodes):
image
PCB:
image
shipping for PCB:
image

2/1/2026 7 PM - finished the case

I finished modeling the case and added the PCB to test fit the case i forgot to add a opening for the cabels so i added this and i closed the holes for the pogo connectors a bit im going to make this better when i have the actual PCB soldered with the pogo connectors so i know where they will be exactly.
image

2/13/2026 - added keycaps

I completly forgot to add keycaps to my model so i did this it took some time since there are a loit of keycaps on the keyboard but i got them all on there
image