MyKritaPad
My macropad with 9 switches, diodes, 2 rotary encoders for everything you can think of!
Created by
mavory
Hackpad
9 views
0 followers
mavory
submitted MyKritaPad for review ago
mavory
added to the journal ago
MyKritaPad is ready
MyKritaPad is a custom 9-key macropad powered by a Seeed Studio XIAO RP2040!
It includes 9 mechanical switches wired through 9 diodes and two EC11 rotary encoders for additional input control. ⭐

Why did I do this?
I wanted to try something completely new that I had never done before. I was very interested in how everyone can create their own mini keyboard, so I tried it too.
Features
- 9 mechanical keys
- 9x diodes for proper key isolation
- 12x SK6812 MINI-E addressable (RGB LEDs unfortunately I had a bad footprint and because of that my neopixels don't work)
- 2x EC11 rotary encoders
- Powered by Seeed Studio XIAO RP2040
- Designed for use with KMK or custom firmware
Schematic

PCB Layout
(I know, it's terrible.)


Top view

mavory
added to the journal ago
Continuing coding
Even before submitting the project, I said to myself that I had to edit the code to make it really cool!
I started thinking about what functions I could use and decided on layers... I did it so that if I press the bottom button twice, the layers would change.
At first, I couldn't do it at all and the light would always get stuck on one color... I thought I wouldn't be able to solve it, because we sat there for about half an hour, but then I came up with a solution:
- Don't do it automatically with the layer, but do it manually (so that if I press the button twice, the color and the layer will switch).
So when I finished this code and mapped all the things, I had to finish a few things on the computer, because some applications were opened, for example, via F15, F14,...

mavory
added to the journal ago
Completing the project!
I immediately started putting everything into the case. At first I had to trim the pins that were sticking out from under the PCB so I could close it all.
Then I took all the components and was able to close the case! I mounted everything, but then I had to do a balance test to make sure everything fit and didn't wobble - so I adjusted the nuts and everything was okay!
I also glued the sides that didn't fit well and would make a bad impression. Then I put on the keycaps and the knob for the encoder, which I decided to print in red for contrast and to break up the whole look.

mavory
added to the journal ago
Codinggggg
Before I even put everything in the case, I started coding and thought about how to connect everything.
I decided to use KMK because it seemed like the best and easiest way. At first, I had to study how CircuitPython works with KMK, but it went pretty quickly!
First, I created a code with neopixelelm, which is built-in, to test, see if everything works and works :) Then I continued with the buttons, which took me a long time to get working, because I didn't understand the logic at all...
But after a long time, I had the whole basic thing ready.

mavory
added to the journal ago
Soldering
I learned from my mistake and moved on, since I had it, I could have continued with more neopixels and then also with diodes, which were well soldered!

Next, I took the buttons and soldered them one by one, I did the same with the encoders, but the tin didn't melt very well, so I had to increase the temperature and then it worked!
As the last one, I soldered the RP2040 and I was slowly done.

mavory
added to the journal ago
Preparing things
When all the things arrived on 29.1., I could start putting everything together!!
First I prepared the components and bent the diodes and prepared the PCB, solder,... But I was thinking about what to start with first and I decided that I would take advantage of the fact that neopixels are so small to start with them! (but I didn't know that it would be such a terrible thing...)
Big mistake in soldering...
I put flux on the pins and started to apply tin, and after a while I took the first solder and put it there and soldered it. Everything went well, but after a while the solder completely fell apart and I had to replace the entire PCB because the contacts broke off.

mavory
added to the journal ago
The packages have arrived :)
It took a long time to arrive, but on December 19th I received the package in my hands. I was so excited to build it!
When I got home, I immediately unpacked the package and looked at all the components, then I sorted them according to what I would need and what I didn't...
About a week later the PCB arrived and I quickly ran to the post office to get it and then I just waited for the solder to put it all together.

mavory
added to the journal ago
Customs Forms and Firmware Update
On December 6, I unexpectedly received an email from our state post office asking me to fill out customs information, it was my first time doing it so I didn't know how to do it, but I managed to do it. I also redid filmware that day so my pad could do more things! I edited the 3D parts and removed the unevenness. I spent about 1 hours on it that day.
mavory
added to the journal ago
Continued Printing and New Encoder Knob
On 4. 12. I continued printing and forgot to create a knob for the encoder, so I finished it and printed it. It took me about 1 hour in total.
I was looking for a soldering iron that I could buy from my grand, I found it and bought it too. I then created an order on JLCPCB. I managed to do everything in about an hour.
mavory
added to the journal ago
Final Exports and First Print
On December 3rd I was finishing and exporting the files I was going to print and also creating a folder for the PCB. It took me about 1 hours in total - because I didn't know how file export works in KiCad at all.
I also had to further edit the 3D models in the slicer to get it right. That same day I printed the bottom case, you can see it here:

mavory
added to the journal ago
Fixing Mistakes
On December 2nd I realized that a few things didn't fit, so I had to redo it a bit... I adjusted the holes for the encoders and also redid the top 3D part. That probably took me over 2 hours of work. 
mavory
added to the journal ago
Making a 3D case
On the morning of December 1st, I woke up early to finish it. In the morning, I finished the PCB design, which took me about 3 hours.
Before lunch, I started making a 3D model in Fusion, I didn't know how it worked at all, so I was a little confused. But I started modeling the lower part, which took me a long time. I didn't know how to deal with lengths at all, but I somehow managed it.
That same day, I made the upper part, but I had more trouble with it. In the evening, I finished the GitHub repo and filmware. 
mavory
added to the journal ago
Redesign PCB
I got up in the morning and started working on the HackPad right away, I told myself that I could create a 3x5 and I started redoing it all.
It took me the whole morning, but unfortunately I got sick in the afternoon of October 29th and couldn't do anything at all, but on November 30th I got over myself and continued working.
I just fine-tuned the schematic and started making a PCB design. That took me a whole day because I didn't know how to do it. Then I created it and found out that it exceeded 100mmx100mm... So I started over again and worked on it until the evening. 
mavory
added to the journal ago
First Contact with KiCad (Total Panic Mode)
I started on Friday, October 28th. That day I saw that I could make my own mini keyboard, I registered and downloaded the programs.
Then I opened KiCad and said to myself that I would never do it (it was like flying a plane for the first time). Well, I had to overcome myself and started creating with it. At first it was terrible, but somehow I got through it. I tried to do different options 4x3, 5x3,... I did it all afternoon and then the whole evening.
At midnight I told myself that I would sleep and continue in the morning.

CAN ⚡🚀
approved MyKritaPad ago
Nice hackpad!
mavory
submitted MyKritaPad for review ago
Kai the Jolly Guy 🚀
requested changes for MyKritaPad ago
Sick project :D Your file organization is amazing!!! In the future try to polish up your final assembly a bit, but everything should work fine!
MyKritaPad was submitted for review ago
mavory
started MyKritaPad ago
12/6/2025 5:08 PM - First Contact with KiCad (Total Panic Mode)
I started on Friday, October 28th. That day I saw that I could make my own mini keyboard, I registered and downloaded the programs.
Then I opened KiCad and said to myself that I would never do it (it was like flying a plane for the first time). Well, I had to overcome myself and started creating with it. At first it was terrible, but somehow I got through it. I tried to do different options 4x3, 5x3,... I did it all afternoon and then the whole evening.
At midnight I told myself that I would sleep and continue in the morning.

12/6/2025 5:12 PM - Redesign PCB
I got up in the morning and started working on the HackPad right away, I told myself that I could create a 3x5 and I started redoing it all.
It took me the whole morning, but unfortunately I got sick in the afternoon of October 29th and couldn't do anything at all, but on November 30th I got over myself and continued working.
I just fine-tuned the schematic and started making a PCB design. That took me a whole day because I didn't know how to do it. Then I created it and found out that it exceeded 100mmx100mm... So I started over again and worked on it until the evening. 
12/6/2025 5:16 PM - Making a 3D case
On the morning of December 1st, I woke up early to finish it. In the morning, I finished the PCB design, which took me about 3 hours.
Before lunch, I started making a 3D model in Fusion, I didn't know how it worked at all, so I was a little confused. But I started modeling the lower part, which took me a long time. I didn't know how to deal with lengths at all, but I somehow managed it.
That same day, I made the upper part, but I had more trouble with it. In the evening, I finished the GitHub repo and filmware. 
12/6/2025 5:21 PM - Fixing Mistakes
On December 2nd I realized that a few things didn't fit, so I had to redo it a bit... I adjusted the holes for the encoders and also redid the top 3D part. That probably took me over 2 hours of work. 
12/6/2025 5:28 PM - Final Exports and First Print
On December 3rd I was finishing and exporting the files I was going to print and also creating a folder for the PCB. It took me about 1 hours in total - because I didn't know how file export works in KiCad at all.
I also had to further edit the 3D models in the slicer to get it right. That same day I printed the bottom case, you can see it here:

12/6/2025 5:35 PM - Continued Printing and New Encoder Knob
On 4. 12. I continued printing and forgot to create a knob for the encoder, so I finished it and printed it. It took me about 1 hour in total.
I was looking for a soldering iron that I could buy from my grand, I found it and bought it too. I then created an order on JLCPCB. I managed to do everything in about an hour.
12/6/2025 5:42 PM - Customs Forms and Firmware Update
On December 6, I unexpectedly received an email from our state post office asking me to fill out customs information, it was my first time doing it so I didn't know how to do it, but I managed to do it. I also redid filmware that day so my pad could do more things! I edited the 3D parts and removed the unevenness. I spent about 1 hours on it that day.
1/31/2026 10:15 PM - The packages have arrived :)
It took a long time to arrive, but on December 19th I received the package in my hands. I was so excited to build it!
When I got home, I immediately unpacked the package and looked at all the components, then I sorted them according to what I would need and what I didn't...
About a week later the PCB arrived and I quickly ran to the post office to get it and then I just waited for the solder to put it all together.

