Skip to the content
PCBKitNew board
4 layers64.2 × 90.9 mmMacropad, the printed circuit board in 3D

A fully custom wireless macropad.

Size
64.2 × 90.9 mm
Copper layers
4
Thickness
1.6 mm
Parts
62
Nets
84
Pads
303
Tracks, vias
745, 93
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
30 May 2026
Updated
19 Jun 2026

Overview

Macropad is an open-source printed circuit board by Gnoled5660, from the Gnoled5660/Macrotype repository on GitHub. It is a 4-layer board of 64.2 × 90.9 mm with 62 parts on 84 nets, routed with 745 tracks and 93 vias.

It is built around the NRF52840-QIAA-R, BQ24074RGTR and MCP1700T-3302E/TT(MS), with the TYPE-C-31-M-12 among its other parts. Its parts include 23 capacitors, 11 resistors, 11 switches, 2 ICs and 2 diodes. It belongs with the keyboards and input boards and the nRF52 and nRF5x boards of this library.

Main components

4

README

README.md

Macrotype

Macropad_with_Case_2026-Jun-15_12-51-55PM-000_CustomizedView37122516277_png

Description

This is a fully custom wireless hot swappable macropad with a custom Microcontroller. It has a total of nine fully custom programmable keyswitches and a rotary encoder as well as a 0.91 OLED display. It still remains pretty compact, while having that many components. It's size is approximately 10x6.8x1.6cm. There is a LiPo 3.7V Battery built in, but if you want to charge it, you can simply charge the battery via the USB-C receptacle. The macropad has an IC charger built in. If it is connected to the USB-C port, then the nRF52840 MCU chip, will be directly powered by the external power source, while the battery is being charged. However, if it is not connected to an external power supply, then the chip will be powered by the battery.

Motivation

I have always wanted to design my own macropad, as it can be quite useful. I wanted to challenge myself a little bit, which is why I didn't choose a regular microcontroller and designed the entire board myself.

Assembling the macropad

It is quite straight forward to assemble everything. As the PCB will be preassembled by JLCPCB, since there are many components that cannot be hand soldered, there is not much to do on the soldering part. It is only necessary to solder the display and the rotary encoder onto the PCB and connect the Battery with the socket. There are four mounting holes on the PCB, that are used to screw screws onto the CAD model. For this project, you only need four M2 screws. It is also recommended to use heated threat inserts, to guarentee more grip.

Schematic and Components

The main component is the nRF52840, a relatively cheap chip, that is capable of bluetooth low energy. This chip functions as the main processing unit, to handle all the actions that can be done with the board. Another important component is the BQ24074, it is an IC charger that can charge the battery, while still letting power to the MCU. As the battery is a 3.7V LiPo, the voltage always varies between 3.3V and 4.0V. Thats why there is also a Low Dropout Regulator, that convert the voltage to 3.3V.

Bildschirmfoto 2026-06-15 um 15 30 08

Using this reference provided by nordic semiconductors, I was able to draw the schematic around the chip.

Bildschirmfoto 2026-06-19 um 12 18 31

PCB

The PCB is a 4 layer PCB, with the first and fourth layer function as signal transmitting layers. The second layer is a big Ground plane and the third layer is a hybrid layer with signal tracks and Ground planes. The most crucial part of the PCB is the radio frequency part. This part cannot have any tracks or Ground planes above or under it, as any distrubances might change the frequency.

Bildschirmfoto 2026-06-15 um 15 33 07 Bildschirmfoto 2026-06-15 um 15 30 40 Bildschirmfoto 2026-06-17 um 20 18 41 Bildschirmfoto 2026-06-17 um 20 19 51

Firmware

To flash the nRF52840 chip, you have to use a bootloader and connect it physically to the pin sockets on the board. There is a row with SWD sockets. Connect it to these rows and flash the Firmware onto it. You can find it in the folder Firmware. Afterwards, you can simply connect the chip via the USB-C port to a computer and upload the uf2 file, which contains all the keyboard settings and drag the files onto the chip. The keyboard firmware was built with ZMK.

Firmware setup

The firmware was built with ZMK. After following the guide of ZMK of how to setup your own ZMK configuration GitHub repo, you have to change the board informations according to your needs. My custom Macropad includes having a rotary encoder, display and a 3x3 Matrix switches. You can find the configurations in detail in the ZMK config file.

Case

The case consists of two different parts. The bottom part has four holes, where heated threat inserts can be inserted. There is a rectangle that stands out a little bit, so that it can be pressed in to the other part.

Bildschirmfoto 2026-06-17 um 23 51 36 Bildschirmfoto 2026-06-17 um 23 53 58 Copy of fallout_zine_template-7

BOM

