

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
3DW01A
SOT-23-6L-40℃~+85℃ 1 2.5V 300mV~10V 3uA 4.3V Protection IC Support SOT-23-6L Battery Management ROHSPUOLOPBattery Management1N4148W
SOD-123150mA 1A 1V@50mA 1uA@75V 400mW 4ns 75V Independent SOD-123 Switching Diodes ROHSSTMicroelectronicsSwitching DiodesFS8205A
SOT-23-6-55℃~+150℃ 1.2V 1.5W 2 N-Channel 20V 31.5mΩ@2.5V 466pF 5.7nC@4.5V 58pF 65pF 6A SOT-23-6 MOSFETs ROHSTECH PUBLICMOSFETs
README
README.mdnRF52840 Custom Wireless Macropad
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 project source files and the STEP model are located in the
/Hardwaredirectory.
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:
- 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
├── 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 diagramsParts
45| Qty | Value | Footprint | References |
|---|---|---|---|
| 12 | 1N4148W | Diode_SMD:D_SOD-123 | D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12 |
| 12 | SW_Push | PCM_Switch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_1.00u | SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10, SW11, SW12 |
| 6 | 330 | Resistor_SMD:R_0805_2012Metric | R1, R3, R4, R5, R6, R7 |
| 4 | LED | AlliexpressModules:Led38mm | D13, D14, D15, D16 |
| 1 | 0.1u | Capacitor_SMD:C_0402_1005Metric | C1 |
| 1 | 100 | Resistor_SMD:R_0402_1005Metric | R8 |
| 1 | 1k | Resistor_SMD:R_0402_1005Metric | R9 |
| 1 | 47k | Resistor_SMD:R_0805_2012Metric | R2 |
| 1 | Conn_01x02_Pin | Connector_Wire:SolderWire-0.5sqmm_1x02_P4.6mm_D0.9mm_OD2.1mm | J1 |
| 1 | Conn_01x02_Pin | Connector_Wire:SolderWire-0.1sqmm_1x02_P3.6mm_D0.4mm_OD1mm | J1 |
| 1 | DW01A | Package_TO_SOT_SMD:SOT-23-6 | U2 |
| 1 | FS8205A | AlliexpressModules:SOP65P640X120-8N | Q2 |
| 1 | NMOS | AlliexpressModules:p0903bdg | Q1 |
| 1 | RotaryEncoder_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW17 |
| 1 | ~ | AlliexpressModules:SuperMini NRF52840 | U1 |
Similar boards
- 2 layers237.1 × 92.5 mm

- 4 layers90 × 95 mm

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 mm

- 4 layers70.9 × 75 mm

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 mm

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 layers84.2 × 49.8 mm

Esp32-skimmer detector pro
planmarks/Skimmer-Detector-PRO
ESP32 Based Wireless Skimmer Detector
67 parts1 - 2 layers70 × 120 mm

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 mm

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.