Blueprint

lpkbv1

Low profile Wireless Mechanical keyboard! BLE is currently non functional, so only works in wired mode until I can figure out how to make an NRF52 devboard ig

Created by nimit nimit 🚀

Tier 2

200 views

3 followers

1Mon 1Mon âš¡ approved lpkbv1 ago

Tickets awarded: 188 tickets

Tier: 2

really nice keyboard!

nimit nimit 🚀 submitted lpkbv1 for review ago

tap tap gave kudos to lpkbv1 ago

Looks great

GB114 GB114 gave kudos to lpkbv1 ago

Very cool!

1Mon 1Mon âš¡ requested changes for lpkbv1 ago

nice job on the keyboard! id like to see some more journaling on how you soldered the PCB, maybe include some more detail on the challenges and issues you ran into? please read over https://blueprint.hackclub.com/about/submission-guidelines and make sure your project is ready to be resubmitted!

Tier: 2

nimit nimit 🚀 submitted lpkbv1 for review ago

nimit nimit 🚀 added to the journal ago

KMK

So I got a new microcontroller for the board, the ESP-32-S3-Pico from waveshare! It could do BLE where the pico W could not. After all, I wasn't prioritizing power consumption anyways. I spent an hour working on the KMK firmware just to get the keymap working, and it was working good! All that was left for me to do was replace the HID mode from USB to BLE! But alas, that caused the memory to overflow and the keyboard could not stay connected to any device more than once without crashing. Hard resets turned into boot loops and I had no option but to ditch the KMK stack. I tried many times to get it working by reducing the modules, disabling the encoder and screen but nothing worked :(
My assumption is that KMK keeps attempting to connect to more devices and advertise itself as available which is really hard to debug since BLE is at the hardware level
image

nimit nimit 🚀 requested changes for lpkbv1 ago

Tier: 2

nimit nimit 🚀 submitted lpkbv1 for review ago

nimit nimit 🚀 requested changes for lpkbv1 ago

Tier: 2

nimit nimit 🚀 submitted lpkbv1 for review ago

nimit nimit 🚀 added to the journal ago

WPM on the screen!

Used QMK Docs, a bunch of trial and error and the inevitable vibecoding session on this. QMK's WPM thing just wouldn't work, so I had chatgpt write me a WPM calculation script. It used dt, so it's quite instantaneous (derivative moment), but I managed to smooth it out and add some decay. I then changed around the stuff on the screen ig. I think this means I am done?! Except the case i still am printing that (multimaterial printing is hard wdym i already purged 200mm3 of filament). only took like 15 minutes on this.
image

nimit nimit 🚀 added to the journal ago

FIRMWARE

