A custom wireless macro pad built using a Raspberry Pi Pico W, 6 mechanical switches, an 1.3 OLED display, and a rotary encoder, the device connects wirelessly to a computer and sends button events to a Python server running on the PC
Important: How this project is built
This is primarily a handwired macropad project
The full working build you see here is made by manually wiring everything on a perfboard no PCB is required to build this. The goal was to learn hardware properly by doing things from scratch (wiring, debugging, soldering).
A custom PCB was also designed, but it was not used in the final build the PCB is for the wired version while the handwired version is the wireless one, you can just power the pcb via a tp4056 module and a battery and it will work fine :) Why the PCB exists:
- optional cleaner/faster version of the same build
- useful if you don’t want to deal with handwiring
- planned as a future/improved version TLDR
- Main build → Handwired (what this project uses)
- PCB → Optional (not used here)
This project focuses heavily on learning hardware prototyping, soldering, firmware development and designing :) ps - I am quite new to hardware and there is a very cool upcoming hardware hackathon coming up so to start learning for that I started this project
Full Demo ( FINAL BUILD )
https://youtu.be/4JAaVo-tPpQ

- 6 programmable mechanical switches ( rn -> prev, play/pause, next, copy, paste, backspace ) { can be easily modified from my script }
- Rotary encoder for volume
- OLED display
- Wireless communication using Pico W
- Battery powered with 1500mAh Liion battery
- On/off switch
- Custom 3D printed case
- FULLY HANDWIRED CIRCUIT ON PERFBOARDDDD
The total above matches the core handwired build. The PCB line is listed as an optional estimate.
The entire circuit was hand wired on a perfboard rather than using a manufactured PCB

The firmware is written using MicroPython
Initially the project used CircuitPython, but i had issues with OLED libraries so switching to MicroPython
Mechanical switches do not align with standard perfboard holes
- Wires touching accidentally
- GND and VCC short circuits
- Difficult debugging
- Tight component spacing extensive use of a multimeter
The encoder originally had angled pin so had tyo : Desoldered Replaced with straight headers Rewired manually
A wiring mistake connected VCC AND GND yees call me dumb :pf: 😭 , causing the laptop USB port to temporarily shut down ( I almost cried and this time ) Fortunately the laptop protected itself and recovered after reboot
Pads lifting off perfboard Difficult desoldering Tight component spacing
And yes a burned finger from a 350°C SOLDERING IRON 😭
Designing circuits is easier than wiring them physically Perfboard prototyping requires careful wire planning Always check circuits with a multimeter before powering PCBs save enormous time compared to hand wiring but hand wiring teaches you a lot just like it did with this project
Although a PCB was designed, it was not manufactured cause -> PCB manufacturing + shipping in India can take 3–4 weeks Hack Club Blueprint timeline would end before it arrived Hand wiring provided ALOTTT better learning experience
This is the most complex hardware project I have built so far
The majority of the development time was spent on:
- Hand wiring
- Debugging shorts
- Soldering and desoldering
- Mechanical adjustments
Despite every DAMNN challenge the final result is a fully functional wireless macropad that sits proudly on my desk and i am VERYYYYYYYY HAPPPPYYYY :))))))
Wireless Demo
Switch Testing
https://youtube.com/shorts/lHE-9vhGmHI
Encoder Testing