Skip to the content
PCBKitNew board
4 layers26 × 26.9 mmTapt, the printed circuit board in 3D

just a button

Size
26 × 26.9 mm
Copper layers
4
Thickness
1.6 mm
Parts
37
Nets
37
Pads
124
Tracks, vias
184, 109
Pours
6
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
5 Jan 2026
Updated
28 Apr 2026

Overview

Tapt is an open-source printed circuit board by grimsteel, from the grimsteel/tapt repository on GitHub, published under the GPL-3.0 licence. It is a 4-layer board of 26 × 26.9 mm with 37 parts on 37 nets, routed with 184 tracks and 109 vias.

It is built around the WS2812B. Its parts include 15 capacitors, 5 inductors, 4 resistors, 2 diodes and 2 connectors. It belongs with the nRF52 and nRF5x boards of this library.

Main components

1

README

README.md

tapt

just a button

tapt is a BLE-powered IoT button. It uses an nRF52810 and can be powered for long periods of time on a single CR2032 battery.

It can be connected to Home Assistant and hooked up to automations from there.

Usage

Note: do NOT connect the battery when the board is powered on the debug header.

Assembly

  1. The 5 pin debug header must be soldered on for flashing
  2. The battery holder can be soldered onto the back
  3. The WS2812B and the UART are optional. Both of these will cause more battery drain.
  4. The PCB can be screwed into the base of the case. The button cap locks into the case.

Flashing

Note: An nRF-SDK environment is required. This is a freestanding project

  1. Customize the device ID and board name if needed in prj.conf

  2. Build the firmware:

    sh
    west build -b tapt -- -DBOARD_ROOT=.
  3. Flash the nRF over SWD, using the SWD header on the board. The pins are labeled on the bottom.

    Firmware is included in the ./firmware directory.

  4. Profit. The button should be autodiscovered in Home Assistant, where it will expose a button entity.

Purpose

I made this because I wanted a large button for controlling random automations.

I also wanted to learn more about RF PCB design, and the nRF chip was a great place to start.

Schematic + PCB

schematic

F.CuIn1.CuIn2.CuB.Cu
pcbpcbpcbpcb

Case

Apart from the PCB, tapt just has two components: the base and the button.

cad render antother cad render

The PCB is screwed into the base, and the button sits inside the base. When pressed down, it presses the limit switch.

Onshape link

Bill of Materials

BOM CSV

If the price is 0, I have the component already (basically everything except the PCB/PCBA). I added links for reference, though

DescriptionPart IDLinkPer-unit priceBoard QuantityTotal QuantityExtended?Total PriceRunning Price w/ Tax
2.4 GHz Chip AntennaC89334https://jlcpcb.com/partdetail/C89334$0.6215TRUE$6.1630$6.69
100nF CapacitorC1525https://jlcpcb.com/partdetail/C1525$0.0048FALSE$0.0104$6.70
0.8pF CapacitorC88902https://jlcpcb.com/partdetail/C88902$0.04120TRUE$3.7420$10.76
1.0pF CapacitorC1550https://jlcpcb.com/partdetail/C1550$0.00120FALSE$0.0240$10.79
100pF CapacitorC1546https://jlcpcb.com/partdetail/C1546$0.0012FALSE$0.0024$10.79
1uF CapacitorC28323https://jlcpcb.com/partdetail/C28323$0.0112FALSE$0.0254$10.82
12pF CapacitorC1547https://jlcpcb.com/partdetail/C1547$0.0048FALSE$0.0096$10.83
4.7uF CapacitorC19666https://jlcpcb.com/partdetail/C19666$0.0112FALSE$0.0206$10.85
Green LEDC2297https://jlcpcb.com/partdetail/C2297$0.0212FALSE$0.0314$10.88
3.9nH InductorC14033https://jlcpcb.com/partdetail/C14033$0.00220FALSE$0.0800$10.97
10uH InductorC86083https://jlcpcb.com/partdetail/C86083$0.0516TRUE$3.3412$14.60
15nH InductorC27143https://jlcpcb.com/partdetail/C27143$0.05120FALSE$1.0200$15.71
2.7nH InductorC27123https://jlcpcb.com/partdetail/C27123$0.00120TRUE$3.1360$19.12
1k ResistorC11702https://jlcpcb.com/partdetail/C11702$0.0012FALSE$0.0014$19.12
100k ResistorC25741https://jlcpcb.com/partdetail/C25741$0.0012FALSE$0.0016$19.12
1M ResistorC26083https://jlcpcb.com/partdetail/C26083$0.0024FALSE$0.0032$19.12
SW_SPST ButtonC720477https://jlcpcb.com/partdetail/C720477$0.0512FALSE$0.1082$19.24
nRF52810-QCxxC519278https://jlcpcb.com/partdetail/C519278$2.9912TRUE$9.0228$29.04
32MHz CrystalC2965582https://jlcpcb.com/partdetail/C2965582$0.0716TRUE$3.4606$32.80
32.768kHz CrystalC97603https://jlcpcb.com/partdetail/C97603$0.2415TRUE$4.2365$37.40
PCB$1.002$2.00$39.57
PCBA Fees$11.551$11.55$52.12
PCB Shipping$3.121$3.12$55.51
Case3d-printed$0.001$0.00$55.51
M3 Heatsethttps://www.aliexpress.us/item/3256802711669116.html$0.002$0.00$55.51
M3 Screw x 8mmhttps://www.aliexpress.us/item/2255801013414226.html$0.002$0.00$55.51
SPDT Limit Switchhttps://www.aliexpress.us/item/2255800451734482.html$0.001$0.00$55.51
2.54mm Pin Header 1x05https://www.aliexpress.us/item/3256806247917356.html$0.001$0.00$55.51
CR2032 Holderhttps://www.aliexpress.us/item/3256810117671035.html$0.001$0.00$55.51

