Skip to content
anirudh12032008Public

About

A macropad completely made from scratch with a hand wired circuit and 3d printed case!

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wireless Macropad

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

DEMO VIDEO on YT

You A5 (4) image

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


DEMO + PHOTOS

Full Demo ( FINAL BUILD ) https://youtu.be/4JAaVo-tPpQ image image image

hackpadcaseee v3 hackpadcaseee v32 hackpadcaseee v33

more photos and video related to development in ending area


Features

  • 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

BOM ( already have all the parts )

Name Quantity Unit Cost (INR) (without tax) Cost (INR) (without tax) USD (without tax) Link
Raspberry Pi Pico W 1 840 840 9.230769231 https://thinkrobotics.com/products/raspberry-pi-pico-w-online?variant=44615124386109&country=IN&currency=INR&utm_medium=product_sync&utm_source=google&utm_content=sag_organic&utm_campaign=sag_organic&srsltid=AfmBOor-PcjZTxr44y8CzeFaVnOJnqQjT77XSMV-Ytf8xSOznwvbq3vgZsA
1.3 OLED Display 1 314 314 3.568181818 https://robu.in/product/1-3-oled-display-v2/
Mechanical Switches 6 20 120 1.363636364 https://www.thecosmicbyte.com/product/gateron-mechanical-switches-compatible-with-cosmic-byte-hot-swappable-keyboards-qty-1pc/?attribute_pa_switch-type=blue-switch&utm_source=Google%20Shopping&utm_campaign=googlefeeds&utm_medium=cpc&utm_term=46895
Rotary Encoder 1 50 50 0.5681818182 https://robu.in/product/m274-360-degree-rotary-encoder-module-brick-sensor/
1500mAh Li-ion battery 1 445 445 5.056818182 https://robu.in/product/wly103443-1500mah-3-7v-single-cell-rechargeable-lipo-battery/
TP4056 charging module 1 13 13 0.1477272727 https://robu.in/product/tp4056-1a-lipo-battery-charging-board-micro-usb-with-current-protection/
3D case and Keycaps 6 0 0 0 Self sourced
PCB estimate if needed 1 2000 2000 21.18 USD https://www.lioncircuits.com/
Total 1782 19.93531469

The total above matches the core handwired build. The PCB line is listed as an optional estimate.

Circuit Design

The entire circuit was hand wired on a perfboard rather than using a manufactured PCB image image image image image image

Firmware

The firmware is written using MicroPython

Initially the project used CircuitPython, but i had issues with OLED libraries so switching to MicroPython


Challenges ( that lead me to spend soo much time )

1. Switch Alignment

Mechanical switches do not align with standard perfboard holes

2. Hand Wiring Complexity

  • Wires touching accidentally
  • GND and VCC short circuits
  • Difficult debugging
  • Tight component spacing extensive use of a multimeter

3. Rotary Encoder Repair

The encoder originally had angled pin so had tyo : Desoldered Replaced with straight headers Rewired manually

4. Accidental Short Circuit

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

5. Soldering Issues

Pads lifting off perfboard Difficult desoldering Tight component spacing

And yes a burned finger from a 350°C SOLDERING IRON 😭


Lessons Learned

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


Why No Custom PCB?

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


Final Thoughts

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

More photos and videos

Wireless Demo

https://youtu.be/yQSg85zmU98

Switch Testing

https://youtube.com/shorts/lHE-9vhGmHI

Encoder Testing

https://youtube.com/shorts/ghjy8Nz1D2Q

About

A macropad completely made from scratch with a hand wired circuit and 3d printed case!

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages