FLUTTER ECOSYSTEM

xtnctx/BFRBSys

손목에 착용하는 장치와 모니터링 시스템은 신체 집중 반복 행동을 가진 사람을 위한 사용자 파일 메모리 관리 시스템을 구현합니다

BFRBSys 프로젝트 이미지
Stars
5
Forks
0
최근 푸시(UTC)
2025. 10. 25.
프로젝트 상태
활성
Ryan Christopher Bahillo GitHub avatar
GITHUB User

Ryan Christopher Bahillo ↗

@ryan-one-second @qducky-123

One SecondIncheon, South Korea
언어DartCC++JavaScriptPythonHTMLCSSCMakeJavaSwiftShellObjective-CKotlin

기술 주제

관련 패키지 및 예제

앱 카테고리

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

README 펼치기 / 접기

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.

https://github.com/user-attachments/assets/901ff85a-3107-4638-b206-344b27f8ff6d


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.

https://github.com/user-attachments/assets/8c44bf6d-42c8-4d04-84c7-fbcc54fde104


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.

https://github.com/user-attachments/assets/854de24f-7be4-4dee-a14c-a28b166f9861


Wearable Device

https://github.com/user-attachments/assets/de60b270-b047-4fb0-8bff-7942f879fb32


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.

https://github.com/user-attachments/assets/570126fd-c0bc-474d-8f4c-320b08da19b1