Nrf52840-macro controller
alex1klimovich·nrf52840-macro-controller·hardware/kicad/MacroController.kicad_pcb
About the Nrf52840-macro controller PCB
Nrf52840-macro controller is an open source Nordic nRF PCB design by alex1klimovich, published on GitHub. It is a 2-layer board measuring 96 × 74 mm, with 72 components from 40 distinct parts.
Its main chip is the MDBT50Q-1MV2, from the Nordic nRF family. Other key parts include the DRV2605LDGS, TP4056-42-ESOP8 and MT3608. By type, the board carries 14 capacitors, 14 resistors, 13 switches, 11 diodes, 8 LEDs and 4 ICs.
It belongs with the iot & wireless, displays & leds and keyboards designs in this gallery.
From the project
Custom nRF52840 productivity controller for digital artists — PCB, BLE/USB firmware, OLED, haptics, RGB, and enclosure CAD.
A custom wireless/wired productivity controller designed for digital artists who repeatedly use keyboard shortcuts, brush controls, tool switching, and other workflow actions.
I designed the PCB, wrote the firmware, brought up the first board, and modeled the enclosure. The current prototype combines an nRF52840 module, eight hot-swap mechanical keys, a rotary encoder, OLED interface, per-key RGB, haptic feedback, battery monitoring, and USB/Bluetooth HID.

Main components on the Nrf52840-macro controller
Nrf52840-macro controller bill of materials (BOM)
72 components, 40 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | DRV2605LDGS | VSSOP-10_3x3mm_P0.5mm | U2 |
| 1 | MDBT50Q-1MV2 | Raytac_MDBT50Q | U3 |
| 1 | TP4056-42-ESOP8 | SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.41x3.3mm_ThermalVias | U5 |
| 1 | MT3608 | SOT-23-6 | U16 |
| 1 | GT-USB-7010ASV USB_C_Receptacle_USB2.0_16P | USB_C_Receptacle_G-Switch_GT-USB-7010ASV | J1 |
| 1 | Conn_01x02_Pin | SolderWire-0.5sqmm_1x02_P4.6mm_D0.9mm_OD2.1mm | J2 |
| 1 | CONN_01X04_PIN Conn_01x04_Pin | PinHeader_1x04_P2.54mm_Vertical | J3 |
| 1 | CONN_01X02 Conn_01x02 | JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J5 |
| 2 | 1206L110/6V Polyfuse | Fuse_1206_3216Metric | F1, F3 |
| 8 | PG1350 Kailh Hotswap Switch | Kailh_socket_PG1350 | SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8 |
| 1 | OS102011MA1QS1 SW_SPDT | SW_Slide_SPDT_Angled_CK_OS102011MA1Q | SW9 |
| 1 | Alps SKRKAEE010 EN | SW_Push_SPST_NO_Alps_SKRK | SW10 |
| 1 | RotaryEncoder_Switch | RotaryEncoder_EC11 | SW11 |
| 2 | SW_Push | SW_PUSH_6mm_H4.3mm | SW12, SW13 |
| 8 | SK6812MINI-E | LED_6028R | LED1, LED2, LED3, LED4, LED5, LED6, LED7, LED8 |
| 1 | DSS34 SS34 | D_SOD-123 | D1 |
| 1 | SS34 | D_SOD-123 | D3 |
| 8 | 1N4148WT | D_SOD-323 | D4, D5, D6, D7, D8, D9, D10, D11 |
| 1 | PESD5V0L4UG | SOT-353_SC-70-5 | D12 |
| 1 | BLM21PG221SN1D BLM21PG221 | Ferrite_0805_2012Metric | FB1 |
Show 20 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | FNR6045S220MT 22uH 2A | L_Sunlord_SWPA6045S | L2 |
| 1 | CL21B105KOFNNNE 1uF | C_0402_1005Metric | C1 |
| 2 | CL05B104KB54PNC 100nF | C_0402_1005Metric | C2, C15 |
| 1 | CL21B475KAFNNNE 4.7uF | C_0805_2012Metric | C3 |
| 2 | CL31A226KAHNNNE 22uF | C_1206_3216Metric | C4, C8 |
| 1 | CL10A106MA8NRNC 10uF | C_0603_1608Metric | C5 |
| 1 | CL05A105KO5NNNC 100nF | C_0402_1005Metric | C6 |
| 3 | CL05A105KO5NNNC 1uF | C_0402_1005Metric | C7, C11, C20 |
| 1 | CL21A226MAYNNNE 22uF | C_1206_3216Metric | C10 |
| 1 | CL05B103KB5NNNC 10nF | C_0402_1005Metric | C17 |
| 1 | CL10B102KB8NNNC 1nF | C_0603_1608Metric | C18 |
| 3 | AC0402FR-075K1L 5K1 | R_0805_2012Metric | R1, R2, R22 |
| 2 | RC0402FR-07100KL 10K | R_0805_2012Metric | R4, R5 |
| 1 | RC0402FR-071K2L 1K2 | R_0805_2012Metric | R8 |
| 1 | RC0402FR-0710KL 10K | R_0805_2012Metric | R10 |
| 2 | RC0402FR-07100KL 100k 1% | R_1206_3216Metric | R11, R12 |
| 1 | RC0402FR-0737K4L 33K | R_0805_2012Metric | R21 |
| 1 | RC0402FR-07220RL 220R | R_0805_2012Metric | R23 |
| 1 | RC0603JR-071ML 1M | R_0805_2012Metric | R24 |
| 2 | RC0402JR-074K7L 4K7 | R_0805_2012Metric | R29, R30 |
Nrf52840-macro controller design files
The KiCad project lives in the alex1klimovich/nrf52840-macro-controller repository on GitHub; these links point at the commit this page was built from.
Nrf52840-macro controller: common questions
What microcontroller does the Nrf52840-macro controller use?
The Nrf52840-macro controller is built around the MDBT50Q-1MV2, from the Nordic nRF family.
How big is the Nrf52840-macro controller PCB?
The Nrf52840-macro controller measures 96 × 74 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the Nrf52840-macro controller?
72 components, from 40 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.
Where can I download the Nrf52840-macro controller design files?
From the alex1klimovich/nrf52840-macro-controller repository on GitHub, which has the KiCad layout, the schematic and the BOM; the links under Design files point to each one.
Can I use the Nrf52840-macro controller design in my own project?
The repository has no license, so all rights stay with alex1klimovich. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the Nrf52840-macro controller without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug Nordic nRF firmware against it before you order a PCB.
Similar boards
Nordic nRF
TOTEM
GEIGEIGEIST
258.8 × 94.4 mm85 parts2LCERN-OHL-P-2.02.0kNordic nRF
Pixl.js
solosky
40 × 23 mm45 parts4LGPL-2.01.4kNordic nRF
Board
dennisss
363 × 128 mm420 parts4LApache-2.0381Nordic nRF
Management
dennisss
101 × 31.5 mm50 parts2LApache-2.0381Nordic nRF
Board hl15-latest
dennisss
61 × 37 mm14 parts2LApache-2.0381Nordic nRF
Mikoto
zhiayang
18 × 33.3 mm53 parts4LApache-2.0355