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

neilm

@neilm

Joined July 9th, 2026

  • 2Devlogs
  • 1Projects
  • 0Ships
  • 0Votes
Open comments for this post

1h 53m 57s logged

DEVLOG 002

OMNIPAD (trying out a new name :))

SHOUTOUT @stratustraipsing. tysm for the help

Overview

Today, I was able to fix the issue with SMD-mounting the Waveshare RP2040 thanks to a comment by @stratustraipsing. They suggested that I should try making a cutout in the PCB to accommodate the underlying MCU components. Thankfully, their advice worked! Then I moved to adding some aesthetic touches to the PCB itself by changing the board color and creating a logo.

Making the cutout

To make the cutout, I modified an existing RP2040-Zero footprint from this GitHub Repo: lamdakb/kicad-lkbd. So, in KiCad, I opened the footprint in the Footprint Editor and added a rectangle to the Edge.Cuts layer for the components to rest in. Then, I added a Draw Rules boundary so that I could accidentally register a trace or fill zone in that area.

Aesthetic touches

Because I was short on time today, I just made the front and back mask layers black and designed a new logo themed around the name, “OmniPad”.

Next Steps

  • Add the logo decal to the back silkscreen layer
  • Export the PCB as a STEP file
  • Begin to redesign the case in Onshape
0
0
16
Open comments for this post

14h 48m 22s logged

DEVLOG #001

3x4 key hack pad with 2 rotary encoders

Overview

This is a macro pad with 12 keys (3x4 key matrix) and two rotary encoders. It also an RGB under-glow for a clean aesthetic. The reason I started this project was to get a functional, cheap macro pad and to get started with hardware and 3d design. The main use for this macro pad will just regular software development tasks like Git commands, client side build and production commands, starting up API endpoints, etc.

Tools Used

  • KiCad
  • Onshape

Progress

As of now, I have almost finalized the PCB layout. To give context, I have went through about 4 different iterations of this PCB.

PCB Iteration #001

For the first iteration, I was just getting started out so it took me quite a while even get started on the schematic. The original design started as one rotary encoder instead of two and the same 3x4 key matrix. After hours of research, I had came up with these specs:

  • Seeed Studio XIAO RP2040 (1x) - I chose this MCU because it was compact, supported SMD mounting, and it had the perfect amount of pins I needed.
  • Cherry MX switches (12x) - This choice was pretty much a no brainer as the Cherry MX switches are well-known as being top-tier mechanical switches.
  • Bourns PEC11R rotary encoder (1x) - I chose this unit mainly because i found a lot of documentation for its firmware and there were many 3d knob models for it.
  • WS2812B LEDs (4x) - I picked these LEDs because I was already familiar with them and they are versatile it terms of color selection.
  • 0402 0.1 µF Capacitors (4x) - These capacitors were chosen because of their small form factor and ability to decouple our LEDs.
  • SOD-123 1N4148W Diodes (12x) - Perfect for preventing ghosting in key matrixes and has a clean SMD physical package.

Result

Unfortunately, after designing the PCB, the design turned out to be too large. I also realized that I needed another rotary encoder for functionality.

PCB Iteration #002

For this next iteration, I wanted to make the PCB shape compact and add an extra rotary encoder. The main aspect of the PCB that this change was the MCU. The Seeed Studio XIAO RP2040 had an insufficient amount of pins to supply all of the previous plus this new encoder. Thats how we landed with the WaveShare RP2040-Zero.

  • WaveShare RP2040-Zero: This was the perfect fit as it exposed 20 GPIO pins and it was also SMD compatible (supposedly…).

Result

Soon after finalizing the new design, I realized that to mount the RP2040-Zero flat on the PCB like a SMD, I would have to create a cutout in PCB as the MCU actually has components on its back side as well.

Now lets start talking about the actual case design.

3D Case Design

This case design really took way more work than I though in the beginning. I had realized the complex of just building a simple case around a PCB. Overall, Through these case iterations, I’ve learned a lot about using Onshape and how create unique design without just Googling with tools to use. Thankfully though, I already had a bit of a head start because I had learned a bit of how to CAD on Onshape for VEX V5 robots.

Since I had throughly documented each iteration the case as I was grinding, I can only really give the description of the semi-finished product. I tried to go for a very a geometrically simple aesthetic. Basically, I want it look like a really bored box but I didn’t want to spend all my time create a really fancy design.

By the way, the case’s inspiration comes for a macropad that I found online called Ocreeb.

Next Steps

Now, here’s the things I need to complete:

  • Figure whether to use new MCU or make a cutout in the PCB for the RP2040-Zero
  • Add finishing touches to the 3D design

Please comment below what I should do for my MCU problem!

8
0
435

Followers

Loading…