1/31/2026 10:22 PM - Preparing things
When all the things arrived on 29.1., I could start putting everything together!!
First I prepared the components and bent the diodes and prepared the PCB, solder,... But I was thinking about what to start with first and I decided that I would take advantage of the fact that neopixels are so small to start with them! (but I didn't know that it would be such a terrible thing...)
Big mistake in soldering...
I put flux on the pins and started to apply tin, and after a while I took the first solder and put it there and soldered it. Everything went well, but after a while the solder completely fell apart and I had to replace the entire PCB because the contacts broke off.

1/31/2026 10:27 PM - Soldering
I learned from my mistake and moved on, since I had it, I could have continued with more neopixels and then also with diodes, which were well soldered!

Next, I took the buttons and soldered them one by one, I did the same with the encoders, but the tin didn't melt very well, so I had to increase the temperature and then it worked!
As the last one, I soldered the RP2040 and I was slowly done.

1/31/2026 10:51 PM - Codinggggg
Before I even put everything in the case, I started coding and thought about how to connect everything.
I decided to use KMK because it seemed like the best and easiest way. At first, I had to study how CircuitPython works with KMK, but it went pretty quickly!
First, I created a code with neopixelelm, which is built-in, to test, see if everything works and works :) Then I continued with the buttons, which took me a long time to get working, because I didn't understand the logic at all...
But after a long time, I had the whole basic thing ready.

