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

TRASHPAD

  • 6 Devlogs
  • 20 Total hours

A 9-key macropad with a rotary encoder and OLED display. Built from scratch, redesigned more times than I'd like to admit, and made for people who use the same shortcuts enough to be annoyed by them.

Ship #1 Pending review

What did you make?
> I made TRASHPAD, a 9-key macropad with an OLED screen, a rotary encoder, a custom PCB, and a 3D-printed case. Basically, it's a little shortcut machine that sits on my desk and handles the stuff I use all the time. I also made a website and a simulator for it so people can mess around with it without needing the actual hardware.

What was challenging?
> The PCB was definitely the hardest part. At one point I thought I was completely done, then realized I had forgotten some matrix connections and had no GPIO pins left on the XIAO. That meant going back, changing the design, removing parts, updating the PCB, and even changing the case. It was one of those moments where a tiny mistake somehow creates hours of extra work.

What are you proud of?
> Honestly, I'm proud that I solved my own problem.

I was getting annoyed constantly reaching for shortcuts while working, so instead of living with it, I built something around the way I actually use my computer. Now I have a device that puts my most-used shortcuts, controls, and macros right in front of me. It's cool seeing something that started as a random idea turn into something I genuinely use.

What should people know so they can test your project?
> The easiest way is through the website simulator. You can click the keys, play with the encoder, and see how the OLED responds. If you want to dig deeper, all the PCB files, CAD files, firmware, and production files are in the repo so you can see exactly how everything was built.

Video of Project → See source code →
Open comments for this post

1h 29m 5s logged

I honestly can’t believe I’m writing this, but TrashPad is finally at the point where I can call it finished.


Today I wrapped up the OLED UI, which was one of the last things on my checklist. I spent some time cleaning up the screens, fixing spacing issues, and making everything feel consistent. It might seem like a small thing, but having a proper interface makes the whole project feel a lot more polished. It’s no longer just hardware connected together, it actually feels like a finished device.


The hardware side is now stable, the enclosure design is finished, and the PCB has reached that stage where I’m finally comfortable saying “I’m not changing this anymore.”


At this point there’s only one task left: getting everything organized. I need to clean up the code, prepare the repository, sort out the documentation, and make sure everything is ready for release.


After that, that’s it,
I’m Gonna Ship It

I honestly can’t believe I’m writing this, but TrashPad is finally at the point where I can call it finished.


Today I wrapped up the OLED UI, which was one of the last things on my checklist. I spent some time cleaning up the screens, fixing spacing issues, and making everything feel consistent. It might seem like a small thing, but having a proper interface makes the whole project feel a lot more polished. It’s no longer just hardware connected together, it actually feels like a finished device.


The hardware side is now stable, the enclosure design is finished, and the PCB has reached that stage where I’m finally comfortable saying “I’m not changing this anymore.”


At this point there’s only one task left: getting everything organized. I need to clean up the code, prepare the repository, sort out the documentation, and make sure everything is ready for release.


After that, that’s it,
I’m Gonna Ship It

Replying to @Mokxsh_

1
35
Open comments for this post

2h 28m 49s logged

This project started as a “quick build” and somehow turned into a full redesign loop I did not see coming.

I spent around 16 hours straight building it end to end. No breaks, just flow. Schematic → PCB → Fusion 360 enclosure. Everything was moving fast and honestly felt solid at the time.


⚡ Schematic phase

Mapped out the full switch matrix. Rows and columns looked clean on paper. Nothing felt off. This was the calm stage.


🧩 PCB design

Routed everything around the XIAO RP2040. Tight layout, all pins assigned, everything looked correct.

That’s the keyword: looked.


🖼️ Fusion 360 enclosure

Built the case, aligned the board, checked fitment. At this point I genuinely thought:
“yeah, this is a first-try success.”

It wasn’t.


💥 The moment it broke

During final checks, I realized something stupid but critical:

✔ Rows were connected
❌ Columns were NOT connected to the XIAO

At first I thought: “ok easy fix, PCB edit, done in 2 minutes.”

Then reality hit.


🚫 The real problem

No GPIO pins left on the XIAO.

Zero. Everything was already assigned.

So the “quick fix” wasn’t possible at all.


🔧 Forced redesign

Only option left was to free up pins.

That meant removing the potentiometer I had already designed into the system.

And that one change didn’t stay small:

~ PCB had to be updated again
~ Pin mapping had to be redone
~ Fusion enclosure had to be redesigned
~ Mechanical layout shifted again

What should’ve been a tiny wiring fix turned into a full system rollback.

This project started as a “quick build” and somehow turned into a full redesign loop I did not see coming.

I spent around 16 hours straight building it end to end. No breaks, just flow. Schematic → PCB → Fusion 360 enclosure. Everything was moving fast and honestly felt solid at the time.


⚡ Schematic phase

Mapped out the full switch matrix. Rows and columns looked clean on paper. Nothing felt off. This was the calm stage.


🧩 PCB design

Routed everything around the XIAO RP2040. Tight layout, all pins assigned, everything looked correct.

That’s the keyword: looked.


🖼️ Fusion 360 enclosure

Built the case, aligned the board, checked fitment. At this point I genuinely thought:
“yeah, this is a first-try success.”

It wasn’t.


💥 The moment it broke

During final checks, I realized something stupid but critical:

✔ Rows were connected
❌ Columns were NOT connected to the XIAO

At first I thought: “ok easy fix, PCB edit, done in 2 minutes.”

Then reality hit.


🚫 The real problem

No GPIO pins left on the XIAO.

Zero. Everything was already assigned.

So the “quick fix” wasn’t possible at all.


🔧 Forced redesign

Only option left was to free up pins.

That meant removing the potentiometer I had already designed into the system.

And that one change didn’t stay small:

~ PCB had to be updated again
~ Pin mapping had to be redone
~ Fusion enclosure had to be redesigned
~ Mechanical layout shifted again

What should’ve been a tiny wiring fix turned into a full system rollback.

Replying to @Mokxsh_

1
7
Open comments for this post

4h 27m 52s logged

add more tweakss ;)

i) changed the previous trash knob design
ii) made random cuts which i thought are coolll
iii) changed the fonts
iv) added the stardance logo

im gonna ship it soon!

add more tweakss ;)

i) changed the previous trash knob design
ii) made random cuts which i thought are coolll
iii) changed the fonts
iv) added the stardance logo

im gonna ship it soon!

Replying to @Mokxsh_

1
28
Open comments for this post

16m logged

guys please tell me if this pcb will work ? the xiao is at the back side. (Im Lowkey New)

guys please tell me if this pcb will work ? the xiao is at the back side. (Im Lowkey New)

Replying to @Mokxsh_

1
64
Open comments for this post

16m 3s logged

Just Finished Up Building the website for you’re very-very own “TRASHPAD”

Just Finished Up Building the website for you’re very-very own “TRASHPAD”

Replying to @Mokxsh_

1
76

Followers

Loading…