about damn time
bad news: no major firwmares (even ZMK) support wireless on the pico w :(
this means i will need to code in wireless from scratch using micropython/C.
in the meantime, I configured good ol' qmk-vial to work with the screen and everything and it looks awesome!
image
image

nimit nimit 🚀 added to the journal ago

3D printing, cad and more printing!

Spent around 2 hours printing, fixing, cadding and reprinting! this is in addition to the hours i have to wait for it to actually print :sob:. i think i went through around 200g of filament? honestly surprised how lightweight these cases are lmao. i think i finally made the perfect design that looks good, fits snug and prints nicely (once i fix my adhesion issues. take this as a sign to not break your heated bed).
image
I also removed the notch near the pico's USB port because i noticed my pico was so high up it wasn't even affected by the case!

nimit nimit 🚀 added to the journal ago

redesign cad

the PCB dimensions had to be changed prior to fabrication. i was reuploading the gerbers, might as well make it smaller and more compact? anyways i made a new cad which I am more proud of, loading that into my 3D printer as I type this. Also added a way for bigger nicer switches so that I can cover up the area with the bad soldering :(
imageimageimage

*edit: switches refer to power switches and battery charging switch

nimit nimit 🚀 added to the journal ago

soldering!

pcbs arrived, started soldering them. i swear this was easy except the area near the batteries
i cannot desolder
unfortunately the stabs don't work, so i might design and print a replacement.
all in all I spent around 4 hours just taking turns soldering rows of diodes and switches. however, the 3 switches on the space bar actually combined the forces causing the switch to feel thrice as heavy. thus, i ended up desoldering the extra switches. for the 2u keys, I didn't really need a stabilizer because one switch is good enough, but the spacebar was in a really terrible position so I just left 2 switches. that's why typing might feel a bit heavy. might fix this by switching the spacebar with 3 custom 3d printed switches in the future though. as for the screen and everything else, it turned out fine (including the lipo and charging stuff), but I removed that later on because of issues with wireless :(
img_20251124_154330_720

CAN CAN ⚡🚀 approved lpkbv1 ago

Tier approved: 2

Grant approved: $156.00

nimit nimit 🚀 submitted lpkbv1 for review ago

1Mon 1Mon âš¡ requested changes for lpkbv1 ago

please try to cost optimize the pcb! its very expensive right now.

nimit nimit 🚀 submitted lpkbv1 for review ago

CAN CAN ⚡🚀 requested changes for lpkbv1 ago

Your PCB board should not be this expensive, especially if you are getting just minimum quantity PCB. Feel free to dm me on slack.

nimit nimit 🚀 submitted lpkbv1 for review ago

Tanuki Tanuki ⚡🚀 requested changes for lpkbv1 ago

Hi nimit! Your BOM is broken :hs:

nimit nimit 🚀 submitted lpkbv1 for review ago

nimit nimit 🚀 added to the journal ago

Redid the power

Changed it up to use a good ol' TP4056 IC i have lying around, and make it function just as good with 2 schotkey diodes! the pcb is a pain, but I didn't change much so mountin should be the same
image

Kai the Jolly Guy Kai the Jolly Guy 🚀 requested changes for lpkbv1 ago

Hey Nimit :D Your BOM needs to be significantly reduced, we are not paying for PCBA for keyboards! Could you also improve your actual BOM format in your repo, it should include USD prices, check out the guide on the website! Please also do a final assembly with your PCB inside of your case in your CAD model to make sure everything fits properly. I would also suggest getting your charging IC checked on the KiCad discord server! Nice work so far though :D

nimit nimit 🚀 submitted lpkbv1 for review ago

nimit nimit 🚀 added to the journal ago

Finshed the CAD

Keyboard CAD! I should be able to fit the battery in there, everything else looks perfect. idk why the inserts are different colours but eh. also it was kinda fun to make all this now that i look back. time to make the bom and submit this :yay:. here is some padding text to reach the word count :thumbup:
image.png

nimit nimit 🚀 added to the journal ago

CAD (2)

Freecad wasn't right for me, so I went to onshape to learn. I started with the basic keyboard, added the screws and set up the walls. Thin (2.5mm) walls and a not that large area of coverage. I will also need to figure out the way to slide in the battery but that's a future me problem. I'll probably sandwich the battery and then screw in a top case, screw the PCB into that.
image.png

nimit nimit 🚀 added to the journal ago

Rerouted the PCB again

Turns out gateron KS-33 LP have different footprints, so there goes my saturday. I also reinstalled kicad so i could get the 3d models rendering properly, and my god is it pretty. Tried the 18650, didn't like and am sticking with a 4000mAh lipo battery
here is the nice PCB now
image.png
image.png
image.png
image.png

nimit nimit 🚀 added to the journal ago

CAD!!!

Learning freecad definitely has a curve to it, but it runs awesome unlike fusion. I am too used to fusion so it took me more than an hour to fix up the outline sketch of the case. After that, I need to add the mounting holes (also to the PCB, i forgot those) and the slot for the acrylic cover!
image.png

nimit nimit 🚀 added to the journal ago

Finished the PCB

I finally finished the PCB! Now everything looks (and hopefully works) awesome! Still debating between a black on white or white on black design, but it will definitely have acrylic on the case :yesyes:. Anyways check out the picture of the design! Rounded corners will be translated into the cad (2.5mm, 1cm is too much, i learn).
image.png

nimit nimit 🚀 added to the journal ago

Routed the rest of the PCB

Got the new power stuff working and routed the rest of the PCB. Also managed to figure out the PSU, although I might need to fix the resistors around. I also added an OLED screen. There is a cool thing where i exported the PCB as dxf and imported it onto the silkscreen, just because; and it honestly looks pretty cool ngl. The edge cuts is temporary, just so the board renders properly. Might round it off later or clean up the areas.
image.png

nimit nimit 🚀 added to the journal ago

power stuff

tried to replace the shitty chinese charging thing with an actually good IC (the MCP73871). i have no idea how this works. my chatgpt free ended for today. i found a reddit thread from 2018 with no good answers. i need help. oh also the pcb looks pretty clean, i might replace the 18650 with a thin pillow, so i can expand the size later too!
image.png

nimit nimit 🚀 added to the journal ago

Added the diodes and routed some of the PCB

Added the diodes and routed most of the rows and columns! Decided where to put the Pico (only used for charging) and now it looks very clean. The battery will be near the top so i'll have to expand the case (chamfer?) around that area; or just get a lipo instead. Overall, i am very close to completing the PCB

image.png

nimit nimit 🚀 added to the journal ago

Laid out the PCB

pretty fun, just set the grid sizes to the MX standard and went at it. Still debating where to put the 18650 holder, but i'll probably put it near the bottom or the top side of the keyboard
The stabs are hard to find for low profile keyborads, so i came up with a cursed alternative. Just put the stabs and two extra switches smh

Screenshot From 2025-10-02 14-53-22.png

nimit nimit 🚀 added to the journal ago

Completed the Schematic!

Made a matrix and copy-pasted it to get the keyboard area. Then I used the research I did for the battery to make that area. The Pico and the encoder are standard, and the switches are MX. The 18650 also goes through a Voltage Divider to act as a Battery percentage somewhat. Finally, I set all the footprints for each symbol (thank you joe scotto)

Screenshot From 2025-10-01 16-34-01.png

nimit nimit 🚀 added to the journal ago

Make KLE Layouts!

I made some KLE Layouts for Matrix and Label! Matrix is going to be required for Vial later on so I decided to do that right now. I also made the PCB Files and added them to the repo! Gonna start work on the schematic now :D. Also, why are low profile keycaps so expensive, and I don't even have aliexpress 😭😭
image.png
image.png

nimit nimit 🚀 added to the journal ago

Researched power system and battery requirements!

Calculated some of the power stuff, which BMS board I can use and a couple of the things to calculate the overall charging system :). Connecting the Pico will be through a USB Micro B port. The VBUS will connect to the BMS for charging, and BMS to VSYS. This is the Breakout I plan on using, but probably won't expose the USB Port on it!
Screenshot From 2025-10-01 14-45-17.png

nimit nimit 🚀 started lpkbv1 ago

10/1/2025 2 PM - Researched power system and battery requirements!

Calculated some of the power stuff, which BMS board I can use and a couple of the things to calculate the overall charging system :). Connecting the Pico will be through a USB Micro B port. The VBUS will connect to the BMS for charging, and BMS to VSYS. This is the Breakout I plan on using, but probably won't expose the USB Port on it!
Screenshot From 2025-10-01 14-45-17.png

10/1/2025 3 PM - Make KLE Layouts!

I made some KLE Layouts for Matrix and Label! Matrix is going to be required for Vial later on so I decided to do that right now. I also made the PCB Files and added them to the repo! Gonna start work on the schematic now :D. Also, why are low profile keycaps so expensive, and I don't even have aliexpress 😭😭
image.png
image.png

10/1/2025 4 PM - Completed the Schematic!

Made a matrix and copy-pasted it to get the keyboard area. Then I used the research I did for the battery to make that area. The Pico and the encoder are standard, and the switches are MX. The 18650 also goes through a Voltage Divider to act as a Battery percentage somewhat. Finally, I set all the footprints for each symbol (thank you joe scotto)

Screenshot From 2025-10-01 16-34-01.png

10/2/2025 - Laid out the PCB

pretty fun, just set the grid sizes to the MX standard and went at it. Still debating where to put the 18650 holder, but i'll probably put it near the bottom or the top side of the keyboard
The stabs are hard to find for low profile keyborads, so i came up with a cursed alternative. Just put the stabs and two extra switches smh

Screenshot From 2025-10-02 14-53-22.png

10/3/2025 - Added the diodes and routed some of the PCB

Added the diodes and routed most of the rows and columns! Decided where to put the Pico (only used for charging) and now it looks very clean. The battery will be near the top so i'll have to expand the case (chamfer?) around that area; or just get a lipo instead. Overall, i am very close to completing the PCB

image.png

10/6/2025 - power stuff

tried to replace the shitty chinese charging thing with an actually good IC (the MCP73871). i have no idea how this works. my chatgpt free ended for today. i found a reddit thread from 2018 with no good answers. i need help. oh also the pcb looks pretty clean, i might replace the 18650 with a thin pillow, so i can expand the size later too!
image.png

10/9/2025 - Routed the rest of the PCB

Got the new power stuff working and routed the rest of the PCB. Also managed to figure out the PSU, although I might need to fix the resistors around. I also added an OLED screen. There is a cool thing where i exported the PCB as dxf and imported it onto the silkscreen, just because; and it honestly looks pretty cool ngl. The edge cuts is temporary, just so the board renders properly. Might round it off later or clean up the areas.
image.png

10/10/2025 4 PM - Finished the PCB

I finally finished the PCB! Now everything looks (and hopefully works) awesome! Still debating between a black on white or white on black design, but it will definitely have acrylic on the case :yesyes:. Anyways check out the picture of the design! Rounded corners will be translated into the cad (2.5mm, 1cm is too much, i learn).
image.png

10/10/2025 6 PM - CAD!!!

Learning freecad definitely has a curve to it, but it runs awesome unlike fusion. I am too used to fusion so it took me more than an hour to fix up the outline sketch of the case. After that, I need to add the mounting holes (also to the PCB, i forgot those) and the slot for the acrylic cover!
image.png

10/11/2025 - Rerouted the PCB again

Turns out gateron KS-33 LP have different footprints, so there goes my saturday. I also reinstalled kicad so i could get the 3d models rendering properly, and my god is it pretty. Tried the 18650, didn't like and am sticking with a 4000mAh lipo battery
here is the nice PCB now
image.png
image.png
image.png
image.png

10/13/2025 - CAD (2)

Freecad wasn't right for me, so I went to onshape to learn. I started with the basic keyboard, added the screws and set up the walls. Thin (2.5mm) walls and a not that large area of coverage. I will also need to figure out the way to slide in the battery but that's a future me problem. I'll probably sandwich the battery and then screw in a top case, screw the PCB into that.
image.png

10/20/2025 - Finshed the CAD

Keyboard CAD! I should be able to fit the battery in there, everything else looks perfect. idk why the inserts are different colours but eh. also it was kinda fun to make all this now that i look back. time to make the bom and submit this :yay:. here is some padding text to reach the word count :thumbup:
image.png

11/5/2025 - Redid the power

Changed it up to use a good ol' TP4056 IC i have lying around, and make it function just as good with 2 schotkey diodes! the pcb is a pain, but I didn't change much so mountin should be the same
image

11/26/2025 9:55 PM - soldering!

pcbs arrived, started soldering them. i swear this was easy except the area near the batteries
i cannot desolder
unfortunately the stabs don't work, so i might design and print a replacement.
all in all I spent around 4 hours just taking turns soldering rows of diodes and switches. however, the 3 switches on the space bar actually combined the forces causing the switch to feel thrice as heavy. thus, i ended up desoldering the extra switches. for the 2u keys, I didn't really need a stabilizer because one switch is good enough, but the spacebar was in a really terrible position so I just left 2 switches. that's why typing might feel a bit heavy. might fix this by switching the spacebar with 3 custom 3d printed switches in the future though. as for the screen and everything else, it turned out fine (including the lipo and charging stuff), but I removed that later on because of issues with wireless :(
img_20251124_154330_720

11/26/2025 9:57 PM - redesign cad

the PCB dimensions had to be changed prior to fabrication. i was reuploading the gerbers, might as well make it smaller and more compact? anyways i made a new cad which I am more proud of, loading that into my 3D printer as I type this. Also added a way for bigger nicer switches so that I can cover up the area with the bad soldering :(
imageimageimage

*edit: switches refer to power switches and battery charging switch

11/27/2025 - 3D printing, cad and more printing!

Spent around 2 hours printing, fixing, cadding and reprinting! this is in addition to the hours i have to wait for it to actually print :sob:. i think i went through around 200g of filament? honestly surprised how lightweight these cases are lmao. i think i finally made the perfect design that looks good, fits snug and prints nicely (once i fix my adhesion issues. take this as a sign to not break your heated bed).
image
I also removed the notch near the pico's USB port because i noticed my pico was so high up it wasn't even affected by the case!

11/28/2025 - FIRMWARE

about damn time
bad news: no major firwmares (even ZMK) support wireless on the pico w :(
this means i will need to code in wireless from scratch using micropython/C.
in the meantime, I configured good ol' qmk-vial to work with the screen and everything and it looks awesome!
image
image

12/1/2025 - WPM on the screen!

Used QMK Docs, a bunch of trial and error and the inevitable vibecoding session on this. QMK's WPM thing just wouldn't work, so I had chatgpt write me a WPM calculation script. It used dt, so it's quite instantaneous (derivative moment), but I managed to smooth it out and add some decay. I then changed around the stuff on the screen ig. I think this means I am done?! Except the case i still am printing that (multimaterial printing is hard wdym i already purged 200mm3 of filament). only took like 15 minutes on this.
image

1/9/2026 - KMK

So I got a new microcontroller for the board, the ESP-32-S3-Pico from waveshare! It could do BLE where the pico W could not. After all, I wasn't prioritizing power consumption anyways. I spent an hour working on the KMK firmware just to get the keymap working, and it was working good! All that was left for me to do was replace the HID mode from USB to BLE! But alas, that caused the memory to overflow and the keyboard could not stay connected to any device more than once without crashing. Hard resets turned into boot loops and I had no option but to ditch the KMK stack. I tried many times to get it working by reducing the modules, disabling the encoder and screen but nothing worked :(
My assumption is that KMK keeps attempting to connect to more devices and advertise itself as available which is really hard to debug since BLE is at the hardware level
image