Implementation of a Wrist-Worn Wireless Sensor System with Machine Learning-Based Classification for Indoor Human Tracking
Abstract
1. Introduction
- First, we implement a wrist-worn wireless sensor system for human tracking using the XBee3 micro board supporting Zigbee/IEEE 802.15.4 standards combined with the GY-521 sensor (MPU-6050), a low-cost and energy-efficient 6-DOF IMU. The system with a proposed communication protocol comprises one transmitter unit (i.e., a prototype wrist-worn wearable device) and one receiver unit functioning as a base station. Importantly, this system does not require reference nodes for target tracking, like several systems presented in the literature. Printed circuit boards (PCBs) were designed and manufactured, along with 3D-printed cases, resulting in a compact, lightweight, and practically usable wearable device. The system also features a graphical user interface (GUI) application developed in Python (version 3.12.1) for real-time data collection and display.
- Second, a machine learning framework for human zone classification is proposed, where data fusion among RSSI, 3-axis acceleration data, and 3-axis angular velocity data regarding the effects of different feature sets and window sizes are considered for investigation. An evaluation of 33 classification models is explored under two distinct scenarios: a static scenario (stationary subject) and a dynamic scenario (moving subject), enabling comparative assessment of system performance under different usage conditions.
- Third, experiments are conducted in a two-story residential building environment covering three zones (i.e., staircase area, living room, and dining room), as a real-world scenario. The system exhibits high wireless communication reliability and can efficiently monitor signals in real time, where the classification accuracy reaches nearly 100%. Thus, our system has the potential for further development toward indoor monitoring applications.
2. Hardware Design and Graphical User Interface (GUI)
2.1. Hardware Design
2.2. Graphical User Interface (GUI)
- Number ➀, communication settings panel: The COM port (automatically detects available ports) baud rate values of 1200, 2400, 4800, 9600, 19,200, 38,400, 57,600, 115,200 (default value), 230,400, 460,800, and 921,600 bps; transmit power (Tx power) with options of −5 dBm, −1 dBm, +2 dBm, +5 dBm, and +8 dBm; sampling rate in milliseconds; and number of data packets are available for setting.
- Number ➁, data display selection panel: Users can select data to display through checkboxes, including acceleration values in the x, y, and z axes (Ax, Ay, and Az), angular velocity values in the x, y, and z axes (Gx, Gy, and Gz), and RSSI value. This selection affects real-time graph display, with default selections of Ax, Ay, Az, Gx, Gy, and Gz.
- Number ➂, connection control button: The “Connect” button is for connecting to sensor nodes, and the “Disconnect” button is used for canceling the connection. These buttons allow users to conveniently control connection status, with a sound notification when connection is successful.
- Number ➃, real-time graph display: The application uses a tab system displaying two main graph sections. The first tab, named “Acceleration & Angular Velocity” consists of dual graphs, with the left graph showing acceleration data in g units, display range −2 to 2 g, while the right graph shows angular velocity data in °/s (degrees per second) units, display range −300 to 300°/s. The second tab, named “RSSI” displays a signal strength graph in dBm units, with a display range of −90 to −10 dBm. The x-axis of all graphs shows the number of data samples (samples).
- Number ➄, log data display: This is located at the bottom of the application, displaying received data in real time.
- Number ➅, data management button: The “Export as CSV” button is for exporting collected data in CSV file format, which is important for data analysis and machine learning model training.
3. Experiments and Machine Learning Application
3.1. Experiments and Data Collection
3.1.1. Wireless Communication Protocol
3.1.2. Experimental Scenario 1: Static Scenario
- Zone 1 stairway: 17 data collection points (Z11–Z117) covering all 16 stair steps;
- Zone 2 living room: 31 data collection points (Z21–Z231) distributed throughout the area;
- Zone 3 dining room: 20 data collection points (Z31–Z320) covering the main usage area.
3.1.3. Experimental Scenario 2: Dynamic Scenario
3.2. Machine Learning Application
3.2.1. Feature Extraction and Data Preparation for Testing
- Feature Extraction of RSSI Data:
- Basic features: Maximum, minimum, and mean values provide information about signal boundaries and central tendency. Maximum and minimum values show signal limits, while the mean shows the central tendency of the data.
- Distribution features: Standard deviation (SD) and range help identify signal variance at each position.
- Robust statistics features: Median, interquartile range (IQR), and percentiles (10th, 25th, 75th, and 90th percentiles) help reduce the effects of noise and outliers.
- Feature Extraction of Acceleration Data:
- Feature Extraction of Gyroscope Data:
- Data Preparation for Testing:
- Group 1 (RSSI_F): Raw RSSI and RSSI features, totaling 12 features (1 raw RSSI + 11 statistical features).Group 2 (RSSI_F+A+G): Combined features, totaling 18 features, consisting of 12 features from group 1, 3 features from raw acceleration data (ax, ay, and az), and 3 features from raw gyroscope data (gx, gy, and gz).Group 3 (RSSI_F+A): Combined features, totaling 15 features, consisting of 12 features from Group 1 and 3 features from raw acceleration data (ax, ay, and az).
- Groups 1–3: Same as the static scenarioGroup 4 (RSSI_F+A_F+G_F): Combined features, totaling 90 features, consisting of 12 RSSI features (1 raw RSSI + 11 statistical features), 39 acceleration features (3 raw + 36 statistical features), and 33 gyroscope features (3 raw + 36 statistical features).Group 5 (RSSI_F+A_F): Combined features, totaling 51 features, consisting of 12 RSSI features (1 raw RSSI + 11 statistical features) and 39 acceleration features (3 raw + 36 statistical features).
3.2.2. Classification
- Decision trees are fundamental algorithms that have gained significant popularity due to several key advantages, including high interpretability, rapid training and prediction speed, and memory-efficient operation. In terms of mathematical principles, decision trees construct decision rules by hierarchically partitioning the feature space into rectangular regions using split criteria aimed at minimizing the impurity of child nodes. This process enables clear data classification through a decision-making process.
- k-NN is an instance-based learning algorithm characterized by the absence of pre-constructed model equations. It classifies new data by considering the k closest “neighbors” in the training dataset. The working principle of k-NN employs a majority voting method from the k nearest data points to the data being classified. The performance of k-NN depends on three main factors: (1) the number of neighbors (k), (2) the distance metric, and (3) the distance weighting. As shown in Table 7, k-NN classifiers have six operational variants: fine, weighted, medium, cubic, cosine, and coarse. The Fine variant considers only the nearest neighbor (k = 1) and measures distance using the Euclidean method, while the Weighted variant considers 10 neighbors (k = 10), using Euclidean distance measurement combined with distance-weighted importance.
- Ensemble Learning is a technique used to solve data mining problems such as classification, clustering, and anomaly detection, with the objective of reducing model dependency on specific datasets or particular data characteristics. The key principle of Ensemble Learning is to combine multiple “weak learners,” typically decision trees, to create a higher-performance model. MATLAB (version R2024b) presents the main methods of Ensemble Learning, including Bagging (Bootstrap Aggregation), Boosting, Random, and Subspace, each with distinctly different concepts and operational mechanisms. As in Table 7, classifiers using Ensemble Learning techniques can be categorized into five main variants: Subspace k-NN, Bagged Trees, Boosted Trees, RUSBoosted Trees, and Subspace Discriminant, each with unique strengths and model combination methods suitable for different data characteristics.
- NN consists of three main components: the input layer, hidden layer, and output layer, working together to process data. During training, the NN continuously adjusts weights to maximize model performance and achieve accurate classification. In MATLAB, the neural networks used are feedforward fully connected networks, also known as Multilayer Perceptrons (MLP). A critical challenge in using NNs is determining the appropriate architecture, which comprises the number of layers and nodes in each layer. MATLAB provides presets of standard structures designed according to the network’s width and depth for selection, as shown in Table 7.
4. Experimental Results and Discussion
4.1. Measured Signals
4.2. Classification Performance
4.2.1. Static Scenario
4.2.2. Dynamic Scenario
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Nessa, A.; Adhikari, B.; Hussain, F.; Fernando, X.N. A Survey of Machine Learning for Indoor Positioning. IEEE Access 2020, 8, 214945–214965. [Google Scholar] [CrossRef]
- Xiao, L.; Yazdi, P.G.; Thiede, S. A zone-based Wi-Fi fingerprinting indoor positioning system for factory noise mapping. J. Intell. Manuf. 2025, 1–20. [Google Scholar] [CrossRef]
- García-Paterna, P.J.; Martínez-Sala, A.S.; Sánchez-Aarnoutse, J.C. Empirical Study of a Room-Level Localization System Based on Bluetooth Low Energy Beacons. Sensors 2021, 21, 3665. [Google Scholar] [CrossRef] [PubMed]
- Ahmadi, N.; Mulyawan, R.; Adiono, T. Real-Time Indoor Localization System Based on Wearable Device, Bluetooth Low Energy (BLE) Beacons, and Machine Learning. IEEE Access 2024, 12, 166486–166494. [Google Scholar] [CrossRef]
- Chen, Y.; Wang, Y.; Zhao, Y. A Room-Level Indoor Localization Using an Energy-Harvesting BLE Tag. Electronics 2024, 13, 4493. [Google Scholar] [CrossRef]
- Aksakalli, I.K.; Bayındır, L. Enhancing Indoor Localization with Room-to-Room Transition Time: A Multi-Dataset Study. Appl. Sci. 2025, 15, 1985. [Google Scholar] [CrossRef]
- Anzum, N.; Afroze, S.F.; Rahman, A. Zone-Based Indoor Localization Using Neural Networks: A View from a Real Testbed. In Proceedings of the 2018 IEEE International Conference on Communications (ICC), Kansas City, MO, USA, 20–24 May 2018; pp. 1–7. [Google Scholar] [CrossRef]
- Reich, O.; Hubner, E.; Ghita, B.; Wagner, M.F.; Schafer, J. A Survey Investigating the Combination and Number of IMUs on the Human Body Used for Detecting Activities and Human Tracking. In Proceedings of the 2020 World Conference on Computing and Communication Technologies (WCCCT), Warsaw, Poland, 13–15 May 2020; pp. 20–27. [Google Scholar] [CrossRef]
- Booranawong, A.; Sukveeraphan, S.; Pan, L.; Jindapetch, N.; Phukpattaranont, P.; Saito, H. A real-time system for monitoring and classification of human falls on stairs using 2.4 GHz XBee3 micro modules with a tri-axial accelerometer and KNN algorithms. Egypt. Inform. J. 2025, 30, 100643. [Google Scholar] [CrossRef]
- Sahraoui, H.; Dahani, A.; Tigrine, A.; Bouhamdi, M.; Dine, K.; Abdelhamid, C.; Mostefai, L. Design and implementation of a medical platform for real-time and remote ECG monitoring using digimesh wireless sensor network technology. Res. Biomed. Eng. 2023, 39, 959–976. [Google Scholar] [CrossRef]
- Haque, K.F.; Abdelgawad, A.; Yelamarthi, K. Comprehensive performance analysis of zigbee communication: An ex-perimental approach with XBee S2C module. Sensors 2022, 22, 3245. [Google Scholar] [CrossRef] [PubMed]
- Akbar, M.S.; Hussain, Z.; Sheng, M.; Shankaran, R. Wireless body area sensor networks: Survey of MAC and routing protocols for patient monitoring under IEEE 802.15.4 and IEEE 802.15.6. Sensors 2022, 22, 8279. [Google Scholar] [CrossRef] [PubMed]




















