MK-1000
A custom modular keyboard that has both wireless and wired capabilities, uses low profile, kailh choc (V1) hotswap switches (with per key RGB lighting) and a magnetic pogo pin connection which follows the I2C protocol.
Created by
GB114
Tier 2
39 views
1 follower
GB114
added to the journal ago
...Continued revising
I would like to say I've finalized the schematic. As I mentioned before, I isolated the LED rail schematic into its own separate file.




I have also finished making the footprints.

GB114
added to the journal ago
...Still revising scematic (and designing footprints)

I have added a global switch to control when the keyboard turns on and off, I needed MOSFETs to achieve this. The last one of these three MOSFETs will be handling the system voltage source and the others perform their respective tasks.

As you can see, most of the components are duplicates of each other. This is because the parts come in minimum order quantities (moq) so I decided to reuse them in areas where I could have benefited more if I use components with other values, but the method I'm using doesn't cause significant differences.
I also decided to move the LEDs into their own "Hierarchical Sheet", which essentially means they have their own schematic file.

I haven't added the LEDs yet but that's because I have to design their footprints before I duplicate each of them.

I am also designing (more like joining) the footprints for the switches and the LEDs and putting them into my Footprints folder (There are some footprints that aren't in my design now which I'll clean up later).

GB114
added to the journal ago
Revising schematic
From the suggestions provided by @straight up autisumning, I have been looking for MOSFETs, how to add them to my project, which components to remove, considerable revisions like the LEDs (from front side SMD to back), The keyswitches and socket holes (keycap compatibility and cost reasons), also considerations for the whole PCB design since keyboard cases are mandatory.
This is what I'm at right now... Still working on it but I have to sleep now.
.png)
Iamalive 🚀
requested changes for MK-1000 ago
Thanks for making some inital code for the keyboard! However I'm going to have to ask you to also make some sort of case for the board - right now we'll only be able to approve this as a tier 3 project at best.
GB114
submitted MK-1000 for review ago
GB114
added to the journal ago
Properly structured the BOM
After sourcing stabilizers, key-caps, keyswitches and SMD components and trying my best to get it to the cheapest ones I could find while making the project functional, it came out to be around $280 and since blueprint doesn't have intermediary tier between tier 2 and 1, I'm waiting for a comment or decision in the #blueprint channel. I don't know if I should be designing a case right now as it will just increase the costs, which are already high.

GB114
added to the journal ago
Moved the diodes back to the back
After a lot of consultation with fellow hack clubbers and research, I decided to give hand soldering a try. I still am not sure the method of using solder-paste and heating it from the bottom side would work but that's much better compared to getting PCBA, or so they told me.


GB114
added to the journal ago
Moved PCBA components to the top of the PCB
Last fix wasn't enough and to get economic PCBA service, which is cheaper.
I was advised to solder the sockets myself. They also said that I should change the components to through hole components to make them a lot cheaper but that would mean I have to change the project significantly so I decided to keep the SMD components but move them to the top for economic PCBA.




I left just the sockets which I'm going to solder myself.
GB114
added to the journal ago
Finished fixing the layout
I took a looooong break since I had school but now I have finished routing the whole thing and I have also added zone fills. I don't think this version would be hot-swappable but in-order to get it manufactured, I need to reduce costs.

zsharpminor
requested changes for MK-1000 ago
This looks very good! Keyboards are normally tier 3 projects; if you create a case and more extensive custom firmware I could see this possibly being bumped up to a tier 2 but for now, I believe that tier 1 is out of the question. You're also missing a JLCPCB cart screenshot.
GB114
added to the journal ago
Simplifying design
Today, my time has been spent on looking for parts, comparing them to others and finding the most cost optimized ones. In the process, I saw the parts number for one of the components I was using was unusually high compared to what it does.

So, I decided to remove it and I'm now in the process of updating the design file. Sorry reviewers.


GB114
submitted MK-1000 for review ago
GB114
added to the journal ago
Mousebites work
After watching a video about panelization, I searched for mousebites within the PCM-marbastlib library and found a noticeable amount of footprints for mousebites. Some caused issues with DRC so I settled on the 2.5mm one.

I duplicated, mirrored and then joined it to make what you see in the picture above.
The overall PCB layout looks like this now:

GB114
added to the journal ago
Done with the routing; exploring panelization
I am currently done with the routing for both parts of the keyboard. I now have to learn how to panelize, preferably using Kikit, in order to have my PCBs manufactured as one.

GB114
added to the journal ago
Routing the keypad
The overall profile turned out to be smaller than the main keyboard so I decided to have two OLED screens for efficient use of space. I'm having trouble exposing some ground pads since it is densely packed.

