

BLE Garment Monitoring System is a research prototype that uses a custom BLE tag, a Raspberry Pi room scanner, and a mobile app to detect simple garment usage states (stored, worn, wet) and summarize wears and washes.
- Size
- 85 × 40 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 19
- Nets
- 42
- Pads
- 91
- Tracks, vias
- 146, 176
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 5 Apr 2026
- Updated
- 5 May 2026
Overview
Ble beacon is an open-source printed circuit board by Shwetha-org, from the Shwetha-org/BLE-Garment-Monitoring-System repository on GitHub. It is a 2-layer board of 85 × 40 mm with 19 parts on 42 nets, routed with 146 tracks and 176 vias.
It is built around the MDBT42Q-512KV2. Its parts include 8 connectors, 3 capacitors, 2 resistors, 2 diodes and 1 IC. It belongs with the radio and wireless boards and the nRF52 and nRF5x boards of this library.
Main components
1README
README.mdBLE Garment Monitoring System
Overview
This project presents an end-to-end system for monitoring garment usage using a custom Bluetooth Low Energy (BLE) tag, edge processing, and a mobile application.
The system tracks garment states such as worn, stored, and washed by analyzing sensor data broadcast from a custom BLE-enabled garment tag.
Custom BLE Garment Tag
Custom BLE garment tag with integrated motion (BMI270) and humidity (SHTC3) sensors, powered by a CR2032 coin cell.
System Architecture
The system consists of four main components:
1. Hardware (hardware/garment_tag/)
-
Custom PCB design (KiCad)
-
BLE module (nRF52832 – Raytac MDBT42Q)
-
Sensors:
- BMI270 (motion / acceleration)
- SHTC3 (humidity and temperature)
-
Assembly and manufacturing files
2. Firmware (firmware/garment_tag/)
- Zephyr-based firmware for the BLE tag
- Reads sensor data and encodes it into BLE advertisement payloads
- Broadcasts data continuously
3. Edge Node (edge/)
- Runs on Raspberry Pi
- Scans BLE advertisements using Python and Bleak
- Processes data using filtering and aggregation
- Classifies garment states (worn / stored / washed)
- Stores data in SQLite database
- Exposes REST API (
/summary) using Flask
4. Android Application (android_app/garment_tracker_app/)
-
Built with Kotlin and Jetpack Compose
-
Connects to edge node API
-
Displays:
- Current garment state
- Wear count
- Wash count
-
Includes privacy controls and live updates
Data Flow
- Sensors on the BLE tag collect motion, humidity, and temperature
- Firmware encodes data into BLE advertisements
- Raspberry Pi scans and processes the data
- Classification pipeline determines garment state
- Results are stored locally and exposed via API
- Android app fetches and displays usage summaries
BLE Payload Structure
The edge node expects manufacturer-specific data in the following format:
- Byte 0 → motion (0 or 1)
- Byte 1 → humidity (%)
- Byte 2 → temperature offset (temp + 40)
Manufacturer ID: 1027
Getting Started
1. Hardware
- Assemble the custom BLE tag
- Flash firmware onto the nRF52832
2. Edge Node
cd edge
pip install -r requirements.txt
python pipeline_final.py3. Android App
- Open
android_app/garment_tracker_app/in Android Studio - Update Raspberry Pi IP in the code
- Run the application
Requirements
- Raspberry Pi with Bluetooth
- Custom BLE garment tag
- Android device
- Python 3.x
Notes
- The system operates on a local network
- The Android app requires the Raspberry Pi API to be running
- BLE payload structure must match firmware and edge logic
Documentation
Detailed documentation is available in:
docs/architecture.md– system design and component overviewdocs/setup_guide.md– installation and setup instructionsdocs/User_Manual.pdf– how to use the system (end-user guide)
Project Scope
This project focuses on:
- Edge-based processing (no cloud dependency)
- Privacy-preserving garment tracking
- Lightweight BLE-based sensing
License
This project is developed for academic purposes.
Parts
19| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | 10uF | Capacitor_SMD:C_0805_2012Metric | C1, C2 |
| 2 | 2k2 | Resistor_SMD:R_0805_2012Metric | R1, R2 |
| 2 | LED | LED_SMD:LED_0603_1608Metric | D1, D2 |
| 2 | io | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J5, J6 |
| 2 | jst sh | Connector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal | J3, J8 |
| 1 | 10uH | Inductor_SMD:L_Coilcraft_XAL6030-XXX | L2 |
| 1 | 1uF | Capacitor_SMD:C_0805_2012Metric | C3 |
| 1 | Conn_01x03_Socket | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J1 |
| 1 | LOGO | footprints:bunny | G*** |
| 1 | MDBT42Q-512K | RF_Module:Raytac_MDBT42Q | U1 |
| 1 | SolderJumper_3_Bridged12 | Jumper:SolderJumper-3_P1.3mm_Bridged12_RoundedPad1.0x1.5mm_NumberLabels | JP1 |
| 1 | bat | Battery:BatteryHolder_Keystone_1060_1x2032 | J2 |
| 1 | int | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J7 |
| 1 | swd | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J4 |
Similar boards
- 4 layers30 × 40 mm

- 4 layers66 × 42 mm

- 2 layers

- 4 layers

Carbentra presence sensor
hicancan/carbentra-presence-sensor
CARBENTRA Sense B: wired radar presence sensor, native hardware and authenticated firmware
35 partsAGPL-3.0 - 2 layers40.7 × 52.1 mm

Probe
JamieG/temp-sensor
A wireless temperature monitoring system: small battery-powered probes broadcast temperature, humidity, and battery level over BLE, and a Wi-Fi-connected hub collects those readings and uploads them to a webhook.
11 parts - 2 layers60.1 × 60 mm

Adhdv1.00
Maxwell-Khor/adhd-medication-reminder
Custom embedded medication reminder device with PCB design and firmware development for improving medication adherence
82 parts - 4 layers110 × 30.5 mm

- 2 layers74.5 × 34.5 mm

Bledstripper
reelyactive/bledstripper-grove
Bluetooth Low Energy LED strip controller circuit board with standard Grove connectors. We believe in an open Internet of Things.
30 partsMIT
Questions
How big is the Ble beacon PCB?
It measures 85 × 40 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Ble beacon use?
19 parts, built around the MDBT42Q-512KV2. 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 Ble beacon KiCad files?
From the Shwetha-org/BLE-Garment-Monitoring-System repository on GitHub, at the commit this page was made from: the board is hardware/garment_tag/kicad/ble beacon.kicad_pcb and its schematic hardware/garment_tag/kicad/ble beacon.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Ble beacon design in my own project?
Its repository states no licence, so its author keeps all rights: ask Shwetha-org before reusing the design.