

Window sensor
BLE window sensor — nRF54L10 + BTHome v2 for Home Assistant
- Size
- 49.7 × 14.5 mm
- Copper layers
- 4
- Thickness
- 0.8 mm
- Parts
- 26
- Nets
- 64
- Pads
- 166
- Tracks, vias
- 190, 125
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 1 Jun 2026
- Updated
- 30 Oct 2026
Overview
Window sensor is an open-source printed circuit board by usimd, from the usimd/window-sensor repository on GitHub. It is a 4-layer board of 49.7 × 14.5 mm with 26 parts on 64 nets, routed with 190 tracks and 125 vias.
It is built around the NORA-B216-00B, LIS2DTW12TR-MS and SC32S-7PF20PPM. Its parts include 11 capacitors, 4 resistors, 4 ICs, 2 diodes and 1 connector. It belongs with the sensors and measurement and radio and wireless boards of this library.
Main components
3NORA-B216-00B
SMDSMD Bluetooth Modules ROHSu-bloxBluetooth ModulesLIS2DTW12TR-MS
LGA-12(2x2)-40℃~+85℃ 1.71V~3.6V 12bit 2uA Accelerometer SPI、I2C X,Y,Z ±16g LGA-12(2x2) Accelerometers ROHSMSKSEMIAccelerometersSC32S-7PF20PPM
SMD3215-2P-40℃~+85℃ 32.768kHz 70kΩ 7pF Crystal Oscillator ±20ppm SMD3215-2P Crystals ROHSSeikoCrystals
README
README.mdBLE window sensor for Homeassistant
BLE window/door sensor built around the u-blox NORA-B226 (nRF54L10). Broadcasts open/closed/tilt state via BTHome v2 non-connectable advertising. MCUboot OTA-capable.

Hardware
- MCU: nRF54L10 (Cortex-M33, 1 MiB RRAM, 192 KB RAM) in u-blox NORA-B226-00B module
- Sensor: TMAG5273 3D Hall-effect sensor for contactless magnet detection
- Power: CR14250 (½AA) lithium cell, target multi-year battery life
- Enclosure: 3D-printed case with magnet holder (FreeCAD,
case/)
Firmware
Rust + Embassy async runtime, BLE via nrf-sdc + trouble-host.
- Non-connectable BTHome v2 advertising (open / closed / tilt)
- MCUboot bootloader with ed25519-signed OTA images
- Host-side unit tests for classifier and gesture logic
Repository Structure
| Path | Description |
|---|---|
*.kicad_* | KiCad 10 schematic, PCB, and project files |
lib/ | Local symbol/footprint libraries and 3D models |
firmware/ | Rust firmware (Embassy, BLE, MCUboot support) |
firmware/mcuboot/ | MCUboot config and partition overlay |
case/ | FreeCAD enclosure design and 3MF exports |
scripts/ | BLE scanner and dev utilities |
sim/ | Magnetic simulation data |
Building
# Install toolchain
rustup target add thumbv8m.main-none-eabihf
cargo install just cargo-binutils
# Build, lint, test
just ci
# Flash (requires probe-rs + debug probe)
just runLicense
Dual-licensed: hardware under CERN-OHL-W-2.0, firmware under Apache-2.0. See LICENSE.
AISLER discount
In case you want to build this (or any other) project at AISLER, here's a 10€ discount code for you: MakeInEurope-ZDCTN.
Parts
26| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | 1uF | Capacitor_SMD:C_0402_1005Metric | C7, C10, C11 |
| 2 | 10uF 10V X7R | Capacitor_SMD:C_0805_2012Metric | C5, C6 |
| 2 | 16.9k | Resistor_SMD:R_0402_1005Metric | R1, R2 |
| 2 | 22uF 10V X7R | Capacitor_SMD:C_1206_3216Metric | C3, C4 |
| 2 | 47uF 10V X7R | Capacitor_SMD:C_1210_3225Metric | C1, C2 |
| 1 | 1/2 AA LiSOCl2 3.6V 1200mAh | Battery_0.5AA:Battery_0.5AA_Keystone_557_5331 | BT1 |
| 1 | 10uF | Capacitor_SMD:C_0603_1608Metric | C9 |
| 1 | 160 | Resistor_SMD:R_0603_1608Metric | R4 |
| 1 | 1uF | Capacitor_SMD:C_0603_1608Metric | C8 |
| 1 | 32.768kHz | Crystal:Crystal_SMD_MicroCrystal_CC8V-T1A-2Pin_2.0x1.2mm | Y1 |
| 1 | 60.4 | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | Blue | LED_SMD:LED_0603_1608Metric | D1 |
| 1 | Conn_01x06 | Connector_SpringPins:Conn_01x06_PogoPins_1.27mm | J1 |
| 1 | LIS2DTW12TR | Package_LGA:LGA-12_2x2mm_P0.5mm | U2 |
| 1 | NORA-B216-00B | NORA-B226:NORAB22600B | U1 |
| 1 | Red | LED_SMD:LED_0603_1608Metric | D2 |
| 1 | SHT4x | Sensor_Humidity:Sensirion_DFN-4_1.5x1.5mm_P0.8mm_SHT4x_NoCentralPad | U3 |
| 1 | TMAG5273 | Package_TO_SOT_SMD:SOT-23-6 | U4 |
The 24 most common of 26 parts.
Questions
How big is the Window sensor PCB?
It measures 49.7 × 14.5 mm and has 4 copper layers, 0.8 mm thick.
What parts does the Window sensor use?
26 parts, built around the NORA-B216-00B, LIS2DTW12TR-MS and SC32S-7PF20PPM. 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 Window sensor KiCad files?
From the usimd/window-sensor repository on GitHub, at the commit this page was made from: the board is window-sensor.kicad_pcb and its schematic window-sensor.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Window sensor design in my own project?
Its repository states no licence, so its author keeps all rights: ask usimd before reusing the design.
Similar boards
- 2 layers70 × 70 mm

- 4 layers25.4 × 43.2 mm

Hum hw
tactical-snacks/hum_hw
Hour Utilization Monitor using accelerometer and RTC to track run time
30 partsMIT - 4 layers85 × 56 mm

- 4 layers45.7 × 76.2 mm

Node v5 0 0
VTC-WISDOM/node_hardware
Schematic/PCB designs for WiSDOM nodes, also includes a few other related hardware projects
107 parts2CERN-OHL-W-2.0 - 4 layers45.5 × 19.6 mm

Stm32 bluet pill
brendose/stm32_bluet_pill
This project is a 1.8V STM32WB55 Bluetooth Module with battery charging. The purpose of this project is to provide a development platform for mobile wearable devices.
93 parts1 - 4 layers206.6 × 142 mm

- 2 layers60 × 48 mm

- 4 layers100 × 100 mm