ReferenceQtyLinksValueFootprintDescriptionPrice
Crystal1https://jlcpcb.com32.768kHzCrystal:Crystal_SMD_3215-2Pin_3.2x1.5mmTwo pin crystalSee below
Crystal1https://jlcpcb.com32MHzCrystal:Crystal_SMD_2016-4Pin_2.0x1.6mmTwo pin crystalSee below
Low Dropout Regulator1https://jlcpcb.comMCP1700T-3302E_TTMCP1700T-3302E_TT:SOT95P237X112-3NPwr Sply Func,Voltage Regulator,LDO,SOT-23,PD 369.6mW,VO 3.3V,Regline +/-0.75%/V | Microchip Technology Inc. MCP1700T-3302E/TTSee below
IC Charger1https://jlcpcb.comBQ24074RGTRBQ24074RGTR:QFN50P300X300X100-17NStandalone 1-cell 1.5-A linear battery charger, Power Path, 4.2-V VBAT, 10.5-V OVP and 4.4-V VOUTSee below
nRF528401https://jlcpcb.comNRF52840-QIAA-Rfootprints:AQFN-73-1EP_7x7mm_P0.5mm_NRF52840-customIC RF TxRx + MCU 802.15.4, Bluetooth Bluetooth v5.0, Thread, Zigbee® 2.4GHz 73-VFQFN Dual Rows, Exposed PadSee below
Rotary Encoder1https://jlcpcb.comRotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmRotary encoder, dual channel, incremental quadrate outputs, with switchSee below
Button1https://jlcpcb.comSW_PushButton_Switch_SMD:SW_Push_1P1T_NO_CK_KMR2Push button switch, generic, two pinsSee below
Keyswitch9https://jlcpcb.comKeyswitchSwitch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MXPush button switch, normally open, two pins, 45° tiltedSee below
Resistor2https://jlcpcb.com5.1kResistor_SMD:R_0402_1005MetricResistorSee below
Resistor3https://jlcpcb.com10kResistor_SMD:R_0402_1005MetricResistorSee below
Resistor1https://jlcpcb.com47kResistor_SMD:R_0402_1005MetricResistorSee below
Resistor1https://jlcpcb.com0Resistor_SMD:R_0402_1005MetricResistorSee below
Resistor1https://jlcpcb.com5.9kResistor_SMD:R_0402_1005MetricResistorSee below
Resistor1https://jlcpcb.com3.0kResistor_SMD:R_0402_1005MetricResistorSee below
Resistor2https://jlcpcb.com1.5kResistor_SMD:R_0402_1005MetricResistorSee below
Inductor1https://jlcpcb.com4.7nHInductor_SMD:L_0402_1005MetricInductorSee below
USB-C Receptacle1https://jlcpcb.comTYPE-C-31-M-12TYPE-C-31-M-12:HRO_TYPE-C-31-M-12USB Connectors 24 Receptacle 1 8.94*7.3mm RoHSSee below
JST Socket1https://jlcpcb.comConn_01x02_SocketConnector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_HorizontalGeneric connector, single row, 01x02, script generatedSee below
LED2https://jlcpcb.comLEDLED_SMD:LED_0603_1608MetricLight emitting diodeSee below
Unpolarized Capcitor1https://jlcpcb.com820pFCapacitor_SMD:C_0402_1005MetricUnpolarized capacitorSee below
Unpolarized Capcitor1https://jlcpcb.com1.5pFCapacitor_SMD:C_0402_1005MetricUnpolarized capacitorSee below
Unpolarized Capcitor1https://jlcpcb.com0.5pFCapacitor_SMD:C_0402_1005MetricUnpolarized capacitorSee below
Unpolarized Capcitor1https://jlcpcb.com0.8pFCapacitor_SMD:C_0402_1005MetricUnpolarized capacitorSee below
Unpolarized Capcitor1https://jlcpcb.com100pFCapacitor_SMD:C_0402_1005MetricUnpolarized capacitorSee below
Unpolarized Capcitor2https://jlcpcb.comN.C.Capacitor_SMD:C_0402_1005MetricUnpolarized capacitorSee below
Unpolarized Capcitor1https://jlcpcb.com1.0uFCapacitor_SMD:C_0603_1608MetricUnpolarized capacitorSee below
Unpolarized Capcitor4https://jlcpcb.com1uFCapacitor_SMD:C_0603_1608MetricUnpolarized capacitorSee below
Unpolarized Capcitor3https://jlcpcb.com100nFCapacitor_SMD:C_0402_1005MetricUnpolarized capacitorSee below
Unpolarized Capcitor4https://jlcpcb.com12pFCapacitor_SMD:C_0402_1005MetricUnpolarized capacitorSee below
Unpolarized Capcitor4https://jlcpcb.com4.7uFCapacitor_SMD:C_0603_1608MetricUnpolarized capacitorSee below
0.91 Display1https://www.roboter-bausatz.de/p/0.91-oled-display-blau-128-32-ssd1306-i2c-modul-fuer-arduino-raspberry-pi?number=RBS17395&weiche=2&bid=284037-112606-CjwKCAjwxb7RBhA5EiwAQ-AAdFHQgZO50lI-4mJakAwufHefXGeRBqagyHlzbb7zqNV4eCwBOuO-URoCDh8QAvD_BwE%4083&adcref=t.adcell.com%2FOled Display 128x324
Hot Swappable Sockets50https://amazon.comKailh CPG151101S11 Hot Swappable PCB Socket10
PCB with all Components1https://jlcpcb.com5x PCB fully assembled110
Filament40g0.5
total124

