/BFRBSys

A wrist-worn device and monitoring system implements user-file-memory management system for a person with Body-focused Repetitive Behavior

Primary LanguageDartApache License 2.0Apache-2.0

BFRBSys version 2.1.0

Build Status Platform Version License Repo Size Docs

What is Body-Focused Repetitive Behavior (BFRB)?

These are repetitive self-grooming behaviors where an individual damages their appearance or causes physical harm, often as a coping mechanism for stress or anxiety. Common examples includes:

  • Hair pulling (trichotillomania)
  • Nail biting (onychophagia).
  • Skin picking (dermatillomania)

System Overview

It comprises three (3) main components necessary for its operation: the wearable device, mobile application, and web server.

The wearable device is the main component that classifies the anticipatory behavior of the user. The microcontroller used is the Arduino Nano 33 BLE Sense, the wearable needs to connect to the web server to access the file of the user.

However, this microcontroller only supports Bluetooth Low Energy (BLE) and does not support connecting via the internet. Therefore, the I used a bridge to support connection to the server through a mobile application connecting via BLE.

To maintain communication without relying on a physical server, I have integrated the server into the cloud. This allows users to effectively utilize the system over the internet.


Software 🔥

The design for building the mobile application is shown. I carefully considered the simplicity of the mobile application for user experience. The system views or the pages serve as the frontend that divides its individual functions for the application.

Accounts management, file management, and other API workflow are done in the backend. These workflows effectively reduce the complexity of the user interface making it easier to use. The mobile application also has its limitations for creating machine learning components.

Therefore, I used a server to connect the application and access the database using the Hypertext Transfer Protocol (HTTP) services.


Device Specifications

BLE DISTANCE (FEET) BATTERY CAPACITANCE (mAh) BATTERY LOAD CURRENT (mA) FILE TRANSFER SPEED (BYTE/S)
67 1000 30 380

Schematic Diagram of the Wearable

The primary tasks of the microcontroller include enabling the functionality of other components, establishing connections via BLE, and performing calculations based on sensor readings.

The sensors used include the accelerometer and gyroscope of the LSM9DS1 inertial measurement unit (IMU) sensor, the VL53L0X time-of-flight (ToF) distance sensor, and the MLX90614 infrared (IR) temperature sensor, which are crucial for detecting user’s anticipating behavior.

The data are then used to classify anticipating behavior and use this as a signal to operate the vibration and passive buzzer.


Wearable Device


Mobile Application

The purpose of this app is to get input values from the wearable and train it using the Feedforward Neural Network on the web then sends the machine learning model file contents through BLE. User can also see their improvements weekly or monthly.


Documents 📄