Blueprint

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 GB114

Tier 2

39 views

1 follower

GB114 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.

image

image

image

image

I have also finished making the footprints.

image

GB114 GB114 added to the journal ago

...Still revising scematic (and designing footprints)

image

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.

image

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.

image

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

image

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).

image

GB114 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.

Untitled (dragged)

Iamalive 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 GB114 submitted MK-1000 for review ago

GB114 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.

image

GB114 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.

image

image

GB114 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.

image

image

image

image

I left just the sockets which I'm going to solder myself.

GB114 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.

image

zsharpminor 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 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.

image

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

image

image

GB114 GB114 submitted MK-1000 for review ago

GB114 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.

image

I duplicated, mirrored and then joined it to make what you see in the picture above.

The overall PCB layout looks like this now:
image

GB114 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.

image

GB114 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.

image

GB114 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.
image

GB114 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.

image

And I'm now sorting the keypad.
image

Hope this goes quick

GB114 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.

image

GB114 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.

image

image

GB114 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.

image

image

image

GB114 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.

image

image

image

image

Hope no one notices them in the final renders >:)

GB114 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.

image

image

image

GB114 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.

image

image

image

image

image

image

GB114 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.

image

image

GB114 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.

image

GB114 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.

image

image

image

image

image

image

image

image

image

GB114 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.

image

GB114 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.

image

image

image

image

image

GB114 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.

image

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.

image

image

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

image

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

image

image

image

GB114 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.

image

GB114 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.

image

GB114 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.

image

GB114 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.

FINA

GB114 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).

image

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).

image

I also made sure the implementation of the LDO for the voltage stabilizer was accurate by referring to the datasheets.

image

Added USB detection circuit to align with the master prioritization logic (I plan to finalize and add this to the REPO later).

image

An SWD interface for testing.

image

And an ESD protection circuit for parts that have exposed contacts.

image image

Finally, organized the schematic for the main board to make it more readable and posted it #electronics and #blueprint for review.

Low res because it was crashing my browser

GB114 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.

image

image

image

GB114 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.

image

image

GB114 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:

image

GB114 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.

image

GB114 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.

image

image

image

GB114 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.

image

GB114 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.

image

GB114 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.

image

image

GB114 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.

image

image

image

GB114 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.

image

image

image

GB114 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).

image

image

image

GB114 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.

image

image

image

image

GB114 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.

image

image

image

image

GB114 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.

image

GB114 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.

image

GB114 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).

image

GB114 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.

image

GB114 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.

image

GB114 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)

image

GB114 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.

image

GB114 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.

image

GB114 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.

image

image

GB114 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.

image

GB114 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.

image

GB114 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.

image.png

GB114 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.

image.png

GB114 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.

image.png

GB114 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.)

image.png

GB114 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.)

image.png

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.

image.png

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.

image.png

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.

image.png

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.

image

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.

image

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.

image

image

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.

image

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.

image

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)

image

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.

image

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.

image

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).

image

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.

image

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.

image

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.

image

image

image

image

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.

image

image

image

image

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).

image

image

image

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.

image

image

image

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.

image

image

image

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.

image

image

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.

image

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.

image

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.

image

image

image

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.

image

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:

image

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.

image

image

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.

image

image

image

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).

image

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).

image

I also made sure the implementation of the LDO for the voltage stabilizer was accurate by referring to the datasheets.

image

Added USB detection circuit to align with the master prioritization logic (I plan to finalize and add this to the REPO later).

image

An SWD interface for testing.

image

And an ESD protection circuit for parts that have exposed contacts.

image image

Finally, organized the schematic for the main board to make it more readable and posted it #electronics and #blueprint for review.

Low res because it was crashing my browser

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.

FINA

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.

image

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.

image

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.

image

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.

image

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.

image

image

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

image

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

image

image

image

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.

image

image

image

image

image

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.

image

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.

image

image

image

image

image

image

image

image

image

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.

image

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.

image

image

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.

image

image

image

image

image

image

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.

image

image

image

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.

image

image

image

image

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.

image

image

image

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.

image

image

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.

image

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.

image

And I'm now sorting the keypad.
image

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.
image

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.

image

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.

image

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.

image

I duplicated, mirrored and then joined it to make what you see in the picture above.

The overall PCB layout looks like this now:
image

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.

image

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

image

image

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.

image

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.

image

image

image

image

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.

image

image

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.

image

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.

Untitled (dragged)

2/7/2026 - ...Still revising scematic (and designing footprints)

image

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.

image

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.

image

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

image

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).

image

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.

image

image

image

image

I have also finished making the footprints.

image