1/31/2026 10:58 PM - Completing the project!
I immediately started putting everything into the case. At first I had to trim the pins that were sticking out from under the PCB so I could close it all.
Then I took all the components and was able to close the case! I mounted everything, but then I had to do a balance test to make sure everything fit and didn't wobble - so I adjusted the nuts and everything was okay!
I also glued the sides that didn't fit well and would make a bad impression. Then I put on the keycaps and the knob for the encoder, which I decided to print in red for contrast and to break up the whole look.

1/31/2026 11:10 PM - Continuing coding
Even before submitting the project, I said to myself that I had to edit the code to make it really cool!
I started thinking about what functions I could use and decided on layers... I did it so that if I press the bottom button twice, the layers would change.
At first, I couldn't do it at all and the light would always get stuck on one color... I thought I wouldn't be able to solve it, because we sat there for about half an hour, but then I came up with a solution:
- Don't do it automatically with the layer, but do it manually (so that if I press the button twice, the color and the layer will switch).
So when I finished this code and mapped all the things, I had to finish a few things on the computer, because some applications were opened, for example, via F15, F14,...

1/31/2026 11:34 PM - MyKritaPad is ready
MyKritaPad is a custom 9-key macropad powered by a Seeed Studio XIAO RP2040!
It includes 9 mechanical switches wired through 9 diodes and two EC11 rotary encoders for additional input control. ⭐

Why did I do this?
I wanted to try something completely new that I had never done before. I was very interested in how everyone can create their own mini keyboard, so I tried it too.
Features
- 9 mechanical keys
- 9x diodes for proper key isolation
- 12x SK6812 MINI-E addressable (RGB LEDs unfortunately I had a bad footprint and because of that my neopixels don't work)
- 2x EC11 rotary encoders
- Powered by Seeed Studio XIAO RP2040
- Designed for use with KMK or custom firmware
Schematic

PCB Layout
(I know, it's terrible.)


Top view