Skip to the content
PCBKitNew board
2 layers93.5 × 74.5 mmBattery sensor, the printed circuit board in 3D

PCB shared between several wireless sensors based on NRF52840 and powered by 18650 batteries

Size
93.5 × 74.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
22
Nets
28
Pads
110
Tracks, vias
260, 0
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
13 Jun 2026
Updated
4 Aug 2026

Overview

Battery sensor is an open-source printed circuit board by David-EIPI, from the David-EIPI/battery-sensor-nrf52840 repository on GitHub, published under the BSD-2-Clause licence. It is a 2-layer board of 93.5 × 74.5 mm with 22 parts on 28 nets, routed with 260 tracks and 0 vias.

Its parts include 10 connectors, 2 resistors, 1 capacitor, 1 IC and 1 switch. It belongs with the sensors and measurement and power boards and the AVR (ATmega, ATtiny) boards of this library.

README

README.md

nRF52840 battery-sensor carrier board

This repository contains a reusable carrier board for battery-powered wireless sensors based on an nRF52840 Pro Micro-style module. It provides space for three 18650 cells, labelled sensor headers, a reset button, SWD programming access, and mounting features for a compact ventilated enclosure. Possible applications include air-quality, environmental, and presence sensors that report to Home Assistant through suitable firmware and a supported wireless protocol.

The PCB is designed for the widely available nominal 100 × 80 × 30 mm ventilated plastic enclosure sold by various AliExpress, Amazon, and eBay vendors.

Assembled carrier board, top view

nRF52840 module

The carrier was designed around the Tenstar Robot ProMicro nRF52840. Although this module resembles the nice!nano, the locations of its extra P1.01, P1.02, and P1.07 pads and its bottom-side SWD pads differ. Check the footprint and pinout carefully before substituting another Pro Micro-style nRF52840 board.

The module's GPIO pins are brought out to 2.54 mm (0.1 inch) headers. The headers also provide ground and either the module's VCC rail or the raw battery rail (+BATT), as marked on the silkscreen. VCC is the module's regulated output; its voltage, current limit, and any software-controlled power switching depend on the particular module fitted (Tenstar module that I have uses 0.5A regulator). The carrier board does not contain its own 3.3 V regulator or load switch.

Connector pinout

Pin numbers below run from pin 1 to the last pin of each connector and match the schematic and the square pin-1 pads on the PCB.

ConnectorPinout
J1GND, VCC, P0.08, P0.09, P0.10, P0.02, GND, VCC
J2GND, VCC, P1.11, P1.13, P1.15, P0.29, GND, VCC
J3GND, +BATT, P1.01, P1.02, P1.07, P0.31
J4GND, +BATT, P1.00, P0.22, P0.20, P0.17, GND, +BATT
J5GND, VCC, P1.06, P1.04, P0.11, P0.24, GND, VCC
J6GND, P0.06
J7+BATT
J8GND
J10GND, SWDIO, SWDCLK

Not every GPIO is an analog input. Consult the nRF52840 datasheet and the fitted module's documentation before assigning sensor signals. The module's RAW pin is not connected on this carrier.

The side-facing push button connects RST to ground. With a compatible UF2/Adafruit-style bootloader installed, a double press normally enters bootloader mode; exact behavior depends on the installed firmware.

SWD programming and module assembly

The module can normally be updated over USB when its bootloader is working. Hardware debugging and recovery of a damaged or erased bootloader require an SWD probe such as a J-Link.

The module's SWDIO and SWDCLK contacts are small pads on its underside. J9 provides two larger landing pads connected to J10. Short jumper wires must be soldered from the module's underside SWD pads to the corresponding J9 pads; J10 then exposes GND, SWDIO, and SWDCLK on a standard 2.54 mm header.

Jumper wires from the module SWD pads to J9

The module is mounted by aligning it with the carrier footprint and soldering through-pins through both boards. Leaving the pins protruding above the module provides convenient test points during development.

Module mounting and protruding test pins, bottom view

Battery supply and monitoring

The board holds three 18650 lithium-ion cells wired directly in parallel, forming a 1S3P pack. The pack is connected to the module's B+ and B- inputs and is also available on the +BATT headers. The carrier includes no cell-protection, balancing, reverse-polarity, or overcurrent circuitry. USB charging is available only if the fitted module includes a suitable single-cell charger.

Lithium-ion safety: use three identical, healthy cells of the same model, age, capacity, and state of charge. Verify that their voltages are closely matched before installing them in parallel. Observe the marked polarity. Do not rely on this experimental contact arrangement for high-current or unattended applications.