GB114
added to the journal ago
Finished the schematic for the Keypad
I wanted to revisit the key pad module I designed earlier. I made some fixes for hot-swappability and added LEDs as well as an OLED screen to the module. I did this because I wanted to see if it is possible to control other I2C components that aren't directly connected to yours.

GB114
added to the journal ago
Compiled the BOM and continued working on the module
I researched many listings before settling on PCBA for my main keyboard. I have added the LCSC part numbers with their corresponding links to the table.

And I'm now sorting the keypad.

Hope this goes quick
GB114
added to the journal ago
Wrote the first draft of my Readme
I referenced the submission guidelines once more and drafted a README.md file for my project. I'm kind of disappointed that I couldn't get my keyboard working in time so that I have the motivation to keep working on the modules but a success is a success.

GB114
added to the journal ago
Modified the edge cut and added a switch
I added a Single Pole Double Throw slide switch because I thought about it and having your keyboard wake up when you press a key isn't the most efficient direction to take when you are working of off a battery. I also modified the edge cut to make the mounting holes towards the edge of the keyboard PCB in case I make a case for it later.


GB114
added to the journal ago
Added zone fills and mounting holes
After modifying the edge cut and moving some components around so that the mounting holes could fit, I tried using zone fill which hadn't worked before and it works now. I'm keeping it even though I was getting errors about thermal relief on some pads that are still connected.



GB114
added to the journal ago
Added Pogopins
Researched about 1 by 6 2.54 mm pitch 90º magnetic pogo-pins and found several sources I could get them so I started looking for a 3D model for them. I couldn't find one so I decided to make my own. But since I didn't have the experience I took two 1 by 5 magnetic pogo-pins and overlapped them with some offset to cover all of the pins. After doing that I rerouted the PCB layout to make sure the connectors stick out.




Hope no one notices them in the final renders >:)
GB114
added to the journal ago
Added the MT3608 module 3d model
I have used the MT3608 model once I was tired of working with components, I searched up the 3D model for it and modified the footprint I already had since it didn't have the right pad distance.



GB114
added to the journal ago
Found another set of key caps
I found another set of key caps which I modified a bit to make sure they work in KiCad. These are a bit curved but until I find another full set of key caps or make one myself, these are the ones I'm going to use from now on.






GB114
added to the journal ago
Working on presentation
I have read the submission guidelines and learned that I should have a render. Since my project is kind of in a mess right now, I wanted to polish it more so I started by adding the key switches with their key caps. Now I'm going to model the various sizes of key caps.


GB114
added to the journal ago
Maybe let's leave the case for later
I had an idea on how I wanted to make it but that requires changing too much stuff so I really need to see the keyboard working if I want to make a case for it later. Besides, I'm really bad at this.

GB114
added to the journal ago
Decided to revisit the PCB layout
I didn't like the huge overhang at the top of the keyboard so I decided to move components around to make it more appealing. In doing so, I've discovered several areas of improvements in the keyboard circuit, which I now have fixed, that would have made it difficult to correct after manufacturing. Here is the revised PCB layout.









GB114
added to the journal ago
Started designing the case
Looked into several beginner tutorials for Fusion 360 and started working on my case. It would have been an easy sail if the program didn't decide to take ages for editing the sketch I imported. I didn't add the time it took for me to learn the program but reaching here by itself has taken a lot of it. This is the mounting plate by the way.

GB114
added to the journal ago
Finished routing the LEDs
I finally finished the PCB layout for the main keyboard by adding LEDs to it. The LEDs I'm using are sk6805, which are addressable SMD LEDs that need 5V to operate.





GB114
added to the journal ago
Fixed issues with the mainboard and added LEDs
My previous design had a major flaw on its power allocation, it wasn't using the batteries at all. I noticed this issue while trying to add LEDs to the main keyboard and the LEDs needed a 5V source to function properly. I looked at my schematic and noticed that I had 2 sources of power, USB and Battery, divided into 4 nets. I went back through all of them and fixed the issue which required the use of a voltage booster and I didn't want to go through all the hustle required for it to work so I decided to use a module.

To use them module in KiCad, I needed a symbol and a footprint. I got the footprint from a website but it didn't have its own symbol so I had to make my own symbol again.


After fixing that issue in the schematic, I had to reroute the dense amalgam of resistors and capacitors on my PCB.

Then I finished putting the LEDs together in the schematic and PCB layout which I'm going to route now.



