You are browsing as a guest. Sign up (or log in) to start making projects!

zsm1

@zsm1

Joined June 5th, 2026

  • 4Devlogs
  • 1Projects
  • 1Ships
  • 0Votes
Ship Pending review

## What I made
I designed and built a custom mechanical macropad from the ground up using KiCad, Fusion 360, and custom firmware. The macropad features:

* 3×3 mechanical key matrix
* Rotary encoder for volume or other controls
* OLED display for status information
* 20 addressable RGB LEDs for underglow lighting
* Seeed Studio XIAO RP2040 microcontroller
* Custom PCB and enclosure

The project combines electronics design, PCB layout, CAD modeling, and embedded programming into a single project!

## What I am most proud of

I am proud that every major part of the device was custom designed rather than assembled from an existing kit. Seeing the schematic, PCB, enclosure, and firmware come together into a complete product was the most rewarding part of the project.

This required me to learn electronic schematic design, PCB routing, CAD modeling, firmware development, aswell as designing for manufacturing (3d printing).

## Testing

Currently this is only designed, not built yet. This post is for approval of the parts. However, it still represents a milestone of having fully designed all the aspects of this macropad! For now, there is no demo video available but the github contains renderings, firmware, and pcb schematics; everything you need to build it yourself.

Try project → See source code →
Open comments for this post

39m 45s logged

Completed the hackpad guide!

I was going to use QMK but KMK seemed easier to use initally since I dont actually have the physical macropad yet. I also compiled everything onto a github repository for submission.

https://github.com/ZSmaster1/macropad

Completed the hackpad guide!

I was going to use QMK but KMK seemed easier to use initally since I dont actually have the physical macropad yet. I also compiled everything onto a github repository for submission.

https://github.com/ZSmaster1/macropad

Replying to @zsm1

0
4
Open comments for this post

1h 27m 54s logged

Finished designing the enclosure for the macropad in Fusion 360. To make sure everything fit correctly, I exported the PCB directly from KiCad and imported it into the CAD assembly as a reference. This made it much easier to design around the actual hardware instead of guessing dimensions, as well as aligning the gap on the bottom for the underglow effect.

I found models for the switches, rotary encoder, OLED display, and Seeed Studio XIAO on GrabCAD, which ended up saving a lot of time. Having the real component geometry available meant I could check clearances, mounting positions, and connector access.

I can finally see the macropad come together! The electronics, PCB, and enclosure all exist together in one assembly, now I just have to write the firmware which I am leaning towards using QMK due to its customization.

Any feedback is appreciated!

Finished designing the enclosure for the macropad in Fusion 360. To make sure everything fit correctly, I exported the PCB directly from KiCad and imported it into the CAD assembly as a reference. This made it much easier to design around the actual hardware instead of guessing dimensions, as well as aligning the gap on the bottom for the underglow effect.

I found models for the switches, rotary encoder, OLED display, and Seeed Studio XIAO on GrabCAD, which ended up saving a lot of time. Having the real component geometry available meant I could check clearances, mounting positions, and connector access.

I can finally see the macropad come together! The electronics, PCB, and enclosure all exist together in one assembly, now I just have to write the firmware which I am leaning towards using QMK due to its customization.

Any feedback is appreciated!

Replying to @zsm1

0
12
Open comments for this post

1h 59m 35s logged

Finished the PCB layout and made some final schematic updates.

While making the PCB I realized I didn’t have any decoupling capacitors, and since I’m using 20 addressable LEDs, changing them all at once might cause voltage drops and other unexpected issues so I added one 100nf capacitor per 2 LEDs.

The PCB layout took longer than expected. I had to learn about vias, ground planes, and different constraints. Routing everything on the 2 layer board took a while and a lot of trace reroutes.

Looking at the 3d model of the PCB I can see the macropad slowly coming together. The next step is to design the case around the PCB in Fusion 360.

Finished the PCB layout and made some final schematic updates.

While making the PCB I realized I didn’t have any decoupling capacitors, and since I’m using 20 addressable LEDs, changing them all at once might cause voltage drops and other unexpected issues so I added one 100nf capacitor per 2 LEDs.

The PCB layout took longer than expected. I had to learn about vias, ground planes, and different constraints. Routing everything on the 2 layer board took a while and a lot of trace reroutes.

Looking at the 3d model of the PCB I can see the macropad slowly coming together. The next step is to design the case around the PCB in Fusion 360.

Replying to @zsm1

0
4
Open comments for this post

1h 45m 4s logged

Finished designing the full macropad schematic in KiCad. The design includes a 3×3 key matrix, a Seeed Studio XIAO microcontroller, rotary encoder, OLED display, and a chain of addressable RGB LEDs for underglow.


A surprising amount of time went into learning KiCad itself. Organizing the schematic onto the sheet took longer than expected since I had to learn about nets, labels, power flags, etc. Furthermore I also had to learn about symbols, footprints and the ERC.


Next is the PCB where I’ll route the traces and define the physical layout of the board.

Finished designing the full macropad schematic in KiCad. The design includes a 3×3 key matrix, a Seeed Studio XIAO microcontroller, rotary encoder, OLED display, and a chain of addressable RGB LEDs for underglow.


A surprising amount of time went into learning KiCad itself. Organizing the schematic onto the sheet took longer than expected since I had to learn about nets, labels, power flags, etc. Furthermore I also had to learn about symbols, footprints and the ERC.


Next is the PCB where I’ll route the traces and define the physical layout of the board.

Replying to @zsm1

0
3

Followers

Loading…