Battery voltage is monitored on P0.31 through a voltage divider (1 MΩ/2 MΩ suggested), so the ADC input is nominally two-thirds of the pack voltage. A 1 µF capacitor is recommended to filter the reading. Firmware must account for the divider ratio, ADC reference, and resistor tolerance when converting the reading to volts.

Cell contacts

Standard 18650 holders are generally too long for the enclosure's approximately 74–75 mm internal width. This design instead uses PCB-mounted 6.3 mm blade-tab solder terminals and secures the cells through the PCB slots with cable ties or hook-and-loop straps. The prototype uses TE Connectivity FASTON 250-series PCB tabs with stabilizers; compatible parts are also sold as “6.3 mm lug solder terminals with positioning.” Confirm the exact terminal dimensions against the footprint before ordering.

6.3 mm blade-tab terminals

The terminals on the prototype were bent slightly before soldering to improve contact with the ends of the cells. This cell holder is obviosly not intended for high-current applications, but for typical small sensor consumption of less than 0.5A it should suffice.

PCB and enclosure

The two-layer PCB is approximately 93.5 × 74.5 mm and 1.6 mm thick. It has four 3.5 mm mounting holes and 3 slots for securing the cells. The design targets the common ventilated enclosure advertised as 100 × 80 × 30 mm; similar products may also be listed as 100 × 80 × 28 mm or 100 × 80 × 29 mm.

The enclosure has ventilation grilles on two sides, which are useful for environmental sensors. A small opening near the mounting plate aligns with the module's USB-C connector for charging and firmware updates on the prototype enclosure.

Ventilated enclosure

Design and manufacturing files

The project was created with KiCad 10. The repository contains the editable schematic (battery-sensor.kicad_sch), PCB layout (battery-sensor.kicad_pcb), project settings (battery-sensor.kicad_pro), and Gerber and drill files in gerbers/.

License

This project is released under the BSD 2-Clause License; see LICENSE.

Parts

22
QtyValueFootprintReferences
4MountingHoleMountingHole:MountingHole_3.5mmH1, H2, H3, H4
3Battery_Cellmy_power:18650-edge-pinsBT1, BT2, BT3
3Conn_01x02_PinConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ6, J7, J8
3Conn_01x06_PinConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ1, J2, J5
11MResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1
11uFCapacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolderC1
12MResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR2
1Conn_01x02_PinResistor_SMD:R_1206_3216MetricJ9
1Conn_01x03_PinConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ10
1Conn_01x06_PinConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJ3
1Conn_01x08_PinConnector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_VerticalJ4
1ProMicromy_rfmodule:ProMicro NRF52840U1
1ResetButton_Switch_THT:SW_Tactile_SPST_Angled_PTS645Vx39-2LFSSW1

Questions

How big is the Battery sensor PCB?

It measures 93.5 × 74.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Battery sensor use?

22 parts. 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 Battery sensor KiCad files?

From the David-EIPI/battery-sensor-nrf52840 repository on GitHub, at the commit this page was made from: the board is battery-sensor.kicad_pcb and its schematic battery-sensor.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Battery sensor design in my own project?

Its repository publishes it under the BSD-2-Clause 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

  • 2 layers158 × 11 mmDaylight Matchstick, the printed circuit board in 3D

    Daylight Matchstick

    VoronDesign/Voron-Hardware

    Cool Hardware designed by the Voron Design group

    22 parts1.1kGPL-3.0
  • 2 layers57 × 65 mmRgb to hdmi, the printed circuit board in 3D

    Rgb to hdmi

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    22 parts1kGPL-3.0
  • 2 layers81 × 57.2 mmRP2040-Macropad, the printed circuit board in 3D

    RP2040-Macropad

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    22 parts915
  • 2 layers54.6 × 70.9 mmBeagleLogic Cape, the printed circuit board in 3D

    BeagleLogic Cape

    abhishek-kakkar/BeagleLogic

    A Software Suite that implements a logic analyzer with the PRU on the BeagleBone / BeagleBone Black.

    22 parts479GPL-3.0
  • 2 layers66.4 × 24.5 mmConnecting piece, the printed circuit board in 3D

    Connecting piece

    Chrismettal/flipper-zero-backpacks

    Backpack-style addon boards for the Flipper Zero!

    22 parts456
  • 2 layers51 × 70 mmDMG A04-01, the printed circuit board in 3D

    DMG A04-01

    HDR/NintendoPCBs

    Replacement pcb's for Nintendo games.

    22 parts321
  • 2 layers27.8 × 16 mmSpi 1v8 level shifter, the printed circuit board in 3D

    Spi 1v8 level shifter

    CRImier/MyKiCad

    My KiCad boards. Can't be bothered uploading individually anymore, so here you go.

    22 parts253GPL-3.0