Open comments for this post
Before moving to the designing/3d printing, I wanted to make the Gmail macro key code. I spent around 30 minutes to write and debug the code (Might change after I get the parts. The Mission: Tap a single mechanical switch to automatically enter Gmail.
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS
keyboard = Keyboard(usb_hid.devices)
layout = KeyboardLayoutUS(keyboard)
GMAIL = “prabhgunsinghsobti@gmail.com”
def type_gmail():
layout.write(GMAIL)
Phase 2: Design Inspiration & Cyberpunk Aesthetics (The Blueprint)
For the visual identity, I didn’t want a generic, boring plastic box. I spent some time studying past mechanical designs and custom cyberdecks. Color Psychology: Instead of standard monochrome, I locked in a high-contrast cyberpunk palette: A grey main enclosure to look like machined industrial metal. A matte black bottom floor plate to act as a grounded chassis. Vibrant purple keycaps to give it a sharp, neon color. The Centerpiece: A custom multi-layered knob in matching purple, with a neon yellow accent ring.
Once the vision was clear, the real battle began in Tinkercad. I spent 3 to 4 hours measuring real components and sizing them against physical hand.
Current Status: Design ready (Probably XD)! Every single part has been isolated, grounded flat at a height of 0, and separated with clear margins so the 3D printers can print them as individual components. Grey Enclosure -> Ready
Black Base Floor -> Ready
4x Purple Keycaps _> Ready
Custom Knob -> Ready
Next stop: Exporting the STL file and submitting it to the Hack Club #enclosure queue!
Open comments for this post
Spent 2 hours on enclosure 3d design + BOM (on github)
Component
Quantity
Approx. Cost (INR)
Raspberry Pi Pico
1
₹340
Mechanical Switches
4
₹100
Custom Keycaps
4
₹0 (Free via #enclosure)
OLED Display (SSD1306)
1
₹150
Volume Knob (EC11 Encoder)
1
₹50
Passive Piezo Buzzer
1
₹20
WS2812B RGB LEDs
1
₹40
Custom Enclosure
1
₹0 (Free via #enclosure)
Open comments for this post
Finally after 3 hours coding and 5 hours debugging Done with the AI Agent for my macropad TwT