Skip to the content
2 layers100 × 70 mmMacropad, the printed circuit board in 3D

An end-to-end open-source wireless macropad built on top of the Nordic nRF52840 SoC. The system features custom hardware design, Zephyr RTOS multi-threaded firmware, and a dedicated Flutter desktop companion application…

Size
100 × 70 mm
Copper layers
2
Thickness
1.6 mm
Parts
45
Nets
51
Pads
198
Tracks, vias
223, 18
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
18 Aug 2026
Updated
11 Sep 2026

Overview

Macropad is an open-source printed circuit board by Xabyra, from the Xabyra/nRF52840-Macropad-Controller repository on GitHub. It is a 2-layer board of 100 × 70 mm with 45 parts on 51 nets, routed with 223 tracks and 18 vias.

It is built around the DW01A, 1N4148W and FS8205A. Its parts include 16 diodes, 13 switches, 9 resistors, 2 ICs and 2 transistors. It belongs with the keyboards and input boards of this library.

Main components

3

README

README.md

nRF52840 Custom Wireless Macropad

Macropad Hardware

An end-to-end open-source wireless macropad built on top of the Nordic nRF52840 SoC. The system features custom hardware design, Zephyr RTOS multi-threaded firmware, and a dedicated Flutter desktop companion application for cross-platform configuration.


⚡ Key Highlights

  • Nordic nRF52840 SoC: BLE HID keyboard & mouse profiles with low-power optimizations.
  • Dual Layer Architecture: Full-featured matrix scanning + rotary encoder control.
  • Zephyr RTOS Engine: Event-driven multitasking, hardware-accelerated BLE stack, and flash settings storage.
  • Companion App: Cross-platform desktop GUI (Windows/Linux) built with Flutter for live keymap reassignment and sequence management.
  • Custom PCB: Designed from schematic through routed 2-layer PCB and STEP model using KiCad.

🛠️ System Overview

1. Hardware Design (KiCad)

Custom schematic and 2-layer PCB layout developed in KiCad, optimized for Nordic nRF52-series wireless routing and mechanical switch integration.

KiCad PCB Layout

  • KiCad project source files and the STEP model are located in the /Hardware directory.

2. Firmware (Zephyr RTOS / C++)

Event-driven embedded architecture leveraging modern RTOS primitives:

  • Key Matrix Scanner: Hardware debounce and rapid matrix polling.
  • Encoder Handler: Hardware quadrature decoding with acceleration.
  • BLE HID Profile: Seamless connectivity and automatic reconnect routine.
  • Power Management: Aggressive sleep and system-off modes for prolonged battery endurance.

Source code and build instructions are located in the /Firmware directory.


3. Desktop Software (Flutter)

A responsive desktop application for live parameter synchronization over BLE:

Flutter Configuration App

  • Intuitive matrix binding and layer configuration.
  • Macro sequence editor with custom delays.
  • Real-time battery status and profile switcher.

Source code and setup instructions are located in the /Software directory.


📂 Repository Structure

text
├── Hardware/   # KiCad schematic, PCB layout, and STEP model
├── Firmware/   # Zephyr RTOS source code, devicetree overlays, prj.conf
├── Software/   # Flutter configuration application source
└── docs/       # Media, hardware photos, and diagrams

Parts

45
QtyValueFootprintReferences
121N4148WDiode_SMD:D_SOD-123D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12
12SW_PushPCM_Switch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_1.00uSW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10, SW11, SW12
6330Resistor_SMD:R_0805_2012MetricR1, R3, R4, R5, R6, R7
4LEDAlliexpressModules:Led38mmD13, D14, D15, D16
10.1uCapacitor_SMD:C_0402_1005MetricC1
1100Resistor_SMD:R_0402_1005MetricR8
11kResistor_SMD:R_0402_1005MetricR9
147kResistor_SMD:R_0805_2012MetricR2
1Conn_01x02_PinConnector_Wire:SolderWire-0.5sqmm_1x02_P4.6mm_D0.9mm_OD2.1mmJ1
1Conn_01x02_PinConnector_Wire:SolderWire-0.1sqmm_1x02_P3.6mm_D0.4mm_OD1mmJ1
1DW01APackage_TO_SOT_SMD:SOT-23-6U2
1FS8205AAlliexpressModules:SOP65P640X120-8NQ2
1NMOSAlliexpressModules:p0903bdgQ1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW17
1~AlliexpressModules:SuperMini NRF52840U1

Similar boards

  • 2 layers237.1 × 92.5 mmKeyboard, the printed circuit board in 3D

    Keyboard

    PaulKlinger/CATreus

    A wireless keyboard based on the Keyboardio Atreus.

    133 parts3MIT
  • 4 layers90 × 95 mmWiegand bridge, the printed circuit board in 3D

    Wiegand bridge

    EdgeCoil/wiegand-bridge

    ESP32-S3 Wiegand reader bridge for Home Assistant: 4-layer board, BOM and ESPHome firmware.

    197 parts1
  • 2 layers102.6 × 102.6 mmMini robot2, the printed circuit board in 3D

    Mini robot2

    eliasmonzon/pcb

    circuitos_electronicos

    67 parts1
  • 4 layers70.9 × 75 mmFlagshep Audio Player V1, the printed circuit board in 3D

    Flagshep Audio Player V1

    HYLDAIC/Flagshep-V1_Audio-Player

    A high fidelity semi-portable audio player student project with provided PCB files, 3D files and Code

    77 parts1CERN-OHL-P-2.0
  • 2 layers42 × 32 mmRAMS - PCB, the printed circuit board in 3D

    RAMS - PCB

    JanClyde05/Road-Accident-Monitoring-System

    This directory contains the planning, specification, and initial KiCad project for RAMS Wearable PCB Revision C. Do not fabricate from this directory yet -- manual schematic wiring and DRC verification are still needed.

    68 parts1
  • 2 layers70 × 120 mmMultimetre V2, the printed circuit board in 3D

    Multimetre V2

    hilham1990/Multimetre

    AkademiUsta Multimetre: ATmega328P + 16 bit ADS1115 ADC, OLED ekran ve Li-ion pil ile açık kaynak el multimetresi. KiCad 10 dosyaları, Gerber ve LCSC kodlu BOM. Kart henüz üretilmedi.

    86 parts
  • 2 layers70 × 40 mmPRAHARI, the printed circuit board in 3D

    PRAHARI

    P-r-i-t-h-v-i/PRAHARI

    Prototype carrier PCB for PRAHARI, The Countdown Band (Point Break, SIH 2026, PS 26181).

    38 parts

Questions

How big is the Macropad PCB?

It measures 100 × 70 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Macropad use?

45 parts, built around the DW01A, 1N4148W and FS8205A. 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 Macropad KiCad files?

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

Can I use the Macropad design in my own project?

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