Parts

37
QtyValueFootprintReferences
4100nFCapacitor_SMD:C_0402_1005MetricC1, C2, C6, C15
412pFCapacitor_SMD:C_0402_1005MetricC11, C12, C13, C16
21MResistor_SMD:R_0402_1005MetricR5, R6
23.9nHInductor_SMD:L_0402_1005MetricL1, L5
2MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2
2N.C.Capacitor_SMD:C_0402_1005MetricC7, C10
10.8pFCapacitor_SMD:C_0402_1005MetricC3
11.0pFCapacitor_SMD:C_0402_1005MetricC4
1100kResistor_SMD:R_0402_1005MetricR4
1100pFCapacitor_SMD:C_0402_1005MetricC8
110uHInductor_SMD:L_0603_1608MetricL2
115nHInductor_SMD:L_0402_1005MetricL3
11kResistor_SMD:R_0402_1005MetricR3
11uFCapacitor_SMD:C_0805_2012MetricC9
12.7nHInductor_SMD:L_0402_1005MetricL4
132.768kHzCrystal:Crystal_SMD_2012-2Pin_2.0x1.2mmY2
132MHzCrystal:Crystal_SMD_2016-4Pin_2.0x1.6mmY1
14.7uFCapacitor_SMD:C_0603_1608MetricC14
1Antenna_ChipInductor_SMD:L_1206_3216MetricAE1
1Battery_CellConnector_Wire:SolderWire-0.5sqmm_1x02_P4.6mm_D0.9mm_OD2.1mmBT1
1Conn_01x04_MountingPinConnector_JST:JST_SH_BM04B-SRSS-TB_1x04-1MP_P1.00mm_VerticalJ2
1Conn_01x05_PinConnector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_VerticalJ1
1LEDLED_SMD:LED_0805_2012MetricD2
1SW_SPDT_LIMITButton_Switch_THT:SW_XKB_DM1-16UP-1SW1
1SW_SPSTButton_Switch_SMD:SW_SPST_TS-1088-xR020SW2
1WS2812BLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD1
1nRF52810-QCxxPackage_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.6x3.6mmU1

Questions

How big is the Tapt PCB?

It measures 26 × 26.9 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Tapt use?

37 parts, built around the WS2812B. 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 Tapt KiCad files?

From the grimsteel/tapt repository on GitHub, at the commit this page was made from: the board is pcb/tapt.kicad_pcb and its schematic pcb/tapt.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Tapt design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers99 × 53.3 mmPSLab, the printed circuit board in 3D

    PSLab

    fossasia/pslab-hardware

    PSLab Hardware Design and Schematics https://pslab.io

    199 parts1.7kApache-2.0
  • 2 layers26 × 30 mmMicrocontroller, the printed circuit board in 3D

    Microcontroller

    FrameworkComputer/ExpansionCards

    Reference designs and documentation to create Expansion Cards for the Framework Laptop

    34 parts1.1kCC-BY-4.0
  • 4 layers82.6 × 82.5 mmJumperless2, the printed circuit board in 3D

    Jumperless2

    Architeuthis-Flux/Jumperless

    A jumperless breadboard

    208 parts914
  • 2 layers95.3 × 161.9 mmDfh badge, the printed circuit board in 3D

    Dfh badge

    tanaes/whopping_Voron_mods

    135 parts787GPL-3.0
  • 2 layers42.8 × 28.8 mmMM Skirt, the printed circuit board in 3D

    MM Skirt

    PrintersForAnts/Micron

    If you want to purchase full kits there are 3 available (Kits are slowly updating to R1 hardware just make sure to double check the included hardware in your kit and if you have any questions reach out in the discord)

    11 parts741GPL-3.0
  • 2 layers149.6 × 127.1 mmErgodash, the printed circuit board in 3D

    Ergodash

    omkbd/ErgoDash

    keyboard

    187 parts732MIT
  • 2 layers285.5 × 95 mmReviung46 ver1 1, the printed circuit board in 3D

    Reviung46 ver1 1

    gtips/reviung

    The REVIUNG41 is 41-key column staggered keyboard.

    119 parts517MIT
  • 2 layers177.7 × 144.5 mmCOMM PANEL, the printed circuit board in 3D

    COMM PANEL

    jrsteensen/OpenHornet

    OpenHornet 1:1 F/A-18C Simulator Repository

    275 parts431