Skip to the content
PCBKitNew board
2 layers122 × 87 mmHackyy, the printed circuit board in 3D

A custom 4-key macropad featuring a rotary encoder and an animated OLED display, designed and built from scratch for the Hack Club Stardance challenge.

Size
122 × 87 mm
Copper layers
2
Thickness
1.6 mm
Parts
11
Nets
14
Pads
50
Tracks, vias
79, 0
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
22 Aug 2026
Updated
23 Aug 2026

Overview

Hackyy is an open-source printed circuit board by anuragtamang095-coder, from the anuragtamang095-coder/Hackyy repository on GitHub. It is a 2-layer board of 122 × 87 mm with 11 parts on 14 nets, routed with 79 tracks and 0 vias.

Its parts include 5 switches and 2 ICs.

README

README.md

Hackyy Pad

A custom 4-key macropad featuring a rotary encoder and an animated OLED display, designed and built from scratch for the Hack Club Stardance challenge.


Screenshots

Overall Hackpad Case Angle 2 Case Angle 3

SchematicPCB Layout3D Case Design
SchematicPCB Layout3D Case Design

Bill of Materials (BOM)

  • 1x Custom PCB (designed in KiCad)
  • 1x 3D Printed Enclosure (Top and Bottom halves)
  • 1x Seeed Studio XIAO RP2040 Microcontroller
  • 4x Mechanical Switches
  • 4x Keycaps
  • 1x Rotary Encoder + Knob
  • 1x 0.91" I2C OLED Display

Layout & Workflow Shortcuts

I designed this pad as a dedicated desk companion to streamline deep-work sessions, audio control, and quick multitasking:

  • Rotary Encoder (Knob):
    • Turn: Smooth master volume adjustment
    • Click: Toggle Play / Pause media
  • Switch 1: Quick system audio mute (lifesaver for surprise calls)
  • Switch 2: Skip to next track
  • Switch 3: Instant virtual desktop toggle (my dedicated "hide distractions / focus" button)
  • Switch 4: Custom macro that automatically types out my Gumroad project link
  • OLED Display: Runs a custom Bongo Cat animation that rapidly taps its paws along in real-time whenever I press a key or twist the knob!

The Build Journey & What I Learned

Hardware & Enclosure

  • KiCad PCB Design: Routed the board around the Seeed Studio XIAO RP2040. Since it's a compact 4-key layout, I was able to skip the complexity of a traditional diode matrix and wired each switch directly from a GPIO pin to ground.
  • 3D Modeling in Onshape: Designed a custom two-part enclosure from scratch. The hardest part was dialing in the exact fit tolerances so the OLED glass, mechanical switch plate, and rotary encoder sat flush without flexing or rattling.

Firmware & QMK

  • Directory Structure: QMK was tough to configure at first. I learned the hard way that files can't just live anywhere—they have to follow strict nesting rules (keyboards/hackyy_pad/keymaps/default) for the build pipeline to compile.
  • Pin Mapping: Translated physical schematic connections into digital pinouts inside keyboard.json to make sure the RP2040's GPIO lines synced up with the switch matrix.

Pairing with AI as a Tutor

Rather than just copying and pasting blocks of code, I used AI as an interactive pair-programmer to:

  • Learn core CAD constraints and modeling concepts in Onshape.
  • Decode walls of cryptic red GCC compiler errors (like hunting down a rogue lowercase letter in an enum definition that brought down the whole build).
  • Build the frame-swapping logic required to render the Bongo Cat bitmap without lagging key-input responsiveness.

The 1.5-Hour Tragedy 😭

The most painful bug of this entire project had nothing to do with C code, trace routing, or 3D tolerances—it was time tracking.

I spent over an hour and a half deep in the zone writing firmware and debugging, only to discover that my Hackatime session had been logging to the completely wrong project on the Stardance dashboard. Over 1.5 hours of tracked work vanished into the void. But a end got the time back.

Lesson learned: Always double-check your active project before locking into a build sprint!

Parts

11
QtyValueFootprintReferences
4SW_PushButton_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW1, SW2, SW3, SW4
1ER_OLEDM0.91_1x-I2CConnector:FanPinHeader_1x04_P2.54mm_VerticalU2
1MOUDLE-SEEEDUINO-XIAOfootprints:XIAO-Generic-Hybrid-14P-2.54-21X17.8MMU1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW5

The 7 most common of 11 parts.

Questions

How big is the Hackyy PCB?

It measures 122 × 87 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Hackyy use?

11 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Hackyy KiCad files?

From the anuragtamang095-coder/Hackyy repository on GitHub, at the commit this page was made from: the board is pcb/Hackyy.kicad_pcb and its schematic pcb/Hackyy.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Hackyy design in my own project?

Its repository states no licence, so its author keeps all rights: ask anuragtamang095-coder before reusing the design.

Similar boards

  • 2 layers60 × 30 mmController, the printed circuit board in 3D

    Controller

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    11 parts3kApache-2.0
  • 2 layers103 × 30.5 mmTS Front Endcap, the printed circuit board in 3D

    TS Front Endcap

    EEVengers/ThunderScope

    ThunderScope GitHub Repo

    11 parts1.3kMIT
  • 2 layers26 × 30 mmExpansion Card, the printed circuit board in 3D

    Expansion Card

    FrameworkComputer/ExpansionCards

    Reference designs and documentation to create Expansion Cards for the Framework Laptop

    11 parts1.1kCC-BY-4.0
  • 2 layers53.9 × 23.2 mmBuffer, the printed circuit board in 3D

    Buffer

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    11 parts1kGPL-3.0
  • 2 layers10 × 20 mm2 connector Sensor Board, the printed circuit board in 3D

    2 connector Sensor Board

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    11 parts915
  • 2 layersFet module, the printed circuit board in 3D

    Fet module

    ByteWelder/Decktility

    A handheld PC

    11 parts855CC-BY-SA-4.0
  • 2 layers47 × 33 mmSevensegment led display module, the printed circuit board in 3D

    Sevensegment led display module

    tardate/LittleArduinoProjects

    a collection of "Little Electronic & Arduino Projects", most involving electronics or an Arduino in one way or another!

    11 parts803MIT
  • 2 layers42.5 × 36.8 mmDevboard, the printed circuit board in 3D

    Devboard

    basilfx/TRADFRI-Hacking

    Hacking IKEA TRÅDFRI products, such as light bulbs, window blinds and other accessories.

    11 parts743CC-BY-4.0