Skip to the content
PCBKitNew board
2 layers89.5 × 60 mmMakropad, the printed circuit board in 3D

A compact, high-performance, and fully customizable macro pad (Stream Deck) built around the Seeed Studio XIAO RP2040 microcontroller.

Size
89.5 × 60 mm
Copper layers
2
Thickness
1.6 mm
Parts
20
Nets
23
Pads
84
Tracks, vias
108, 0
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
18 Jun 2026
Updated
18 Jun 2026

Overview

Makropad is an open-source printed circuit board by Scoop79, from the Scoop79/macropad- repository on GitHub. It is a 2-layer board of 89.5 × 60 mm with 20 parts on 23 nets, routed with 108 tracks and 0 vias.

Its parts include 10 switches, 9 diodes and 1 IC.

README

README.md

DIY 3x3 Custom Stream Deck with Rotary Encoder

A compact, high-performance, and fully customizable macro pad (Stream Deck) built around the Seeed Studio XIAO RP2040 microcontroller. This repository contains the complete KiCad hardware design files, including the schematic and the routed PCB layout.

🚀 Features

  • 9 Mechanical Switches: Arranged in a space-saving 3x3 diode-isolated matrix (supports standard Cherry MX style switches).
  • Rotary Encoder: Dedicated EC11 vertical encoder for precise volume control, including an integrated push-button functionality (e.g., for instant muting).
  • Fully THT-Based Design: Engineered using Through-Hole Technology (THT) for the switches, diodes, and encoder, making it incredibly beginner-friendly and easy to hand-solder.
  • Native USB-C: Driven directly by the on-board USB-C port of the XIAO RP2040, eliminating the need for extra charging or interface circuits.

🛠️ Hardware Overview & Pin Mapping

The project utilizes every single data pin on the Seeed Studio XIAO RP2040 to maximize performance without wasting space.

1. The 3x3 Keyboard Matrix

To save GPIO pins, the 9 Cherry MX switches are wired into a multiplexed grid using 1N4148 THT diodes to prevent ghosting.

  • Rows: Connected to Pins D0, D1, and D2.
  • Columns: Connected to Pins D3, D4, and D5.

2. Rotary Encoder (Alps EC11 Standard)

  • Rotary Signals (A & B): Connected to Pins D7 and D8 for directional rotation tracking.
  • Common Pin (C): Connected directly to Ground (GND).
  • Switch Pins (S1 & S2): Pin S1 is wired to Pin D9 for click-detection, while S2 is tied to GND.

📐 PCB Design Details

The hardware was designed and verified entirely within KiCad 8.0.

  • Form Factor: Extremely compact, optimized grid layout.
  • Layers: 2-Layer board utilizes both Top Copper (F.Cu in red) and Bottom Copper (B.Cu in green) layers to achieve seamless, intersection-free routing without crossing signals.
  • DRC Clean: Passed the final Design Rules Check (DRC) with 0 unconnected pads and 0 footprint errors, ensuring a mathematically perfect circuit ready for manufacturing.
  • Edge Definition: Defined custom Edge.Cuts contour surrounding the mechanical elements with standard clearance.

📂 Repository Structure

text
├── Hardware/
│   ├── stream_deck.kicad_sch  # KiCad Schematic file
│   ├── stream_deck.kicad_pcb  # KiCad Routed PCB Layout file
│   └── stream_deck.kicad_pro  # KiCad Project configuration file
└── README.md                  # Project documentation (this file)

Parts

20
QtyValueFootprintReferences
9DDiode_THT:D_DO-41_SOD81_P10.16mm_HorizontalD1, D2, D3, D4, D5, D6, D7, D8, D9
9SW_PushButton_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9
1MOUDLE-SEEEDUINO-XIAOfootprints:XIAO-Generic-Hybrid-14P-2.54-21X17.8MMU1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW10

Questions

How big is the Makropad PCB?

It measures 89.5 × 60 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Makropad use?

20 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 Makropad KiCad files?

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

Can I use the Makropad design in my own project?

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

Similar boards

  • 2 layers66.9 × 74.5 mmDeskHop Rev1, the printed circuit board in 3D

    DeskHop Rev1

    hrvach/deskhop

    Fast Desktop Switching Device

    20 parts7.9kGPL-3.0
  • 2 layers86.4 × 64.8 mmSlot machine, the printed circuit board in 3D

    Slot machine

    google/google-ctf

    Google CTF

    20 parts5.1kApache-2.0
  • 2 layers36.2 × 26.8 mmEsp32 minimal, the printed circuit board in 3D

    Esp32 minimal

    atopile/atopile

    Design circuit boards with code! ✨ Get software-like design reuse 🚀, validation, version control and collaboration in hardware; starting with electronics ⚡️

    20 parts4kMIT
  • 2 layers108.1 × 393.8 mmSweep compact ble, the printed circuit board in 3D

    Sweep compact ble

    davidphilipbarr/Sweep

    Sweep - a small promicro based keyboard inspired by the Ferris.

    20 parts2.1k
  • 2 layers26 × 15.9 mmTPS54340 Buck Regulator, the printed circuit board in 3D

    TPS54340 Buck Regulator

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    20 parts1.2k
  • 2 layers67.6 × 30.5 mmRgb to hdmi, the printed circuit board in 3D

    Rgb to hdmi

    hoglet67/RGBtoHDMI

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

    20 parts1kGPL-3.0
  • 2 layers44.3 × 28.7 mmLin bus adapter esp32, the printed circuit board in 3D

    Lin bus adapter esp32

    hackclub/OnBoard

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

    20 parts915
  • 2 layers89.5 × 61.6 mmFreeDeck TH 2020-02, the printed circuit board in 3D

    FreeDeck TH 2020-02

    FreeYourStream/freedeck-hardware

    all the stuff you need to build your own FreeDeck

    20 parts772