Parts

62
QtyValueFootprintReferences
9KeyswitchSwitch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MXSW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9
412pFCapacitor_SMD:C_0402_1005MetricC2, C3, C11, C12
41uFCapacitor_SMD:C_0603_1608MetricC5, C18, C21, C22
44.7uFCapacitor_SMD:C_0603_1608MetricC1, C17, C19, C20
3100nFCapacitor_SMD:C_0402_1005MetricC4, C10, C23
310kResistor_SMD:R_0402_1005MetricR7, R9, R10
21.5kResistor_SMD:R_0402_1005MetricR1, R2
25.1kResistor_SMD:R_0402_1005MetricR11, R12
2LEDLED_SMD:LED_0603_1608MetricD10, D11
2N.C.Capacitor_SMD:C_0402_1005MetricC7, C9
1
10Resistor_SMD:R_0402_1005MetricR5
10.5pFCapacitor_SMD:C_0402_1005MetricC14
10.8pFCapacitor_SMD:C_0402_1005MetricC13
11.0uFCapacitor_SMD:C_0603_1608MetricC6
11.5pFCapacitor_SMD:C_0402_1005MetricC15
1100pFCapacitor_SMD:C_0402_1005MetricC8
13.0kResistor_SMD:R_0402_1005MetricR3
132.768kHzCrystal:Crystal_SMD_3215-2Pin_3.2x1.5mmX2
132MHzCrystal:Crystal_SMD_2016-4Pin_2.0x1.6mmX1
14.7nHInductor_SMD:L_0402_1005MetricL1
147kResistor_SMD:R_0402_1005MetricR6
15.9kResistor_SMD:R_0402_1005MetricR4
1820pFCapacitor_SMD:C_0402_1005MetricC16
1BQ24074RGTRBQ24074RGTR:QFN50P300X300X100-17NU2
1Conn_01x02_SocketConnector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_HorizontalJ1
1Conn_01x04_SocketConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalDisplay1
1Conn_01x05_SocketConnector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalMCU_flash1
1MCP1700T-3302E_TTMCP1700T-3302E_TT:SOT95P237X112-3NVR1
1NRF52840-QIAA-Rfootprints:AQFN-73-1EP_7x7mm_P0.5mm_NRF52840-customU1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW11
1SW_PushButton_Switch_SMD:SW_Push_1P1T_NO_CK_KMR2SW10
1TYPE-C-31-M-12TYPE-C-31-M-12:HRO_TYPE-C-31-M-12J2

The 58 most common of 62 parts.

Questions

How big is the Macropad PCB?

It measures 64.2 × 90.9 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Macropad use?

62 parts, built around the NRF52840-QIAA-R, BQ24074RGTR, MCP1700T-3302E/TT(MS) and TYPE-C-31-M-12. 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 Gnoled5660/Macrotype repository on GitHub, at the commit this page was made from: the board is Schematic and PCB/Macropad.kicad_pcb and its schematic Schematic and PCB/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 Gnoled5660 before reusing the design.

Similar boards

  • 2 layers65 × 54 mmCoffeecaller, the printed circuit board in 3D

    Coffeecaller

    tiacsys/ecad-coffeecaller

    CoffeeCaller. Once a nice office gadget it now evolved to a small development board for the Nordic nRF52840.

    85 parts14CERN-OHL-S-2.0
  • 2 layers208.8 × 396.9 mmFerris, the printed circuit board in 3D

    Ferris

    pierrechevalier83/ferris

    A low profile split keyboard designed to satisfy one single use case elegantly

    145 parts1.3k
  • 2 layers22 × 25 mmDb rev1, the printed circuit board in 3D

    Db rev1

    jemmec/legshark

    An open source 60% (15 by 5) ortholinear keyboard designed with both flexability and familiarity in mind.

    20 parts3MIT
  • 2 layers391 × 131.2 mmAustin, the printed circuit board in 3D

    Austin

    kitspace-test-repos/kicad6-file-collection

    558 partsMIT
  • 2 layers69.4 × 113 mmEpaper reader hw, the printed circuit board in 3D

    Epaper reader hw

    mathias4833/epaper-reader-hw

    An open-source e-paper reader

    126 parts75CERN-OHL-W-2.0
  • 4 layers246.5 × 95 mmViaggio, the printed circuit board in 3D

    Viaggio

    dataehora/beatconfused

    A small web studio of fast, elegant, install-free music tools. Every tool is plain HTML, CSS and vanilla JavaScript with the Web Audio API — no build step, no dependencies, no accounts, works offline after first load.

    215 parts1
  • 4 layers25 × 30 mmSmove r2-main, the printed circuit board in 3D

    Smove r2-main

    okbrainhq/sMove

    Applied to power.kicadsch, compute.kicadsch and smove-r2-main.kicadsch:

    53 parts1MIT