Skip to the content
2 layers85 × 40 mmBle beacon, the printed circuit board in 3D

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

1

README

README.md

BLE 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

  1. Sensors on the BLE tag collect motion, humidity, and temperature
  2. Firmware encodes data into BLE advertisements
  3. Raspberry Pi scans and processes the data
  4. Classification pipeline determines garment state
  5. Results are stored locally and exposed via API
  6. 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

bash
cd edge
pip install -r requirements.txt
python pipeline_final.py

3. 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 overview
  • docs/setup_guide.md – installation and setup instructions
  • docs/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
QtyValueFootprintReferences
210uFCapacitor_SMD:C_0805_2012MetricC1, C2
22k2Resistor_SMD:R_0805_2012MetricR1, R2
2LEDLED_SMD:LED_0603_1608MetricD1, D2
2ioConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ5, J6
2jst shConnector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_HorizontalJ3, J8
110uHInductor_SMD:L_Coilcraft_XAL6030-XXXL2
11uFCapacitor_SMD:C_0805_2012MetricC3
1Conn_01x03_SocketConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ1
1LOGOfootprints:bunnyG***
1MDBT42Q-512KRF_Module:Raytac_MDBT42QU1
1SolderJumper_3_Bridged12Jumper:SolderJumper-3_P1.3mm_Bridged12_RoundedPad1.0x1.5mm_NumberLabelsJP1
1batBattery:BatteryHolder_Keystone_1060_1x2032J2
1intConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ7
1swdConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ4

Similar boards

  • 4 layers30 × 40 mmPulsepatch, the printed circuit board in 3D

    Pulsepatch

    suhaant/Amethyst

    Full-Stack Embedded System Wearable

    90 parts1
  • 4 layers66 × 42 mmGas nrf52832, the printed circuit board in 3D

    Gas nrf52832

    bradkim06/gas_nordic

    gas sensing iot device(nrf52832)

    83 partsApache-2.0
  • 4 layersCarbentra presence sensor, the printed circuit board in 3D

    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 mmProbe, the printed circuit board in 3D

    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 mmAdhdv1.00, the printed circuit board in 3D

    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 mmFitLensPCB, the printed circuit board in 3D

    FitLensPCB

    nabudahab/FitLensPCB

    FitLens Senior Design PCB

    107 parts
  • 2 layers74.5 × 34.5 mmBledstripper, the printed circuit board in 3D

    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.