| Ref. Year | Wireless Technology | Input Data | Hardware | Test Areas | No. of Classification Models | No. of Zones/Rooms | Accuracy |
|---|---|---|---|---|---|---|---|
| [4] 2024 | BLE and Wi-Fi | RSSI | - BLE Beacons (iBKS 105) = 10 - ESP32-based wearable device = 1 - Raspberry Pi 4 model B = 1 | Building 207 m2 | 6 | 10 | XGBoost, LightGBM 91% |
| [5] 2024 | BLE and Wi-Fi | RSSI | - ESP32-C3 (anchor nodes) = 7 - BLE tag with solar panel (target) = 1 | Building 2000 m2 | 3 | 7 | k-NN 99% |
| [3] 2021 | BLE | RSSI | Terraced house scenario - BLE beacons (iBKS 105) = 2–6 - Dell laptop or Raspberry Pi 4 = 1 The basement floor of the university building - BLE beacons (iBKS 105) = 2–10 - Dell laptop or Raspberry Pi 4 = 1 | Terraced house 160 m2 Building 970 m2 | 1 1 | 10 16 | k-NN 97.6% k-NN 92.7% |
| [2] 2025 | Wi-Fi | RSSI and Sound level (dB) | - Cisco AP2800 Wi-Fi router = 6 - ThinkPad P16v laptop with TP-Link AC300 = 1 - Noise sensor = 1 | Learning Factory 800 m2 | 6 | 9, 18, 27, 37, and 39 | RF 91% |
| [6] 2025 | Wi-Fi | RSSI, room-to-room transition time | - ESP32-DevKitC = 1 - Breadboard = 1 - MicroSD card module = 1 - SD card = 1 - Smartphone = 1 - Access Point = 58, 63, 41 - Computer = 1 | Home 195 m2, 145 m2, and 130 m2 | 34 | 6 | Wide Neural Network 94.7% |
| [7] 2018 | Wi-Fi | RSSI | - Access point = 24 - Smart device = 1 | Building | 3 | 32 | Modified CPN 91% |
| This work | Zigbee/IEEE 802.15.4 - Hardware design and development - Proposed wireless communication protocol | RSSI, 3-axis acceleration, and 3-axis angular velocity | - SparkFun Thing Plus-XBee3 Micro with GY-521 (Wearable device) = 1 - SparkFun Thing Plus-XBee3 Micro (Base station) = 1 - ASUS ViviBook S15 = 1 | Home ~69 m2 with 2 floors | 33 | 3 * | Static scenario Wide Neural Network 98.7–99.3% Dynamic scenario Fine k-NN 99.6% |
| Microcontroller Board Specifications | |
|---|---|
| Microcontroller | Silicon Labs EFR32MG SoC |
| Flash memory | 1 MB (32 KB available for MicroPython) |
| RAM | 128 KB |
| Operating frequency band | 2.4 GHz (2.4–2.4835 GHz) |
| RF data rate | 250 Kbps |
| Indoor/Urban range | Up to 200 feet (60 m) |
| Outdoor/Line-of-sight range | Up to 4000 feet (1200 m) |
| Transmission power | −5 dBm, −1 dBm, +2 dBm, +5 dBm and +8 dBm |
| Receiver sensitivity | −103 dBm |
| Serial communication | UART, I2C |
| Operating voltage | 2.6 VDC–3.6 VDC |
| Operating current (transmit, normal) | 40 mA @ +3.3 V, +8 dBm |
| Operating current (receive, normal) | 17 mA |
| Power-down current | 2 µA @ 25 °C |
| Number of channels | 16 channels (11–26) |
| Power management | Supports LiPo battery charging |
| Dimensions | 58.42 × 22.86 mm |
| GY-521 Sensor Specifications | |
| Chip | MPU-6050 |
| Acceleration measurement range | ±2 g, ±4 g, ±8 g and ±16 g |
| Angular velocity measurement range | ±250°/s, ±500°/s, ±1000°/s, and ±2000°/s |
| ADC resolution | 16 bits |
| Serial communication | I2C |
| Operating voltage | 2.375 V–3.46 V |
| Operating current (normal) | 500 µA |
| Operating current (low power) | 10 µA @ 1.25 Hz, 20 µA @ 5 Hz, 60 µA @ 20 Hz and 110 µA @ 40 Hz |
| Dimensions | 16 × 20 mm |
| Feature Index | Feature Description | Equation |
|---|---|---|
| - | Raw RSSI signals | |
| F1 | Maximum value of RSSI signals | |
| F2 | Minimum value of RSSI signals | |
| F3 | Moving average of RSSI signals | |
| F4 | SD of RSSI signals | |
| F5 | Range of RSSI signals | |
| F6 | Median of RSSI signals | |
| F7 | IQR of RSSI signals | 75th percentile in window 25th percentile in window |
| F8 | 10th percentile of RSSI signals | |
| F9 | 25th percentile of RSSI signals | |
| F10 | 75th percentile of RSSI signals | |
| F11 | 90th percentile of RSSI signals |
| Feature Index | Feature Description | Equation |
|---|---|---|
| - | Raw acceleration signals (ax) | |
| F12 | Maximum value of ax | |
| F13 | Minimum value of ax | |
| F14 | Moving average value of ax | |
| F15 | SD of ax | |
| F16 | Range of ax | |
| F17 | Median of ax | |
| F18 | IQR of ax | 75th percentile in window 25th percentile in window |
| F19 | 10th percentile of ax | |
| F20 | 25th percentile of ax | |
| F21 | 75th percentile of ax | |
| F22 | 90th percentile of ax |
| Feature Index | Feature Description | Equation |
|---|---|---|
| F45 | Signal vector magnitude (SM) | |
| F46 | Moving average of SM | |
| F47 | SD of SM |
| (a) | |
| Feature Index for ax | Equation for ax |
| - | |
| F48 | |
| F49 | |
| F50 | |
| F51 | |
| F52 | |
| F53 | |
| F54 | 75th percentile in window 25th percentile in window |
| F55 | |
| F56 | |
| F57 | |
| F58 | |
| (b) | |
| Feature Index | Equation |
| F81 | |
| F82 | |
| F83 | |
| Classifier Groups | Sub-Models | Model Hyper-Parameters |
|---|---|---|
| 1. Tree | (1) Fine Tree | Maximum number of splits: 100 Split criterion: Gini’s diversity index Surrogate decision splits: off |
| (2) Medium Tree | Maximum number of splits: 20 Split criterion: Gini’s diversity index Surrogate decision splits: off | |
| (3) Coarse Tree | Maximum number of splits: 4 Split criterion: Gini’s diversity index Surrogate decision splits: off | |
| 2. Discriminant | (1) Quadratic Discriminant | Covariance structure: full |
| (2) Linear Discriminant | Covariance structure: full | |
| 3. Naïve Bayes | (1) Kernel Naïve Bayes | Distribution name for numeric predictors: Kernel Distribution name for categorical predictors: Not applicable Kernel type: Gaussian Support: Unbounded Standardize data: yes |
| (2) Gaussian Naïve Bayes | Distribution name for numeric predictors: Gaussian Distribution name for categorical predictors: Not applicable | |
| 4. SVM | (1) Fine Gaussian SVM | Kernel function: Gaussian Kernel scale: value Box constraint level: 1 Multiclass coding: one-vs-one Standardize data: yes |
| (2) Cubic SVM | Kernel function: Cubic Kernel scale: Automatic Box constraint level: 1 Multiclass coding: one-vs-one Standardize data: yes | |
| (3) Medium Gaussian SVM | Kernel function: Gaussian Kernel scale: value Box constraint level: 1 Multiclass coding: one-vs-one Standardize data: yes | |
| (4) Quadratic SVM | Kernel function: Quadratic Kernel scale: Automatic Box constraint level: 1 Multiclass coding: one-vs-one Standardize data: yes | |
| (5) Coares Gaussian SVM | Kernel function: Gaussian Kernel scale: value Box constraint level: 1 Multiclass coding: one-vs-one Standardize data: yes | |
| (6) Linear SVM | Kernel function: Linear Kernel scale: Automatic Box constraint level: 1 Multiclass coding: one-vs-one Standardize data: yes | |
| 5. Efficient Linear | (1) Efficient Logistic Regression | Learner: Logistic regression Solver: Auto Regularization: Auto Regularization strength (Lambda): Auto Relative coefficient tolerance (Beta tolerance): 0.0001 Multiclass coding: one-vs-one |
| (2) Efficient Linear SVM | Learner: SVM Solver: Auto Regularization: Auto Regularization strength (Lambda): Auto Relative coefficient tolerance (Beta tolerance): 0.0001 Multiclass coding: one-vs-one | |
| 6. k-NN | (1) Fine k-NN | Number of neighbors: 1 Distance metric: Euclidean Distance weight: Equal Standardize data: yes |
| (2) Weighted k-NN | Number of neighbors: 10 Distance metric: Euclidean Distance weight: Squared inverse Standardize data: yes | |
| (3) Medium k-NN | Number of neighbors: 10 Distance metric: Euclidean Distance weight: Equal Standardize data: yes | |
| (4) Cubic k-NN | Number of neighbors: 100 Distance metric: Minkowski (cubic) Distance weight: Equal Standardize data: yes | |
| (5) Cosine k-NN | Number of neighbors: 10 Distance metric: Cosine Distance weight: Equal Standardize data: yes | |
| (6) Coarse k-NN | Number of neighbors: 100 Distance metric: Euclidean Distance weight: Equal Standardize data: yes | |
| 7. Kernel | (1) SVM Kernel | Learner: SVM Number of expansion dimensions: Auto Regularization strength (Lambda): Auto Kernel scale: Auto Multiclass coding: one-vs-one Standardize data: yes Iteration limit: 1000 |
| (2) Logistic Regression Kernel | Learner: Logistic Regression Number of expansion dimensions: Auto Regularization strength (Lambda): Auto Kernel scale: Auto Multiclass coding: one-vs-one Standardize data: yes Iteration limit: 1000 | |
| 8. Ensemble | (1) Subspace k-NN | Ensemble method: Subspace Learner type: Nearest neighbors Number of learners: 30 Subspace dimension: 6 |
| (2) Bagged Trees | Ensemble method: Bag Learner type: Decision tree Maximum number of splits: 135,999 *, 10,673 ** Number of learners: 30 Number of predictors to sample: select all | |
| (3) Boosted Trees | Ensemble method: AdaBoost Learner type: Decision tree Maximum number of splits: 20 Number of learners: 30 Learning rate: 0.1 Number of predictors to sample: select all | |
| (4) RUSBoosted Trees | Ensemble method: RUSBoost Learner type: Decision tree Maximum number of splits: 20 Number of learners: 30 Learning rate: 0.1 Number of predictors to sample: select all | |
| (5) Subspace Discriminant | Ensemble method: Subspace Learner type: Discriminant Number of learners: Null Subspace dimension: 6 | |
| 9. Neural Network | (1) Wide Neural Network | Number of fully connected layers: 1 First layer size: 100 Activation: ReLU Iteration limit: 1000 Regularization strength (Lambda): 0 Standardize data: yes |
| (2) Medium Neural Network | Number of fully connected layers: 1 First layer size: 25 Activation: ReLU Iteration limit: 1000 Regularization strength (Lambda): 0 Standardize data: yes | |
| (3) Trilayered Neural Network | Number of fully connected layers: 3 First layer size: 10 Second layer size: 10 Third layer size: 10 Activation: ReLU Iteration limit: 1000 Regularization strength (Lambda): 0 Standardize data: yes | |
| (4) Bilayered Neural Network | Number of fully connected layers: 2 First layer size: 10 Second layer size: 10 Activation: ReLU Iteration limit: 1000 Regularization strength (Lambda): 0 Standardize data: yes | |
| (5) Narrow Neural Network | Number of fully connected layers: 1 First layer size: 10 Activation: ReLU Iteration limit: 1000 Regularization strength (Lambda): 0 Standardize data: yes |
| Zones | Average RSSI (dBm) | SD of RSSI (dBm) |
|---|---|---|
| Stairway | −67.08 | 8.79 |
| Living room | −49.91 | 5.44 |
| Dining room | −64.08 | 8.04 |
| Models | Training Accuracy (%) | Testing Accuracy (%) | Prediction Speed (obs/s) | Training Time (s) | Model Size (Compact) (MB) |
|---|---|---|---|---|---|
| Boosted Trees | 75.2 | 75.0 | 120,000.0 | 35.6 | 0.260 |
| Medium Trees | 75.2 | 75.0 | 680,000.0 | 23.8 | 0.008 |
| RUSBoosted Trees | 75.1 | 75.0 | 120,000.0 | 77.3 | 0.260 |
| Bagged Trees | 75.1 | 75.0 | 120,000.0 | 54.2 | 0.405 |
| Fine Trees | 75.1 | 75.0 | 840,000.0 | 10.3 | 0.009 |
| Wide Neural Network | 75.1 | 75.0 | 550,000.0 | 4329.1 | 0.008 |
| Fine Gaussian SVM | 75.0 | 74.8 | 2100.0 | 2299.9 | 2 |
| Bilayered Neural Network | 74.7 | 74.8 | 700,000.0 | 1687.3 | 0.007 |
| Medium Neural Network | 74.6 | 74.8 | 460,000.0 | 1863.9 | 0.005 |
| Trilayered Neural Network | 74.4 | 74.2 | 570,000.0 | 3024.2 | 0.008 |
| Narrow Neural Network | 74.1 | 74.8 | 490,000.0 | 1160.5 | 0.005 |
| Kernel Naïve Bayes | 73.9 | 73.7 | 940.0 | 719.2 | 4 |
| SVM Kernel | 73.4 | 73.3 | 290,000.0 | 104.5 | 0.025 |
| Coarse Gaussian SVM | 73.3 | 73.0 | 2100.0 | 2503.4 | 3 |
| Logistic Regression Kernel | 72.7 | 75.0 | 30,000.0 | 139.3 | 0.025 |
| Medium Gaussian SVM | 72.5 | 72.2 | 2300.0 | 2236.9 | 2 |
| Efficient Linear SVM | 71.8 | 71.7 | 640,000.0 | 12.9 | 0.030 |
| Coarse Tree | 71.3 | 71.1 | 660,000.0 | 21.8 | 0.004 |
| Efficient Logistic Regression | 70.1 | 69.9 | 590,000.0 | 15.2 | 0.031 |
| Subspace Discriminant | 68.4 | 68.1 | 56,000.0 | 38.6 | 0.090 |
| Linear Discriminant | 68.4 | 68.1 | 550,000.0 | 19.7 | 0.003 |
| Gaussian Naïve Bayes | 68.1 | 67.8 | 800,000.0 | 10.4 | 0.003 |
| Quadratic Discriminant | 68.1 | 67.8 | 550,000.0 | 17.4 | 0.004 |
| Coarse k-NN | 56.5 | 56.3 | 24,000.0 | 23.8 | 7 |
| Weighted k-NN | 54.6 | 54.3 | 31,000.0 | 26.5 | 7 |
| Medium k-NN | 54.6 | 54.3 | 38,000.0 | 20.2 | 7 |
| Cubic k-NN | 54.6 | 54.3 | 23,000.0 | 32.4 | 7 |
| Fine k-NN | 54.4 | 54.2 | 42,000.0 | 16.6 | 7 |
| Subspace k-NN | 54.4 | 54.2 | 2500.0 | 345.5 | 195 |
| Linear SVM | 29.0 | 15.5 | 780,000.0 | 20,829.0 | 0.013 |
| Quadratic SVM | 25.8 | 29.8 | 37,000.0 | 30,699.0 | 0.417 |
| Cubic SVM | 25.6 | 18.3 | 150,000.0 | 31,144.0 | 0.107 |
| Cosine k-NN | 25.0 | 25.0 | 4800.0 | 114.1 | 4 |
| Models | Training Accuracy (%) | Testing Accuracy (%) | Prediction Speed (obs/s) | Training Time (s) | Model Size (Compact) (MB) |
|---|---|---|---|---|---|
| Bagged Trees | 83.3 | 83.4 | 24,000.0 | 687.27 | 44 |
| Wide Neural Network | 82.0 | 82.0 | 240,000.0 | 6079.60 | 0.019 |
| Fine Gaussian SVM | 81.5 | 81.8 | 1500.0 | 6090.20 | 8 |
| Fine Trees | 81.4 | 81.4 | 300,000.0 | 936.55 | 0.027 |
| Medium Neural Network | 80.9 | 81.1 | 250,000.0 | 3818.50 | 0.009 |
| Trilayered Neural Network | 80.9 | 81.0 | 250,000.0 | 5663.50 | 0.011 |
| Logistic Regression Kernel | 80.6 | 80.4 | 21,000.0 | 1056.30 | 0.042 |
| SVM Kernel | 80.3 | 80.7 | 21,000.0 | 1845.60 | 0.042 |
| Bilayered Neural Network | 80.2 | 80.6 | 220,000.0 | 3182.70 | 0.009 |
| Boosted Trees | 79.7 | 79.7 | 59,000.0 | 761.01 | 0.305 |
| RUSBoosted Trees | 79.2 | 79.3 | 51,000.0 | 798.15 | 0.305 |
| Narrow Neural Network | 79.2 | 78.6 | 210,000.0 | 2593.40 | 0.007 |
| Medium Trees | 79.0 | 79.0 | 280,000.0 | 933.64 | 0.008 |
| Medium Gaussian SVM | 78.2 | 78.2 | 1400.0 | 4667.50 | 10 |
| Coarse Gaussian SVM | 76.4 | 76.2 | 1300.0 | 4248.80 | 11 |
| Coarse k-NN | 76.1 | 76.1 | 950.0 | 789.33 | 16 |
| Kernel Naïve Bayes | 75.4 | 75.1 | 60.0 | 9091.50 | 50 |
| Coarse Tree | 74.5 | 74.1 | 290,000.0 | 931.85 | 0.005 |
| Weighted k-NN | 72.2 | 72.1 | 1200.0 | 766.31 | 16 |
| Linear SVM | 72.0 | 72.1 | 210,000.0 | 10,960.00 | 0.020 |
| Medium k-NN | 71.9 | 71.8 | 1100.0 | 792.78 | 16 |
| Cubic k-NN | 71.9 | 71.8 | 180.0 | 4244.8 | 16 |
| Efficient Logistic Regression | 71.6 | 71.6 | 290,000.0 | 465.93 | 0.037 |
| Cosine k-NN | 70.8 | 70.6 | 1300.0 | 785.91 | 16 |
| Subspace Discriminant | 68.8 | 69.0 | 31,000.0 | 77.71 | 0.143 |
| Linear Discriminant | 68.5 | 68.5 | 210,000.0 | 683.50 | 0.008 |
| Gaussian Naïve Bayes | 68.1 | 68.1 | 270,000.0 | 12.284 | 0.010 |
| Fine k-NN | 67.7 | 67.5 | 1200.0 | 796.10 | 16 |
| Quadratic SVM | 66.5 | 68.1 | 14,000.0 | 22,670.00 | 9 |
| Subspace k-NN | 65.6 | 64.8 | 650.0 | 3182.00 | 370 |
| Efficient Linear SVM | 65.6 | 70.3 | 290,000.0 | 239.21 | 0.037 |
| Cubic SVM | 64.5 | 56.8 | 16,000.0 | 24,112.00 | 7.0 |
| Models | Training Accuracy (%) | Testing Accuracy (%) | Prediction Speed (obs/s) | Training Time (s) | Model Size (Compact) (MB) |
|---|---|---|---|---|---|
| Bagged Trees | 98.7 | 98.7 | 23,000.0 | 4588.6 | 13 |
| Wide Neural Network | 98.4 | 98.4 | 210,000.0 | 13,630.0 | 0.024 |
| Medium Neural Network | 97.5 | 97.6 | 130,000.0 | 14,794.0 | 0.010 |
| Trilayered Neural Network | 97.3 | 97.4 | 160,000.0 | 10,614.0 | 0.012 |
| Bilayered Neural Network | 96.9 | 97.2 | 110,000.0 | 12,105.0 | 0.010 |
| Fine Gaussian SVM | 95.8 | 96.0 | 3900.0 | 8797.6 | 10 |
| Weighted k-NN | 95.1 | 95.2 | 460.0 | 4623.0 | 22 |
| Medium k-NN | 94.7 | 94.6 | 480.0 | 4905.2 | 22 |
| Fine k-NN | 94.4 | 94.5 | 470.0 | 33,217.0 | 22 |
| Cubic SVM | 94.4 | 94.2 | 29,000.0 | 23,107.0 | 4 |
| Narrow Neural Network | 93.9 | 94.0 | 120,000.0 | 16,250.0 | 0.009 |
| Cubic k-NN | 93.0 | 92.8 | 260.0 | 4894.8 | 22 |
| Cosine k-NN | 92.9 | 93.0 | 440.0 | 4896.6 | 22 |
| Fine Trees | 92.9 | 92.6 | 190,000.0 | 3103.4 | 0.034 |
| Medium Gaussian SVM | 92.6 | 92.6 | 5700.0 | 6082.2 | 5 |
| SVM Kernel | 92.3 | 92.2 | 10,000.0 | 7850.1 | 0.058 |
| Coarse k-NN | 92.3 | 92.1 | 540.0 | 4902.1 | 22 |
| Logistic Regression Kernel | 91.5 | 91.2 | 9500.0 | 4894.4 | 0.058 |
| Subspace k-NN | 91.1 | 91.8 | 1100.0 | 18,372.0 | 474 |
| Boosted Trees | 90.8 | 90.6 | 41,000.0 | 4590.7 | 0.329 |
| Quadratic SVM | 87.1 | 86.9 | 18,000.0 | 25,727.0 | 7 |
| Medium Trees | 86.5 | 86.1 | 220,000.0 | 3100.3 | 0.011 |
| RUSBoosted Trees | 86.0 | 85.5 | 41,000.0 | 18,370.0 | 0.329 |
| Coarse Gaussian SVM | 85.5 | 85.5 | 4500.0 | 3098.8 | 9 |
| Linear SVM | 81.6 | 81.5 | 160,000.0 | 11,485.0 | 0.023 |
| Linear Discriminant | 80.1 | 80.2 | 150,000.0 | 16.636 | 0.013 |
| Coarse Tree | 78.9 | 78.5 | 190,000.0 | 3098.2 | 0.006 |
| Kernel Naïve Bayes | 78.6 | 78.4 | 60.0 | 14,116.0 | 75 |
| Subspace Discriminant | 77.9 | 77.3 | 23,000.0 | 117.59 | 0.186 |
| Efficient Logistic Regression | 77.6 | 77.8 | 210,000.0 | 20,531.0 | 0.040 |
| Efficient Linear SVM | 75.8 | 78.8 | 180,000.0 | 17,880.0 | 0.040 |
| Gaussian Naïve Bayes | 75.8 | 75.9 | 150,000.0 | 15,564.0 | 0.014 |
| Models | Training Accuracy (%) | Testing Accuracy (%) | Prediction Speed (obs/s) | Training Time (s) | Model Size (Compact) (MB) |
|---|---|---|---|---|---|
| Weighted k-NN | 98.7 | 98.8 | 780.0 | 4696.2 | 19 |
| Bagged Trees | 98.7 | 98.7 | 24,000.0 | 4651.4 | 13 |
| Wide Neural Network | 98.6 | 98.7 | 240,000.0 | 24,935.0 | 0.021 |
| Fine k-NN | 98.6 | 98.5 | 820.0 | 4728.2 | 19 |
| Medium k-NN | 98.5 | 98.5 | 780.0 | 4726.2 | 19 |
| Fine Gaussian SVM | 98.4 | 98.5 | 3000.0 | 10,574.0 | 2 |
| Cubic k-NN | 98.3 | 98.3 | 270.0 | 4720.0 | 19 |
| Cosine k-NN | 98.1 | 98.2 | 840.0 | 4722.0 | 19 |
| Medium Neural Network | 97.4 | 97.5 | 200,000.0 | 26,163.0 | 0.010 |
| Trilayered Neural Network | 97.3 | 97.3 | 210,000.0 | 21,940.0 | 0.011 |
| Subspace k-NN | 97.3 | 97.3 | 740.0 | 29,465.0 | 440 |
| Bilayered Neural Network | 96.9 | 97.2 | 200,000.0 | 23,353.0 | 0.010 |
| Coarse k-NN | 96.8 | 97.0 | 820.0 | 4724.2 | 19 |
| SVM Kernel | 95.8 | 95.5 | 15,000.0 | 19,136.0 | 0.044 |
| Logistic Regression Kernel | 95.2 | 95.0 | 14,000.0 | 16,325.0 | 0.044 |
| Narrow Neural Network | 93.7 | 93.4 | 160,000.0 | 27,632.0 | 0.008 |
| Medium Gaussian SVM | 93.4 | 93.4 | 1700.0 | 7697.1 | 4 |
| Fine Trees | 92.9 | 92.7 | 290,000.0 | 11.769 | 0.033 |
| Boosted Trees | 90.8 | 90.6 | 44,000.0 | 4659.1 | 0.317 |
| Cubic SVM | 90.6 | 91.4 | 23,000.0 | 44,665.0 | 3 |
| Quadratic SVM | 87.1 | 87.1 | 16,000.0 | 28,650.0 | 6 |
| Medium Trees | 86.5 | 86.1 | 220,000.0 | 2728.3 | 0.010 |
| RUSBoosted Trees | 86.0 | 85.5 | 50,000.0 | 29,462.0 | 0.317 |
| Coarse Gaussian SVM | 85.9 | 85.9 | 14,000.0 | 4730.1 | 8 |
| Linear SVM | 81.5 | 81.5 | 210,000.0 | 10,849.0 | 0.021 |
| Linear Discriminant | 80.0 | 80.1 | 180,000.0 | 14.294 | 0.010 |
| Coarse Tree | 78.9 | 78.5 | 240,000.0 | 2725.9 | 0.006 |
| Kernel Naïve Bayes | 78.6 | 78.4 | 77.0 | 13,650.0 | 62 |
| Subspace Discriminant | 78.3 | 78.7 | 23,000.0 | 136.35 | 0.170 |
| Efficient Logistic Regression | 77.6 | 77.9 | 230,000.0 | 8015.7 | 0.039 |
| Gaussian Naïve Bayes | 75.7 | 75.8 | 180,000.0 | 2731.8 | 0.012 |
| Efficient Linear SVM | 73.6 | 77.0 | 230,000.0 | 5135.0 | 0.038 |
| Models | Window Sizes | Group | Training Accuracy (%) | Testing Accuracy (%) | Prediction Speed (obs/s) | Training Time (s) | Model Size (Compact) (MB) |
|---|---|---|---|---|---|---|---|
| Wide Neural Network | 25 | 1 | 82.0 | 82.0 | 240,000.0 | 6079.6 | 0.019 |
| 2 | 98.4 | 98.4 | 210,000.0 | 13,630.0 | 0.024 | ||
| 3 | 98.6 | 98.7 | 240,000.0 | 24,935.0 | 0.021 | ||
| 50 | 1 | 84.5 | 84.5 | 260,000 | 5750.8 | 0.019 | |
| 2 | 99.0 | 99.1 | 250,000 | 11,207.0 | 0.024 | ||
| 3 | 99.2 | 99.3 | 200,000 | 18,548.0 | 0.021 | ||
| 75 | 1 | 86.4 | 86.8 | 180,000 | 10,217.0 | 0.019 | |
| 2 | 99.4 | 99.4 | 220,000 | 12,241.0 | 0.024 | ||
| 3 | 99.5 | 99.5 | 250,000 | 11,085.0 | 0.021 | ||
| 100 | 1 | 88.2 | 87.9 | 310,000 | 4974.6 | 0.019 | |
| 2 | 99.5 | 99.6 | 63,000 | 41,667.0 | 0.024 | ||
| 3 | 99.6 | 99.6 | 250,000 | 20,471.0 | 0.021 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2026 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license.
Share and Cite
Wattananavin, T.; Booranawong, A. Implementation of a Wrist-Worn Wireless Sensor System with Machine Learning-Based Classification for Indoor Human Tracking. Electronics 2026, 15, 1389. https://doi.org/10.3390/electronics15071389
Wattananavin T, Booranawong A. Implementation of a Wrist-Worn Wireless Sensor System with Machine Learning-Based Classification for Indoor Human Tracking. Electronics. 2026; 15(7):1389. https://doi.org/10.3390/electronics15071389
Chicago/Turabian StyleWattananavin, Thradon, and Apidet Booranawong. 2026. "Implementation of a Wrist-Worn Wireless Sensor System with Machine Learning-Based Classification for Indoor Human Tracking" Electronics 15, no. 7: 1389. https://doi.org/10.3390/electronics15071389
APA StyleWattananavin, T., & Booranawong, A. (2026). Implementation of a Wrist-Worn Wireless Sensor System with Machine Learning-Based Classification for Indoor Human Tracking. Electronics, 15(7), 1389. https://doi.org/10.3390/electronics15071389

