Blueprint

MyKritaPad

My macropad with 9 switches, diodes, 2 rotary encoders for everything you can think of!

Created by mavory mavory

Hackpad

9 views

0 followers

mavory mavory submitted MyKritaPad for review ago

mavory 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. ⭐

20260131_233015

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

image

PCB Layout

(I know, it's terrible.)

image

image

Top view

image

mavory 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,...
Snímek obrazovky 2026-01-31 230926

mavory 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.
20260131_213250

mavory 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.
20260131_000753

mavory 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!
20260130_214756

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.
20260131_000744

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

20260131_220410

mavory 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.
20251219_122321

mavory 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.20251206_173823

mavory 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.JLCPCB

mavory 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:
bottom

mavory 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. Snímek obrazovky 2025-12-04 124409

mavory 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. Snímek obrazovky 2025-12-01 151754

mavory 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. Snímek obrazovky 2025-11-29 110834

mavory 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.
Snímek obrazovky 2025-11-28 221211

CAN CAN ⚡🚀 approved MyKritaPad ago

Nice hackpad!

mavory mavory submitted MyKritaPad for review ago

Kai the Jolly Guy 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 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.
Snímek obrazovky 2025-11-28 221211

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. Snímek obrazovky 2025-11-29 110834

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. Snímek obrazovky 2025-12-01 151754

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. Snímek obrazovky 2025-12-04 124409

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

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

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.20251206_173823

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.
20251219_122321

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.

20260131_220410

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!
20260130_214756

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.
20260131_000744

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.
20260131_000753

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.
20260131_213250

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,...
Snímek obrazovky 2026-01-31 230926

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

20260131_233015

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

image

PCB Layout

(I know, it's terrible.)

image

image

Top view

image