GB114
added to the journal ago
Finished routing the main board
I finally finished routing the main board. One issue I kept running to was that ground plane/pour wouldn't work for me so I decided to move the components a bit and tried to route the GND pads together. Another issue I faced was clearance issues but since those were caused by the footprints themselves, I decided to leave them as is.

GB114
added to the journal ago
Routing the main board
After a day of consideration, I was able to continue routing the PCB of the main keyboard. I don't know what came over me last time but I think I might be able to finish this project before the end of blueprint.

GB114
added to the journal ago
Tried to route the PCB and gave up
I'm going to simplify the project just because I don't have the time to complete it, but what is this? The PCB layout thing was tedious. So many rules to respect and so little experience from my side.

GB114
added to the journal ago
Finalized the main board's schematic (until I get a review)
Added the modular connectors and made sure each connection was right (fixed the connection with the LTC's FB pin). This is now the final version of the schematic until someone tells me there is something wrong with it, or until I decide to add LEDs.

GB114
added to the journal ago
Implemented SWD and worked with hotswap logic
This was the most time consuming process (not the SWD interface, the hot swap logic). I came up with a master priority logic for the modules based on the source of power, looked into load switches, efuses and several other hot swap controllers before settling on LTC4217, which I had to make a custom symbol for (that required me to learn how to tackle that too).
And then configured it based on the instructions provided in the datasheet (idk if this is the right implementation and am still waiting for review on it).
I also made sure the implementation of the LDO for the voltage stabilizer was accurate by referring to the datasheets.
Added USB detection circuit to align with the master prioritization logic (I plan to finalize and add this to the REPO later).
An SWD interface for testing.
And an ESD protection circuit for parts that have exposed contacts.
Finally, organized the schematic for the main board to make it more readable and posted it #electronics and #blueprint for review.
GB114
added to the journal ago
Routed Diodes to the PCB layout
Placed the diodes to their corresponding keyswitches and routed them according to their rows. I also added the power/battery management components and did my best to route them while keeping hand soldering in mind. The next step is for me to add the USB interface to the main board and also maybe add an SWD interface to help with testing.



GB114
added to the journal ago
Added Diodes to the schematic
I added the diodes for the keyboard matrix and assigned footprints for them. Now I have to add all of these to the PCB layout and wire them. I also need to route the battery charging system but that's besides the point.


GB114
added to the journal ago
Finished working on the power management circuit
With the help of blue entity, I was able to rework the Battery Charging and Power management system for my keyboard. I have previously used Gemini to assist me with this but the circuit was totally wrong from the ones on the datasheet. Thanks to blue entity, I can read and understand datasheets now. :yay:

GB114
added to the journal ago
Working on power management
Since I'm using an nrf52840 module with no charging capabilities, I have to implement that functionality myself. I used U4 (MCP73831-4-OT) to make sure the charging of the lithium ion batteries is correct. Additionally, U5 (LP2985−3.3) is a Low Dropout regulator that insures the battery is providing a stable supply of V3.3.

GB114
added to the journal ago
Routed the key matrix for the main board
Ok. So, it has been a cumbersome process and I wasn't sure if I was doing it correctly, mainly because the density of the routes, but it came out pretty great.



GB114
added to the journal ago
Cleaned up the PCB layout and started routing
I rearranged the key switches based on their placement on the schematic. I also connected the net labels to the nrf and routed the PCB layout based on it.

GB114
added to the journal ago
Cleaned up the schematic
Now the schematic is easier to read and follow. I think this would also make the keymatrix scanning easier than whatever I had earlier. The missing spots on the schematic are there because some keys take longer spaces than others.

GB114
added to the journal ago
Cleaning up the layout
I ditched the previous wiring system for simplicity so now I have to restructure everything before I try to wire it. These two images are for the schematic and PCB layout. As you can see, I'm just getting started on editing it.


GB114
added to the journal ago
Laid out the layout of the main board
Using the image I posted before as a reference I was able to put the key switches in a sensible layout. Overall, it needs a little bit of cleaning up but I had fun trying to figure out where to place them. And there are a few footprints, like the space bar and backspace buttons, that aren't the exact size I wanted so I just gave them more space than their footprint so that if I had the chance, I could make the key caps in sizes like 2U and 5U.



GB114
added to the journal ago
Got started on the Keyboard matrix
After doing a lot of research, I decided to get started on the main board's keyboard matrix. I am thinking of doing something similar to the picture below and I am not adding the diodes yet because I am testing the layout of the keys.



GB114
added to the journal ago
Started working on the main board
After consulting many sources, I have decided to use a Hierarchical sheets to make the schematics for the two modules (Main keyboard and Key pad module).



GB114
added to the journal ago
Finalized The KeyPad (For real this time)
Moved the XIAO to the other side of the PCB. I did that to reduce the PCB size which may also decrease costs and I guessed it would make it look better.




GB114
added to the journal ago
Finalized The KeyPad (Hopefully)
With the help of @Koeg, I figured why the footprint and 3D models didn't align -- it was because the sockets were supposed to be on the opposite side of the PCB from the key switches :face-palm:. I prefer the sharp corners over the rounded ones though.




GB114
added to the journal ago
Added Modular Connectors
We're reaching the final few stages to completing our keypad module. I am planning to wire the test pads on the bottom left to pogo-pins which can connect to other modules. I have to get feedback on it first though.

GB114
added to the journal ago
Rerouted the MCP Once More
Since my modular keypad was supposed to be connected to the main keyboard from the right side, I decided to free up some space from the left side of the keypad. Had to rearrange some routes but I think it should be fine for now.

GB114
added to the journal ago
Added Mounting Holes and Defined Edge Cuts
Today I added 6 mounting holes and put four of them on the corners and the other two in the middle. I have also defined an edge cut that came out to be around 119X81 mm^2. I also tried to look for 3d models that fit my HS socket but couldn't find one since all of them are inverted (I inverted the one in the picture below but that just breaks the rendering).

GB114
added to the journal ago
Rearranged the key switches
The blueprint chat seems to be offline right now. I tried asking questions but I didn't get anything back so I decided to continue working on it by my self. From other projects I saw that you can place the diodes on the padding area so I did that, but I wanted to make sure that the diode doesn't affect the key switch placement so I went looking for 3d models for the key switch, I found one but couldn't get it to fit so I scratched that. Finally, I rerouted the entire key matrix as the image you see below.

GB114
added to the journal ago
Rerouted the MCP
I needed to connect the pins that set the address for the MCP to the XIAO so I decided to rotate it around. This meant that I had to change the whole routing again.

GB114
added to the journal ago
Routed the PCB (Partially)
I routed the PCB before realizing that I have to follow the hackpad tutorial. I am just happy though because I didn't have the internet during the time that I routed it and I think it turned out pretty great. (Except for the battery pins ofc)

GB114
added to the journal ago
Waiting for Peer Review
Arranged my keypad and now I am waiting for feedback from the #blueprint and #electronics community. So far, I think it is great, but I am looking for comments from someone more knowledgeable before I start routing.

GB114
added to the journal ago
Arranged the Key Switches
I have arranged the key switches aligned with 1mm grid. This took a lot of time because when you try to move the footprints together, the X or Y positions misalign from the grid. I don't think there is a fix for this so ig I'll have to work with it.

GB114
added to the journal ago
Started working on the PCB layout
I was arranging the key switches after finishing my schematic. I noticed that my keys weren't similar to the ones being used in the tutorial (because I liked how they looked). Now my layout is messed up so I am trying to find KiCad shortcuts that make this process faster.


GB114
added to the journal ago
(Hopefully) Finished the Schematic
I have separated the key matrix connection into an MCP23017 and set it to communicate with the XIAO through SDA and SCL pins. Using the leftover pins I connected them to the module connectors so I can use them to transfer information between the main board (or other modules) and the keypad module. I may add LEDs to this but since I am planning to give the main board RGB LEDs, I am going to give this module only back light (possibly white) LEDs that may have dimming properties.

GB114
added to the journal ago
Decided to use an IO Expander
I decided to use an IO expander for my keyboard matrix. I couldn't find one with 9 pins so I chose to use the default one given in the symbol library of KiCad. I think this project is getting complex day by day and I hope I finish it.

GB114
added to the journal ago
Researched ALOT
I wanted to have something like MagSafe, magnetic connectors, between my keyboard modules, so I looked into various types of connections. I finally settled on using magnetic pogo-pins and decided to use a 6 pin connector for power and I2C connections between modules. I am now facing issues because I now need 6 total free pins (including power, SDA, SCL, and other two GPIO pins for other extra needs). I am thinking of rewiring my KeyMatrix in order to have some free pins.

GB114
added to the journal ago
Assigned Footprints
Assigned all of the footprints.
I wish if the guide provided more information on which key switch was used and why. The guide says "chalk hot swap sockets from marbastlib", but when I checked I didn't find any switch called "chalk" in the repository. I couldn't also get the footprints from marbastlib to appear in the footprint selection tab so I spent a lot of time there. I finally decided to go with the default Keyboard switches in KiCad, "Cherry_MX" which I think would work.

GB114
added to the journal ago
Made schematics V`1
I made the first iteration of the schematic.
I think it looks cool and I tried to make it organized like what you see in the image. I had to experiment a bit to find where the blue rectangles from the guide come from and I think those were great additions to my schematic page.

GB114
added to the journal ago
Installed KiCad and the required libraries
I have successfully installed kicad and the necessary libraries needed to work on this project. It took a lot of trial and error to get it but in the end I have figured out how to add those necessary libraries.
I am thinking of making a number pad that can connect both wirelessly and wired. (It may also be part of my bigger project which I am not going to spoil here.)

GB114
started MK-1000 ago
10/19/2025 2 PM - Installed KiCad and the required libraries
I have successfully installed kicad and the necessary libraries needed to work on this project. It took a lot of trial and error to get it but in the end I have figured out how to add those necessary libraries.
I am thinking of making a number pad that can connect both wirelessly and wired. (It may also be part of my bigger project which I am not going to spoil here.)

10/19/2025 5 PM - Made schematics V`1
I made the first iteration of the schematic.
I think it looks cool and I tried to make it organized like what you see in the image. I had to experiment a bit to find where the blue rectangles from the guide come from and I think those were great additions to my schematic page.
10/19/2025 6 PM - Assigned Footprints
Assigned all of the footprints.
I wish if the guide provided more information on which key switch was used and why. The guide says "chalk hot swap sockets from marbastlib", but when I checked I didn't find any switch called "chalk" in the repository. I couldn't also get the footprints from marbastlib to appear in the footprint selection tab so I spent a lot of time there. I finally decided to go with the default Keyboard switches in KiCad, "Cherry_MX" which I think would work.

10/23/2025 - Researched ALOT
I wanted to have something like MagSafe, magnetic connectors, between my keyboard modules, so I looked into various types of connections. I finally settled on using magnetic pogo-pins and decided to use a 6 pin connector for power and I2C connections between modules. I am now facing issues because I now need 6 total free pins (including power, SDA, SCL, and other two GPIO pins for other extra needs). I am thinking of rewiring my KeyMatrix in order to have some free pins.
10/26/2025 11 AM - Decided to use an IO Expander
I decided to use an IO expander for my keyboard matrix. I couldn't find one with 9 pins so I chose to use the default one given in the symbol library of KiCad. I think this project is getting complex day by day and I hope I finish it.
10/26/2025 3 PM - (Hopefully) Finished the Schematic
I have separated the key matrix connection into an MCP23017 and set it to communicate with the XIAO through SDA and SCL pins. Using the leftover pins I connected them to the module connectors so I can use them to transfer information between the main board (or other modules) and the keypad module. I may add LEDs to this but since I am planning to give the main board RGB LEDs, I am going to give this module only back light (possibly white) LEDs that may have dimming properties.

10/26/2025 5 PM - Started working on the PCB layout
I was arranging the key switches after finishing my schematic. I noticed that my keys weren't similar to the ones being used in the tutorial (because I liked how they looked). Now my layout is messed up so I am trying to find KiCad shortcuts that make this process faster.


10/26/2025 6 PM - Arranged the Key Switches
I have arranged the key switches aligned with 1mm grid. This took a lot of time because when you try to move the footprints together, the X or Y positions misalign from the grid. I don't think there is a fix for this so ig I'll have to work with it.
10/28/2025 - Waiting for Peer Review
Arranged my keypad and now I am waiting for feedback from the #blueprint and #electronics community. So far, I think it is great, but I am looking for comments from someone more knowledgeable before I start routing.
10/31/2025 - Routed the PCB (Partially)
I routed the PCB before realizing that I have to follow the hackpad tutorial. I am just happy though because I didn't have the internet during the time that I routed it and I think it turned out pretty great. (Except for the battery pins ofc)
11/7/2025 - Rerouted the MCP
I needed to connect the pins that set the address for the MCP to the XIAO so I decided to rotate it around. This meant that I had to change the whole routing again.
11/9/2025 - Rearranged the key switches
The blueprint chat seems to be offline right now. I tried asking questions but I didn't get anything back so I decided to continue working on it by my self. From other projects I saw that you can place the diodes on the padding area so I did that, but I wanted to make sure that the diode doesn't affect the key switch placement so I went looking for 3d models for the key switch, I found one but couldn't get it to fit so I scratched that. Finally, I rerouted the entire key matrix as the image you see below.
11/18/2025 - Added Mounting Holes and Defined Edge Cuts
Today I added 6 mounting holes and put four of them on the corners and the other two in the middle. I have also defined an edge cut that came out to be around 119X81 mm^2. I also tried to look for 3d models that fit my HS socket but couldn't find one since all of them are inverted (I inverted the one in the picture below but that just breaks the rendering).

11/22/2025 - Rerouted the MCP Once More
Since my modular keypad was supposed to be connected to the main keyboard from the right side, I decided to free up some space from the left side of the keypad. Had to rearrange some routes but I think it should be fine for now.

11/23/2025 12 AM - Added Modular Connectors
We're reaching the final few stages to completing our keypad module. I am planning to wire the test pads on the bottom left to pogo-pins which can connect to other modules. I have to get feedback on it first though.

11/23/2025 5 PM - Finalized The KeyPad (Hopefully)
With the help of @Koeg, I figured why the footprint and 3D models didn't align -- it was because the sockets were supposed to be on the opposite side of the PCB from the key switches :face-palm:. I prefer the sharp corners over the rounded ones though.




11/24/2025 - Finalized The KeyPad (For real this time)
Moved the XIAO to the other side of the PCB. I did that to reduce the PCB size which may also decrease costs and I guessed it would make it look better.




11/30/2025 12 PM - Started working on the main board
After consulting many sources, I have decided to use a Hierarchical sheets to make the schematics for the two modules (Main keyboard and Key pad module).



11/30/2025 4 PM - Got started on the Keyboard matrix
After doing a lot of research, I decided to get started on the main board's keyboard matrix. I am thinking of doing something similar to the picture below and I am not adding the diodes yet because I am testing the layout of the keys.


12/2/2025 - Laid out the layout of the main board
Using the image I posted before as a reference I was able to put the key switches in a sensible layout. Overall, it needs a little bit of cleaning up but I had fun trying to figure out where to place them. And there are a few footprints, like the space bar and backspace buttons, that aren't the exact size I wanted so I just gave them more space than their footprint so that if I had the chance, I could make the key caps in sizes like 2U and 5U.



12/6/2025 - Cleaning up the layout
I ditched the previous wiring system for simplicity so now I have to restructure everything before I try to wire it. These two images are for the schematic and PCB layout. As you can see, I'm just getting started on editing it.


12/7/2025 - Cleaned up the schematic
Now the schematic is easier to read and follow. I think this would also make the keymatrix scanning easier than whatever I had earlier. The missing spots on the schematic are there because some keys take longer spaces than others.

12/19/2025 12 AM - Cleaned up the PCB layout and started routing
I rearranged the key switches based on their placement on the schematic. I also connected the net labels to the nrf and routed the PCB layout based on it.

12/19/2025 6 PM - Routed the key matrix for the main board
Ok. So, it has been a cumbersome process and I wasn't sure if I was doing it correctly, mainly because the density of the routes, but it came out pretty great.


12/20/2025 - Working on power management
Since I'm using an nrf52840 module with no charging capabilities, I have to implement that functionality myself. I used U4 (MCP73831-4-OT) to make sure the charging of the lithium ion batteries is correct. Additionally, U5 (LP2985−3.3) is a Low Dropout regulator that insures the battery is providing a stable supply of V3.3.
12/22/2025 2 PM - Finished working on the power management circuit
With the help of blue entity, I was able to rework the Battery Charging and Power management system for my keyboard. I have previously used Gemini to assist me with this but the circuit was totally wrong from the ones on the datasheet. Thanks to blue entity, I can read and understand datasheets now. :yay:
12/22/2025 4 PM - Added Diodes to the schematic
I added the diodes for the keyboard matrix and assigned footprints for them. Now I have to add all of these to the PCB layout and wire them. I also need to route the battery charging system but that's besides the point.

12/23/2025 - Routed Diodes to the PCB layout
Placed the diodes to their corresponding keyswitches and routed them according to their rows. I also added the power/battery management components and did my best to route them while keeping hand soldering in mind. The next step is for me to add the USB interface to the main board and also maybe add an SWD interface to help with testing.



12/26/2025 - Implemented SWD and worked with hotswap logic
This was the most time consuming process (not the SWD interface, the hot swap logic). I came up with a master priority logic for the modules based on the source of power, looked into load switches, efuses and several other hot swap controllers before settling on LTC4217, which I had to make a custom symbol for (that required me to learn how to tackle that too).
And then configured it based on the instructions provided in the datasheet (idk if this is the right implementation and am still waiting for review on it).
I also made sure the implementation of the LDO for the voltage stabilizer was accurate by referring to the datasheets.
Added USB detection circuit to align with the master prioritization logic (I plan to finalize and add this to the REPO later).
An SWD interface for testing.
And an ESD protection circuit for parts that have exposed contacts.
Finally, organized the schematic for the main board to make it more readable and posted it #electronics and #blueprint for review.
12/27/2025 10 AM - Finalized the main board's schematic (until I get a review)
Added the modular connectors and made sure each connection was right (fixed the connection with the LTC's FB pin). This is now the final version of the schematic until someone tells me there is something wrong with it, or until I decide to add LEDs.
12/27/2025 8 PM - Tried to route the PCB and gave up
I'm going to simplify the project just because I don't have the time to complete it, but what is this? The PCB layout thing was tedious. So many rules to respect and so little experience from my side.
12/29/2025 4 PM - Routing the main board
After a day of consideration, I was able to continue routing the PCB of the main keyboard. I don't know what came over me last time but I think I might be able to finish this project before the end of blueprint.

12/29/2025 6 PM - Finished routing the main board
I finally finished routing the main board. One issue I kept running to was that ground plane/pour wouldn't work for me so I decided to move the components a bit and tried to route the GND pads together. Another issue I faced was clearance issues but since those were caused by the footprints themselves, I decided to leave them as is.

12/30/2025 3 AM - Fixed issues with the mainboard and added LEDs
My previous design had a major flaw on its power allocation, it wasn't using the batteries at all. I noticed this issue while trying to add LEDs to the main keyboard and the LEDs needed a 5V source to function properly. I looked at my schematic and noticed that I had 2 sources of power, USB and Battery, divided into 4 nets. I went back through all of them and fixed the issue which required the use of a voltage booster and I didn't want to go through all the hustle required for it to work so I decided to use a module.

To use them module in KiCad, I needed a symbol and a footprint. I got the footprint from a website but it didn't have its own symbol so I had to make my own symbol again.


After fixing that issue in the schematic, I had to reroute the dense amalgam of resistors and capacitors on my PCB.

Then I finished putting the LEDs together in the schematic and PCB layout which I'm going to route now.



12/30/2025 3 PM - Finished routing the LEDs
I finally finished the PCB layout for the main keyboard by adding LEDs to it. The LEDs I'm using are sk6805, which are addressable SMD LEDs that need 5V to operate.





12/31/2025 - Started designing the case
Looked into several beginner tutorials for Fusion 360 and started working on my case. It would have been an easy sail if the program didn't decide to take ages for editing the sketch I imported. I didn't add the time it took for me to learn the program but reaching here by itself has taken a lot of it. This is the mounting plate by the way.

1/1/2026 - Decided to revisit the PCB layout
I didn't like the huge overhang at the top of the keyboard so I decided to move components around to make it more appealing. In doing so, I've discovered several areas of improvements in the keyboard circuit, which I now have fixed, that would have made it difficult to correct after manufacturing. Here is the revised PCB layout.









1/2/2026 1 AM - Maybe let's leave the case for later
I had an idea on how I wanted to make it but that requires changing too much stuff so I really need to see the keyboard working if I want to make a case for it later. Besides, I'm really bad at this.
1/2/2026 7 PM - Working on presentation
I have read the submission guidelines and learned that I should have a render. Since my project is kind of in a mess right now, I wanted to polish it more so I started by adding the key switches with their key caps. Now I'm going to model the various sizes of key caps.


1/2/2026 10 PM - Found another set of key caps
I found another set of key caps which I modified a bit to make sure they work in KiCad. These are a bit curved but until I find another full set of key caps or make one myself, these are the ones I'm going to use from now on.






1/2/2026 11 PM - Added the MT3608 module 3d model
I have used the MT3608 model once I was tired of working with components, I searched up the 3D model for it and modified the footprint I already had since it didn't have the right pad distance.



1/3/2026 3 AM - Added Pogopins
Researched about 1 by 6 2.54 mm pitch 90º magnetic pogo-pins and found several sources I could get them so I started looking for a 3D model for them. I couldn't find one so I decided to make my own. But since I didn't have the experience I took two 1 by 5 magnetic pogo-pins and overlapped them with some offset to cover all of the pins. After doing that I rerouted the PCB layout to make sure the connectors stick out.




Hope no one notices them in the final renders >:)
1/3/2026 4 AM - Added zone fills and mounting holes
After modifying the edge cut and moving some components around so that the mounting holes could fit, I tried using zone fill which hadn't worked before and it works now. I'm keeping it even though I was getting errors about thermal relief on some pads that are still connected.



1/3/2026 4 PM - Modified the edge cut and added a switch
I added a Single Pole Double Throw slide switch because I thought about it and having your keyboard wake up when you press a key isn't the most efficient direction to take when you are working of off a battery. I also modified the edge cut to make the mounting holes towards the edge of the keyboard PCB in case I make a case for it later.


1/3/2026 5 PM - Wrote the first draft of my Readme
I referenced the submission guidelines once more and drafted a README.md file for my project. I'm kind of disappointed that I couldn't get my keyboard working in time so that I have the motivation to keep working on the modules but a success is a success.
1/5/2026 5 AM - Compiled the BOM and continued working on the module
I researched many listings before settling on PCBA for my main keyboard. I have added the LCSC part numbers with their corresponding links to the table.

And I'm now sorting the keypad.

Hope this goes quick
1/5/2026 7 AM - Finished the schematic for the Keypad
I wanted to revisit the key pad module I designed earlier. I made some fixes for hot-swappability and added LEDs as well as an OLED screen to the module. I did this because I wanted to see if it is possible to control other I2C components that aren't directly connected to yours.

1/5/2026 11 AM - Routing the keypad
The overall profile turned out to be smaller than the main keyboard so I decided to have two OLED screens for efficient use of space. I'm having trouble exposing some ground pads since it is densely packed.

1/5/2026 3 PM - Done with the routing; exploring panelization
I am currently done with the routing for both parts of the keyboard. I now have to learn how to panelize, preferably using Kikit, in order to have my PCBs manufactured as one.

1/5/2026 4 PM - Mousebites work
After watching a video about panelization, I searched for mousebites within the PCM-marbastlib library and found a noticeable amount of footprints for mousebites. Some caused issues with DRC so I settled on the 2.5mm one.

I duplicated, mirrored and then joined it to make what you see in the picture above.
The overall PCB layout looks like this now:

1/6/2026 - Simplifying design
Today, my time has been spent on looking for parts, comparing them to others and finding the most cost optimized ones. In the process, I saw the parts number for one of the components I was using was unusually high compared to what it does.

So, I decided to remove it and I'm now in the process of updating the design file. Sorry reviewers.


1/18/2026 - Finished fixing the layout
I took a looooong break since I had school but now I have finished routing the whole thing and I have also added zone fills. I don't think this version would be hot-swappable but in-order to get it manufactured, I need to reduce costs.
1/19/2026 - Moved PCBA components to the top of the PCB
Last fix wasn't enough and to get economic PCBA service, which is cheaper.
I was advised to solder the sockets myself. They also said that I should change the components to through hole components to make them a lot cheaper but that would mean I have to change the project significantly so I decided to keep the SMD components but move them to the top for economic PCBA.




I left just the sockets which I'm going to solder myself.
1/30/2026 - Moved the diodes back to the back
After a lot of consultation with fellow hack clubbers and research, I decided to give hand soldering a try. I still am not sure the method of using solder-paste and heating it from the bottom side would work but that's much better compared to getting PCBA, or so they told me.


2/1/2026 - Properly structured the BOM
After sourcing stabilizers, key-caps, keyswitches and SMD components and trying my best to get it to the cheapest ones I could find while making the project functional, it came out to be around $280 and since blueprint doesn't have intermediary tier between tier 2 and 1, I'm waiting for a comment or decision in the #blueprint channel. I don't know if I should be designing a case right now as it will just increase the costs, which are already high.
2/5/2026 - Revising schematic
From the suggestions provided by @straight up autisumning, I have been looking for MOSFETs, how to add them to my project, which components to remove, considerable revisions like the LEDs (from front side SMD to back), The keyswitches and socket holes (keycap compatibility and cost reasons), also considerations for the whole PCB design since keyboard cases are mandatory.
This is what I'm at right now... Still working on it but I have to sleep now.
.png)
2/7/2026 - ...Still revising scematic (and designing footprints)

I have added a global switch to control when the keyboard turns on and off, I needed MOSFETs to achieve this. The last one of these three MOSFETs will be handling the system voltage source and the others perform their respective tasks.

As you can see, most of the components are duplicates of each other. This is because the parts come in minimum order quantities (moq) so I decided to reuse them in areas where I could have benefited more if I use components with other values, but the method I'm using doesn't cause significant differences.
I also decided to move the LEDs into their own "Hierarchical Sheet", which essentially means they have their own schematic file.

I haven't added the LEDs yet but that's because I have to design their footprints before I duplicate each of them.

I am also designing (more like joining) the footprints for the switches and the LEDs and putting them into my Footprints folder (There are some footprints that aren't in my design now which I'll clean up later).

2/8/2026 - ...Continued revising
I would like to say I've finalized the schematic. As I mentioned before, I isolated the LED rail schematic into its own separate file.




I have also finished making the footprints.






