Low-cost real-time motion capturing system using inertial measurement units


ACTA IMEKO 
ISSN: 2221-870X 
September 2022, Volume 11, Number 3, 1 - 9 

 

ACTA IMEKO | www.imeko.org September 2022 | Volume 11 | Number 3 | 1 

Low-cost real-time motion capturing system using inertial 
measurement units 

Simona Salicone1, Simone Corbellini2, Harsha Vardhana Jetti1, Sina Ronaghi3 

1 Department of Electronics, Information and Bioengineering (DEIB), Politecnico di Milano, Via Guiseppe Ponzio 34, 20133, Milano, Italy 
2 Department of Electronics and Telecommunication (DET), Politecnico di Torino, Corso Duca degli Abruzzi, 24, 10129, Torino, Italy 
3 Department of Energy (DENG), Politecnico di Milano, Via Lambruschini 4a, 20156, Milano, Italy  

 

 

Section: RESEARCH PAPER  

Keywords: Motion-capture; bluetooth low energy; inertial measurement units; digital signal processing; embedded systems 

Citation: Simona Salicone, Simone Corbellini, Harsha Vardhana Jetti, Sina Ronaghi, Low-cost real-time motion capturing system using inertial measurement 
units, Acta IMEKO, vol. 11, no. 3, article 17, September 2022, identifier: IMEKO-ACTA-11 (2022)-03-17 

Section Editor: Francesco Lamonaca, University of Calabria, Italy  

Received May 17, 2022; In final form September 23, 2022; Published September 2022 

Copyright: This is an open-access article distributed under the terms of the Creative Commons Attribution 3.0 License, which permits unrestricted use, 
distribution, and reproduction in any medium, provided the original author and source are credited. 

Corresponding author: Simona Salicone, e-mail: simona.salicone@polimi.it  

 

1. INTRODUCTION 

Human motion reconstruction, also known as motion-
capture systems (Mo-Cap), plays an important role in medical 
rehabilitation, sports training, and entertainment [1]-[3]. In the 
field of healthcare, physical therapists use such systems to record 
patient movements, visualize the movements in real-time and 
finally making a comparison of the recorded movements 
throughout the treatment cycle for efficacy evaluation. For the 
purpose of entertainment, the use of Mo-caps is necessary for 
reconstructing human movements for 3-dimensional (3D) games 
development and animated scenes in the movie industry. For the 
application of sports training, the use of Mo-caps is beneficial for 
reconstructing the players' movement for the evaluation of each 
player individually and as a team, as well as, monitoring each 
player for automatic estimation and prediction of possible 
injuries, such as muscle damages caused by players collision 
during a period of professional activity [4]. 

Mo-cap solutions use either non-optical sensor-based 
methods or optical computer vision methods to reconstruct the 
physical human movements. As it is currently known, solutions 
based on computer vision methods can be employed only in a 
controlled environment and they suffer from inconsistencies 
concerning environmental conditions such as ambient light 
(colour and illumination problems), object proximity (occlusion), 
and motion detection in cluttered scenes [5], [6]. Alternatively, 
sensor-based methods of Mo-cap are usually applied in form of 
wearable devices, that use inertial measurement units (IMUs) 
based on microelectromechanical systems (MEMS). In principle, 
MEMS-based IMUs are immune to visible environmental 
conditions, but they may suffer from orientation drifts over time. 

The development of Inertial based Mo-Cap solutions, for 
both movement tracking and human activity recognition (HAR), 
has been a topic of research for many years, mainly due to the 
constant increase in the availability of new MEMS devices. 

Nowadays, many similar commercial Mo-Cap solutions are 
available on the market; such products, depending on the specific 
targeted application, can differ in the maximum number of 

ABSTRACT 
Human movement modeling - also referred to as motion-capture - is a rapidly expanding field of interest for medical rehabilitation, 
sports training, and entertainment. Motion capture devices are used to provide a virtual 3-dimensional reconstruction of human physical 
activities - employing either optical or inertial sensors. Utilizing inertial measurement units and digital signal processing techniques offers 
a better alternative in terms of portability and immunity to visual perturbations when compared to conventional optical solutions. 
In this paper, a cable-free, low-cost motion-capture solution based on inertial measurement units with a novel approach for calibration 
is proposed. The goal of the proposed solution is to apply motion capture to the fields that, because of cost problems, did not take 
enough benefit of such technology (e.g., fitness training centers). According to this goal, the necessary requirement for the proposed 
system is to be low-cost. Therefore, all the considerations and all the solutions provided in this work have been done according to this 
main requirement. 

mailto:simona.salicone@polimi.it


 

ACTA IMEKO | www.imeko.org September 2022 | Volume 11 | Number 3 | 2 

sensors, in the placement position of the sensors on the human 
body, and in the user interface and data representation. As an 
example, the MTw Awinda [7] tracker by XSense is a complete 
wireless human motion tracker able to accurately monitor the 
joint angles and is targeted for many applications, spanning from 
rehabilitation to injury prevention in sport and to human 
machine interaction in robotics. The system can manage up to 
20 sensors with a maximum data rate of 60 Hz. The Movit 
System G1 [8] by Captiks is another available solution for both 
indoor and outdoor motion capture and analysis. This system can 
acquire up to 16 sensors and it is able to provide raw orientation 
measurements and even animation and video files. The 
acquisition rate can reach 100-200 Hz to track fast movements. 
For movements with higher dynamics, the Wearable 3D Motion 
Capture [9] by Noraxon can reach a measurement output rate of 
400 Hz. This system is equipped with 16 sensors suitable for all 
type of movements including high velocity and high impact 
conditions. 

Despite the availability on the marked of many solutions, 
usually these products are targeted to the most demanding 
applications and their cost remains too high for their use in many 
other fields. Usually, the cost of such commercial Mo-Cap 
solutions can range from a few thousand dollars to even tens of 
thousands of dollars. 

These prices are unfortunately out of budget in many 
applications. Therefore, in this paper, we focus on the 
development of a low-cost Mo-Cap solution, which is full-body, 
multi sensor and cable-free. Hence, to avoid using costly 
measurement elements, a novel approach for calibration using 
software level data analysis solely based on gyroscope 
measurements is proposed. The system is intended to be used 
for physical activities that require movements with low angular 
velocity for a short period of time (i.e., medical rehabilitation, 
physiotherapy and movement analysis in aged people).  A set of 
experiments are also performed, for a preliminary validation and 
metrological characterisation of the proposed solution. 

2. DEVELOPED SYSTEM 

This section explains the architecture of the proposed 
solution. The hardware and software feature specifications of the 
solution are highlighted and the proposed method for gyroscope 
calibration is explained. Finally, a set of experiments are defined 
to demonstrate the functionality of the system and to assess the 
effectiveness of the employed method in reducing drift errors 
during the attitude representation process. 

2.1. System architecture 

Figure 1 briefly shows some possible architectures of Mo-Cap 
solutions; in particular the red path indicates the selected method 
for our solution. Four key decisions have been made to choose a 
method of implementation that are explained accordingly. 

The reason for choosing a non-optical method is to provide 
portability and immunity to visual environmental perturbations. 
In fact, for the applications that require the activity to be 
performed in an open area, it is inherently difficult to control 
environmental parameters such as lighting. 

MEMS-based IMUs are usually a combination of low-cost 
accelerometer, gyroscope and in some circumstances 
magnetometer. In a common navigation system, all the three 
available inertial sensors (e.g., accelerometers, magnetometers 
and gyroscopes) are employed for both the preliminary 
calibration and the navigation itself. In particular, during the 
navigation, the accelerometer and the magnetometer are 

necessary to obtain a geo-referenced frame of coordinates and to 
compensate for drifts inevitably arising from the integration of 
the gyroscope signals. However, the use of the magnetometer 
may decrease the accuracy in indoor environments due to the 
usual presence of local magnetic field perturbations. On the 
other hand, the accelerometer may increase the measurement 
noise since the body acceleration is superimposed on the 
detected gravity vector. 

Fortunately, in most of the human movement measurement 
applications, a geo-referenced frame is not necessary and even 
the measurement of angle changes over short time intervals (e.g. 
a few minutes) with respect to a starting position is usually 
sufficient (e.g. the patient is asked to start the movement from a 
reference position). For these reasons the authors propose a 
robust measurement system solely based on the use of 
gyroscopes and a simple calibration procedure suitable to achieve 
reasonable drifts and angle accuracy over a few minute intervals. 

2.2. Sensor placement 

Considering a wearable motion capture product, the factors 
to be considered are accurately indicated by Marin et al. [10]. 

The placement factor is crucial to avoid any friction and 
displacement of the sensors during various activities. Even 
displacements during movements with a low angular velocity can 
abruptly decrease the accuracy of the representation. Therefore, 
the outermost places right above the joints and flat areas of the 
body are preferably used. Considering the application of medical 
rehabilitation, it is necessary to track the position of the bones 
that contribute to commuting and basic physical activities. The 
proposed solution uses 15 wearable sensors for full-body motion 
capture. These sensors are attached to the front and back side of 
the human body in an order that is illustrated in Figure 2, where 
the red dots refer to the sensors and the orange lines indicate the 
correct positioning of the sensors. Additionally, the sensor 
numbers, names and the measurand parameters are included in 
Table 1. 

Furthermore, as shown in Figure 3, the fixed fabric method is 
used for the attachment factor. In particular, 15 fabric elastic 
bands have been hand-made, with different circumferences 
according to the body parts where the wearable devices are 
intended to be installed. Furthermore, on each elastic band, a 
pocket with the size of 5 cm × 5 cm has been sewed to contain 
the sensing element with the dimension of 3 cm × 3 cm × 1 cm. 

 

Figure 1. Range of possible implementation methods.  



 

ACTA IMEKO | www.imeko.org September 2022 | Volume 11 | Number 3 | 3 

2.3. Hardware design 

To implement multiple wireless measuring nodes in forms of 
wearable devices that can perform online software level 
calibration, commercially available modules, also known as 

nRFtag (or Sensor_tag), were used, as illustrated in Figure 4. It 
also shows the sensor base and holder, which are used for sensor 
calibration. In particular, the base has been specifically designed 
and 3D printed by the Authors. The main specifications of the 
nRFtag are summarized in Table 2. From each sensor tag, the 
MEMS-based 6-DOF IMU MPU6050 [11] is used as the sensing 
element and the nRF51802 system on a chip (SoC) [12] is used 
as the processing unit and the Bluetooth Low Energy™ (BLE) 
communication module. 

The manufacturer recommended power supply for the sensor 
tag is a CR2032 non-rechargeable coin-cell battery with 3V 
output. Considering the portability design criteria, a rechargeable 
wearable device is more convenient from the perspective of the 

 

Figure 2. Sensor attachment to the human body and numbering of the 
sensors. On the left: front side. On the right: back side.  

 

Figure 3. The employed sensor (in the green box) and the hand-made elastic 
belt used to fix the sensor on the body (the wrist in this figure). 

Table 1. Sensor names and the measurand parameters. 

# Sensor Measurand 

1 Forehead Rotation and side-bend relating to the origin 

2 Chest Anterior/posterior tilt and lateral tilt to left/right 

3 Left arm Abduction/adduction, flexion/extension 

4 Right arm Abduction/adduction, flexion/extension 

5 Left wrist Abduction/adduction, flexion/extension 

6 Right wrist Abduction/adduction, flexion/extension 

7 Left hand Abduction/adduction, flexion/extension 

8 Right hand Abduction/adduction, flexion/extension 

9 Sacral(back) Rotation and side-bend relating to the origin 

10 Left knee Flexion/extension 

11 Right knee Flexion/extension 

12 Left ankle Plantar-flexion/dorsi-flexion and 
supination/pronation 

13 Right ankle Plantar-flexion/dorsi-flexion and 
supintion/pronation 

14 Left ankle Rotation and side-bend 

15 Right ankle Rotation and side-bend 

 

Figure 4. Top view of the Sensor_tag module (in the green square) attached 
to the base, which has been specifically designed and 3D printed for the 
sensor calibration.  

Table 2. Brief specifications of the nRFtag. 

Product name nRFtag (Sensor_tag) 

Application Wearable devices 

Supply voltage 3V coin-cell battery 2032 package 

Embedded modules - nRF51802 (ARM® Cortex™-M0 
- MPU6050 IMU 
- BMP280 Barometric pressure sensor 
- AP3216 Ambient light sensor 

Size Circular shape d = 30 mm 

TX Power +4 dBm ~ -20 dBm 

On air data rate 250 kbps, 1 Mbps or 2 Mbps 

Modulation GFSK 

RX current 9.5 mA 

TX current at +4 dBm 10.5 mA 



 

ACTA IMEKO | www.imeko.org September 2022 | Volume 11 | Number 3 | 4 

actor user. For this reason, a rechargeable circuit for the wearable 
devices was designed and implemented. Although it was possible 
to use a rechargeable coin-cell battery with the same package size 
and output voltage (e.g. ML2032 Li-Al coin-cell battery), our 
solution uses a Lithium-Polymer (Li-Po) type of battery as the 
power supply. The reason for this preference was the variety of 
available options in terms of supply capacity, higher charging 
rate, and simplicity of charging circuit implementation for Li-Po 
batteries compared to other types. During this hardware 
modification, additional components such as TP4056 battery 
charger module [13] and CE6208 DC/DC buck converter [14] 
were used. 

The central receiver in this project works as a communication 
bridge between the sensor tags and the personal computer. This 
component should receive the measurement data, construct a 
data structure, and transfer the data to a personal computer. For 
this purpose, an nRF52840 development kit manufactured by 
Nordic Semiconductor™ was considered as illustrated and 
summarized in Figure 5 and Table 3 respectively. This 
development kit enabled us to interact with the 15 measurement 
nodes concurrently using BLE communication protocol for real-
time measurement [15]. 

Furthermore, an approximated cost of the main components 
of the system are represented in Table 4 where the items 
indicated with (*) are only required for the rechargeable 
configuration. These components are available in the commercial 
market, and it is of course possible to further reduce the cost of 
the system in case of bulk production. If we compare the 
obtained total price (in both the two proposed solutions) with 
the costs of the available commercial systems (which, as reported 
in the Introduction, range from a few thousand dollars to even 
tens of thousands of dollars), it can be immediately understood 
the considerably high cost savings. 

2.4. Attitude representation 

Despite different possible methods of attitude representation 
that are preferred due to the application [16], [17], the most 
common way of representing attitude of a rigid body in 3D space 

 
1 Euler angles were introduced by Leonhard Euler in 18th 

century 

is using the Euler angles1. Euler angles represent rotation by 
performing a sequential operation with respect to a particular 
sequence and angle value. By representing the 3D space with 
three perpendicular axes denoted as i,  j, k, it is possible to rotate 
any rigid body object by angles φ, θ, ψ with respect to the 3D 
axes. 

Rotations based on Euler angles can be represented using a 
rotation vector as indicated in equation (1). 

𝑢: = [𝜑 𝜃 𝜓] (1) 

Considering equation (2) where R is a rotation operation 

along a single axis, it could be understood that 𝑅𝑖𝑗𝑘 is a rotation 
function which consists in the product of three individual 
rotations along each 3D axis sequentially. 

𝑅𝑖𝑗𝑘 ≔ 𝑅𝑖(𝜑)𝑅𝑗(𝜃)𝑅𝑘(𝜓) (2) 

By denoting the i, j and k axes as 1, 2 and 3 respectively, it 
could be stated that the performed sequence in equation (2) is 
[1,2,3]. This sequence is widely used for applications consisting 
representation of gyroscopic spinning motions of a rigid body. 

Although Euler angles are widely used because of their easy-
to-understand mathematical expression, employing them might 
introduce a major drawback also referred to as singularities 
during attitude representation. These singularities, which are also 
known as Gimbal Lock, might occur during specific sequence 
operations. The Gimbal lock is basically losing one or more 
degree of freedom (DOF) when two or more axes are positioned 
in parallel to each other. In particular, with a [1,2,3] sequence, the 
Gimbal lock problem will arise when the rotation along the 

second axis (𝜃) becomes an integer multiplication of 90° (𝜃 =
 𝑛 π). 

In order to overcome the issues regarding singularities, it is 
possible to use the unit Quaternions2 for attitude representation. 
The unit Quaternions are a form of a four-component complex 
numerical system which are mostly used in the pure mathematics, 
but indeed, have practical uses in applied science such as 
navigation systems and attitude representation in 3D space. 

Unlike Euler angles, unit Quaternion rotation vector is 

composed by four components. The first component 𝑞0 ≔ 𝑤 is 
a scalar value related to the rotation angle, while the following 

three parameters are a vector 𝑞1:3 ≔ (𝑥, 𝑦, 𝑧) that indicates the 
rotation axis as represented in equation (3). 

𝑞𝑤,𝑥,𝑦,𝑧 = [𝑞0 𝑞1 𝑞2 𝑞3]
𝑇 = [

𝑞0
𝑞1:3

] (3) 

One key advantages of the unit Quaternions comparing to 
Euler angles is the fact that in case of the unit Quaternions, the 
attitude representation process is not sequential. Hence, the unit 
Quaternions do not suffer from singularities. Therefore, in our 

2 Quaternions were introduced by William Rowan Hamilton 
in 19th century 

 

Figure 5. Central receiver development kit (NRF52840 DK).  

Table 3. Brief specifications of the central receiver. 

Product name nRF52840DK 

Application Central receiver 

Supply voltage 1.7 ~ 5.5 V 

Processor nRF52840 (ARM® Cortex™ - M4 

Size Rectangular shape (135 × 63 mm²) 

Table 4. Price of the single components and total price of the system (for the 
two proposed solutions). 

Item Number of employed items Unit price (€) 

nRF52840 DK × 1 59 

Sensor_tag × 15 16 

Li-Po battery (*) × 15 3 

TP4056 Charger (*) × 15 1 

DC/DC Buck converter (*) × 15 1 

Total price  299 

Total price (rechargeable)  374 (*) 



 

ACTA IMEKO | www.imeko.org September 2022 | Volume 11 | Number 3 | 5 

method of representation, the unit Quaternions are preferred 
over the Euler angles. In addition, since the unit Quaternions use 
only complex multiplications, they require less hardware 
resources comparing to the Euler angles that require triangular 
function derivations [16]. Although the unit Quaternions benefit 
from a more robust mathematical derivation and no singularities, 
there are not easy to interpret with a physical meaning. Hence, in 
order to report the data to the end-user, we preferred to convert 
the unit Quaternion values to the Euler angles only when a 
numerical value representation is needed. The conversion 
function from the unit Quaternions to the Euler angles is 
possible as indicated in equation 4 (and vice versa as indicated in 
equation (5)). It is important to note that this conversion depends 
on the Euler angles' sequential system, which in the case of this 
solution is [1,2,3]. 

𝑅(𝑢)1,2,3 = [

atan2(2𝑞2𝑞3 + 2𝑞0𝑞1, 𝑞3
2 − 𝑞2

2 − 𝑞1
2 + 𝑞0

2)

−asin(2𝑞1𝑞3 − 2𝑞0𝑞2)

atan2(2𝑞1𝑞2 + 2𝑞0𝑞3, 𝑞1
2 + 𝑞0

2 − 𝑞3
2 − 𝑞2

2)

] (4) 

𝑞𝑤,𝑥,𝑦,𝑧 = [

𝑞0
𝑞1
𝑞2
𝑞3

] ≔

[
 
 
 
 

𝐶𝜙/2𝐶𝜃/2𝐶𝜓/2 + 𝑆𝜙/2𝑆𝜃/2𝑆𝜓/2
−𝐶𝜙/2𝐶𝜃/2𝐶𝜓/2 + 𝑆𝜃/2𝑆𝜓/2𝑆𝜙/2
𝐶𝜙/2𝐶𝜓/2𝐶𝜃/2 + 𝑆𝜙/2𝑆𝜃/2𝑆𝜓/2
𝐶𝜙/2𝐶𝜃/2𝐶𝜓/2 − 𝑆𝜙/2𝑆𝜓/2𝑆𝜃/2 ]

 
 
 
 

 (5) 

Where C and S are the short terms for the Cosine and Sine 

functions respectively, atan2 stands for 2-parametric inverse 
tangent function, and asin is the inverse sine function. 

2.5. Calibration method 

Low cost IMU devices are unfortunately affected by 
important systemic errors, mainly due to gain errors and to axis 
misalignments, which may lead to poor accuracy, especially when 
the sensor has to deal with accelerations and rotations that 
frequently change axes, as expected in human movement 
measurements. A calibration has therefore to be performed in 
order to achieve acceptable results. 

The main sources of inaccuracy in the use of the gyroscope 
lay in the gain error (the offset error is present as well, but it is 
not of concern since it can be easily removed by collecting some 
initial measurements with the sensor laying in a static position) 
and in the axes misalignments (i.e. the axes of sensitivity of three 
gyroscopes are not exactly orthogonal each other). Assuming 
that the sensor x-axis is correctly aligned with the reference frame 
x-axis (more properly that the reference frame x-axis is chosen 
parallel to the actual sensor x-axis), and assuming that the 
reference y-axis is chosen so that the sensor y-axis lies in the 
reference frame x-y plane, the measurement signals can be 
related to the actual sensor rotation by using the following matrix 
equation: 

(
𝑋
𝑌
𝑍
) = (

𝑎′ 0 0
𝑏′ 𝑐′ 0
𝑑′ 𝑒′ f′

) . (

𝑋𝑠
𝑌𝑠
𝑍𝑠

) (6) 

Where 𝑋𝑠, 𝑌𝑠 and 𝑍𝑠 represent the actual angular speeds with 
respect to the reference frame, and 𝑋, 𝑌, 𝑍 represent the signals 
measured by the sensor along its non-orthogonal axes and 
affected by gain errors. The sensor angular speed can be obtained 
from the measured signals by inverting the previous equation, 
whose matrix maintains a triangular shape: 

(

𝑋𝑠
𝑌𝑠
𝑍𝑠

) = (
𝑎 0 0
𝑏 𝑐 0
𝑑 𝑒 𝑓

) . (
𝑋
𝑌
𝑍
) (7) 

Considering a rotation with angular speed 𝜔 along an 
arbitrary axis, it can be written: 

𝑋𝑠
2 + 𝑌𝑠

2 + 𝑍𝑠
2 = 𝜔2 (8) 

and therefore: 

𝑎2𝑋2 + (𝑏𝑋 + 𝑐𝑌)2 + (𝑑𝑋 + 𝑒𝑌 + 𝑓𝑍)2 = 𝜔2 (9) 

rearranging the terms: 

𝑋2(𝑎2 + 𝑏2 + 𝑑2) + 𝑌2(𝑐2 + 𝑒2) + 𝑍2(𝑓2) + 2𝑋𝑌(𝑏 𝑐 +
𝑑 𝑒) + 2 𝑋 𝑍(𝑑𝑓) + 2 𝑌 𝑍(𝑒𝑓) = 𝜔2 , (10) 

which, with the following six definitions: 

𝛼 = 𝑎2 + 𝑏2 + 𝑐2 𝛽 = 𝑐2 + 𝑒2 𝛾 = 𝑓2 𝛿 = 𝑏𝑐 +
𝑑𝑒 𝜖 = 𝑑𝑓 𝜁 = 𝑒𝑓 , (11) 

leads to the following compact matrix system of equations that 
collects all the applied rotations: 

(

𝑋1
2 𝑌1

2 𝑍1
2 2𝑋1𝑌1 2𝑋1𝑍1 2𝑌1𝑍1

𝑋2
2 Y2

2 Z2
2 2𝑋2𝑌2 2𝑋2𝑍2 2𝑌2𝑍2

⋮ ⋮ ⋮ ⋮ ⋮ ⋮
𝑋N

2 YN
2 ZN

2 2𝑋N𝑌N 2𝑋N𝑍N 2𝑌N𝑍N

) .

(

 
 
 

α 
β
γ
δ
ε
ζ )

 
 
 

=

(

𝜔1
2

𝜔2
2

⋮
𝜔𝑁

2

) (12) 

The six unknown parameters (from 𝛼 to 𝜁), can be obtained 
inverting the previous equation if at least six rotations with 

known speed (𝜔1to 𝜔𝑁) have been applied. Eventually the 
required coefficients can be quickly obtained with the following 
order: 

𝑓 = √𝛾 𝑑 = 𝜖/𝑓 𝑒 = 𝜁/𝑓 𝑐 = √𝛽 − 𝑒
2 𝑏 = (𝛿 −

𝑑𝑒)/𝑐 𝑎 = √𝛼 − 𝑏2 − 𝑐2 (13) 

This calibration has been easily implemented on the sensor 
micro-controller using the matrix SVD decomposition for 
solving the system of equation (12), however the application of 
a rotation with a known speed to the sensor is not practical and 
would require complex equipment. Fortunately, considering 
practically applicable sets of axes during calibration, the previous 
equations, by integration, hold also with angles for rotations 
along any arbitrary fixed axis. Therefore, the proposed approach 
consists in rotating the sensor along a set of unknown axes for 
an integer number of turns, integrating the sensor signals and 

replacing (2 𝑘 π)2 instead of 𝜔2 in equation (12). 
To manage the calibration procedure, a base for rotating the 

sensor along arbitrary axes was necessary. Therefore, as already 
mentioned in Section 2.3, a specific base has been designed and 
3D printed (the base is visible in Figure 4). In addition, a specific 
virtual app has been developed using the Bluetooth version of 
the miuPanel platform (ref. https://miupanel.com). By means of 
the miuPanel platform a mobile phone can establish a direct BLE 
connection with the sensors and retrieve a graphical panel for 
controlling the sensor. 

The developed panel is shown in Figure 6: it contains a real-
time visualization of the Yaw, Pitch and Roll angles, and some 
buttons to start the calibration, to acquire multiple rotation and 
to compute the calibration coefficients. Through the panel it is 
also possible to store the calibration results into the sensor flash 
memory. 



 

ACTA IMEKO | www.imeko.org September 2022 | Volume 11 | Number 3 | 6 

2.6. Embedded software design 

In this part, the combination of the central receiver and all the 
wearable devices as the acquisition group will be addressed. 
Due to the software design considerations, it is necessary to 
indicate the desired features and specifications of the solution. 
The basic requirements regarding the acquisition group of our 
cable-free Mo-Cap solution are indicated below: 

• The central receiver should be able to receive data from 
all the 15 wearable sensors simultaneously and to 
associate them to the corresponding body part. 

• Central receiver should be able to identify the index of 
the received data for synchronization purposes. 

• A lightweight format for data string communication 
between the central receiver and the wearable devices 
should be constructed. This data structure, which is also 
referred to as the data matrix, should be able to contain 
the measurement raw data and necessary attributes such 
as functionality status from the wearable devices. 

The first two requirements are associated with the connection 
establishment, while the rest are related to the measurement data 
structure. As previously mentioned, the employed connection 
protocol in the proposed solution is Bluetooth™ Low Energy. 
This protocol sufficiently satisfies the requirements such as fast 
connection establishment, short-range and high-speed data 
transfer. 

The set of instructions which are executed by the peripherals 
are included in Figure 7, where the red path indicates the 
calibration algorithm to reduce drifts of the gyroscope 
measurements. 

To avoid connection establishment to the unnecessary 
devices within the BLE range, the central receiver is programmed 
to only search for this service-characteristic profile. Furthermore, 
in order to distinguish each sensor, the unique peer address 

identifier of each sensor is associated with the sensor number in 
Table 1. 

The peripheral communicates data through advertisement 
packets transmitted every 20 ms. Since the attributes and the 
payload (measurement data) consume more data bytes than a 
single BLE advertisement packet size (31 Bytes), it is necessary 
to communicate the data using multiple advertisements packets. 
Each advertisement packet size has 31 Byte of data, and it 
consists of information such as: generic access profile (GAP), 
type, manufacturer specific data, the peripheral address, and the 
payload. 

Upon receiving the advertisement packets by the central 
receiver, the data matrix is structured to be communicated to a 
personal computer using serial communication. The set of 
instructions that are executed by the central receiver are indicated 
in Figure 8, where initialization process is only executed when 
the central receiver is turned on, while the acquisition and 
communication process are done continuously. 

2.7. Representation software design 

In order to represent the measurement data, representation 
software in form of windows applications were developed. These 
applications use various techniques to interpret the incoming 
data from the central receiver. Each windows application is 
provided with a graphical user interface (GUI) to interact with 
the professional user. Furthermore, these applications were 
created using software environments namely MATLAB, NI 
LabView, and Unity game engine. 

From the data matrix structure, it is possible to extract 
information such as sensor number, new data availability, data 
packet type, and measurement values. As illustrated in Figure 9, 
the general principle for the data interpretation process in all the 
software environments is to decode the incoming hexadecimal 
data matrix from the serial interface into single-precision 
floating-point using the IEEE 754-2019 Standard. The decoded 
data will be then converted into the Euler angles and the 
Quaternion values. Eventually, the converted angles are 
represented and stored numerically and graphically. 

 

Figure 6. Screenshot of the mobile application designed to manage the 
calibration process. 

 

Figure 7. Peripherals' program logic.  

 

Figure 8. Central receiver's program logic.  

 

Figure 9. Data interpretation logic. 



 

ACTA IMEKO | www.imeko.org September 2022 | Volume 11 | Number 3 | 7 

2.8. Experimental procedure 

The experiments were conducted separately for each of the 
representation applications. Therefore, the procedures and the 
necessary considerations regarding each test are explained in this 
section. 

2.8.1. Experiment 1 – Functionality test 

The aim of this experiment is the 3D representation of human 
physical activities using MATLAB and Unity game engine. 
Before proceeding to the tests, the experimental modules 
followed by a brief description are provided below. 

• Upper body experiment: These experiments are aimed 
to capture the upper body activities by tracking sensor 
numbers #1 to #8. 

• Lower body experiment: These experiments are aimed 
to capture lower body activities by tracking sensor 
numbers #9 to #15. 

• Full body experiment: These experiments perform the 
full-body motion capturing process by employing all the 
15 sensors. 

Figure 10 to Figure 13 illustrate the functionality of the 
representation procedure using MATLAB and Unity game 
engine where, in each figure, the test subject's posture is placed 
next to test results for an immediate comparison, while, for a 
better vision of the Reader, the position of the sensors on the 
body are marked with red circles on the picture, according to 
Table 1. 

2.8.2. Experiment 2 - Metrological characterisation 

This experiment aims to evaluate the Type A standard 
uncertainty. This preliminary evaluation has been done to 
estimate the standard uncertainty of a single sensor (Sensor #2 
corresponding to the chest of the test subject) throughout the 
measurement process. 

The experiment was performed by connecting a single sensor 
tag to the central receiver via BLE and connecting the central 
receiver to a personal computer using serial communication. The 
sensor tag was located on a fixed position (on a piece of sponge 
to damp environmental vibrations). Then, the sensor tag was 
turned on and the offset compensation phase started, which took 
approximately 10 seconds. The experiment was done for about 
9 minutes, at room temperature (23 °C) while errors due to the 
PCB mounting and Cross-Axis sensitivity effects were neglected 
[11]. Moreover, the NI LabView application was used to record 
the incoming data in a text-plain file. Finally, the text-plain file 
was converted into an Excel worksheet to perform the statistical 
analysis. 

5000 samples were considered for the analysis (500 seconds 
of data acquisition). Then the first 2000 samples were discarded 
to take into account the offset compensation phase and the 
warm-up time of the measuring units. Hence, the samples 
between 2001 to 5000 were used for this analysis. 

Let us consider the measurements of the gyroscope along 
each of the 3D axis as a variable that varies randomly. Hence, the 
measurement uncertainty of the instrument along each axis based 
on the experimental results could be calculated according to the 
Joint Committee of Guides in Measurements (JCGM) - Guide to 
the expression of uncertainty in measurements (GUM) [18]. The 
results of the calculations are provided in Table 5, and 
measurements obtained with sensors in static position are 
illustrated in Figure 14. 

2.8.3. Experiment 3 – Correction method evaluation 

The purpose of this experiment was to highlight the impact 
of the calibration algorithm for reducing the drifts in the 
gyroscope measurements. To induce the drifts in the measuring 
unit, we placed a sensor on a ruler with a defined position on a 
table and reported the measured value for each of the 3D axis. 
Then by grabbing the ruler with the right hand, we performed 15 
forward rotations and 15 lateral movements of the right arm in 1 
minute. Next, the ruler was placed at the same defined position 
and the mismatch between the initial value was reported. The 
above steps were repeated for 5 times, therefore, 15 groups of 

 

Figure 10. MATLAB upper body experiment with T-pose posture.  

 

Figure 11. MATLAB lower body experiment with an arbitrary posture.  

 

Figure 12. MATLAB full body experiment with T-pose posture.  

 

Figure 13.Unity lower body (left figure) and full body (right figure) experiment 
with an arbitrary posture.  

Table 5. Type A evaluation of the standard uncertainty. 

Parameters φº θº ψº 

Induced rotation 0 0 0 

Experimental SD of observations 0.015 0.022 0.0071 



 

ACTA IMEKO | www.imeko.org September 2022 | Volume 11 | Number 3 | 8 

observations along each axis were obtained. Finally, to 
emphasize the impact of the calibration method, we performed 
this experiment with and without the calibration algorithm being 
executed. 

The impact of the gyroscope calibration algorithm is 
highlighted in Figure 14. As it is demonstrated, observations 
without using the correction algorithm are prone to drifts over 
time during repetitive movements. On the other hand, the 

gyroscope measurement drifts are bounded to ±1.5 ° when 
executing the calibration algorithm. 

3. DISCUSSION 

Considering the limitations of machine vision technologies in 
motion capture solutions, in this paper, we presented a low-cost, 
non-optical, cable-free, real-time and full-body wearable motion 
capture solution using 15 distributed MEMS based IMU. By 
using the Bluetooth™ Low Energy wireless communication 
protocol, we established a low-power consuming and low-cost 
Mo-Cap system that fully satisfies the portability design criteria 
of wearable devices. 

Taking into account the broad range of applications for 
motion capture devices, our solution was specifically designed to 
be used for medical rehabilitation at home and in non-
professional gyms, where the cost of the system plays a very 
important role. Furthermore, it has been considered that the 
measurement duration and the angular velocity of the physical 
movements are low (i.e., physiotherapy and movement analysis 

in aged people) and that, after each set of exercises, the patient 
returns to a reference position. 

In the proposed solution, the angular position is estimated 
solely based on the measurements of the gyroscope. Since the 
gyroscopic measurements are prone to angular drifts over time, 
we proposed a software level calibration method that is able not 
only to eliminate the gain errors but also to take into account the 
axes misalignments. The results of our experiments appeared 
promising by bounding the gyroscope drifts to approximately 

±1.5 ° over a measurement period of 5 minutes. Moreover, the 
experimental results also demonstrated the functionality of the 
system and a preliminary attempt to metrologically characterise 
the measurement system was performed. 

Furthermore, the rotation angles can be further analysed 
using data processing methods for human activity recognition 
(HAR). This application is widely used for medical diagnostic 
procedures such as gait analysis and core stability assessment. It 
is therefore possible to implement HAR by using suitable 
classification methods such as deep neural networks. 

Table 6 shows a comparison between the proposed system 
and other available commercial systems. The table clearly shows 
that the performances and characteristics of our system are 
comparable with the ones of other commercial systems, at least 
in short periods of time. However, the great advantage of the 
proposed system is represented by the cost which, as discussed 
in the Introduction and shown in Table 4, is one or even two 
orders of magnitude smaller. This represents a very great 
advantage of the proposed system, which, for the desired 
applications of few minutes, provides similar performances to 
the commercial systems, but at very low-cost. 

REFERENCES 

[1] L. N. N. Nguyen, D. Rodríguez-Martín, A. Català, C. Pérez-López, 
A. Samà, A. Cavallaro, Basketball Activity Recognition using 
Wearable Inertial Measurement Units, Proceedings of the XVI 
International Conference on Human Computer Interaction. 
Association for Computing Machinery: Vilanova i la Geltru, Spain, 
2015, pp. 1-6.  
DOI: 10.1145/2829875.2829930  

[2] F. Casamassima, A. Ferrari, B. Milosevic, P. Ginis, E. Farella, L. 
Rocchi, A wearable system for gait training in subjects with 
Parkinson's disease. Sensors (Basel), 2014, 14(4), pp. 6229-6246. 
DOI: 10.3390/s140406229  

 

Figure 14. Measurements obtained with sensors in static position (left figure) and evaluation of the improvements obtained with the proposed calibration 
algorithm (right figure).  

Table 6. Comparison between the proposed system and other available 
commercial systems. 

Product 
Proposed 

system 
MTW 

Awinda [7] 
MOVIT 
G1 [8] 

Ultium 
Motion [9] 

Connection Wireless Wireless Wireless Wireless 

Range (m) 20 20 30 40 

Number of sensors 15 20 16 16 

Battery life (h) 10 6 6 10 

Orientation accuracy (°) 
1.5 (max 5 

min) 
1 1 1 

Sensor weight (g) 10 16 25 19 

Size (mm2) 30 × 30 47 × 30 48 × 39 44 × 33 

Angular range (deg/s) 2000 2000 2000 7000 

Quaternion rate (Hz) 10 60 100 100 

https://doi.org/10.1145/2829875.2829930
https://doi.org/10.3390/s140406229


 

ACTA IMEKO | www.imeko.org September 2022 | Volume 11 | Number 3 | 9 

[3] R. A. W. Felius, M. Geerars, S. M. Bruijn, J. H. van Dieën, N. C. 
Wouda, M. Punt, Reliability of IMU-Based Gait Assessment in 
Clinical Stroke Rehabilitation. Sensors (Basel), 2022, 22(3), pp. 1-
19.  
DOI: 10.3390/s22030908  

[4] D. Kelly, G. F. Coughlan, B. S. Green, B. Caulfield, Automatic 
detection of collisions in elite level rugby union using a wearable 
sensing device. Sports Engineering, 2012. 15(2), p. 81-92. 
DOI: 10.1007/s12283-012-0088-5  

[5] Y. Z. Cheong, W. J. Chew, The Application of Image Processing 
to Solve Occlusion Issue in Object Tracking. Proceedings of 
MATEC Web of Conference., 2018, pp. 1-10.  
DOI: 10.1051/matecconf/201815203001  

[6] G. D. Finlayson, Colour and illumination in computer vision. 
Interface Focus, 2018.  
DOI: 10.1098/rsfs.2018.0008  

[7] Xsens. MTW AWINDA. Online [Accessed 27 September 2022] 
https://www.xsens.com/products/mtw-awinda  

[8] Captiks. Movit System G1-3D. Online [Accessed 27 September 
2022] 
http://www.captiks.com/products/movit-system-g1-3d  

[9] USA, N. Ultium Motion. 2021. Online [Accessed 27 September 
2022] 
https://www.noraxon.com/our-products/ultium-motion/  

[10] J. Marin, T. Blanco, J.J. Marin, Octopus: A Design Methodology 
for Motion Capture Wearables. Sensors, 2017. 17(8), pp. 1-24. 
DOI: 10.3390/s17081875  

[11] InvenSense. MPU-6000 and MPU-6050 Product Specification. 
2013. Online [Accessed 27 September 2022]  

https://invensense.tdk.com/wp-
content/uploads/2015/02/MPU-6000-Datasheet1.pdf  

[12] Semiconductor., N. nRF51802 Multiprotocol Bluetooth low 
energy/2.4 GHz RF System on Chip Product Specification. 2016. 
Online [Accessed 27 September 2022]  
https://infocenter.nordicsemi.com/pdf/nRF51802_PS_v1.2.pdf  

[13] Corp, N.T.P.A. TP4056 1A Standalone Linear Li-lon Battery 
Charger with Thermal Regulation in SOP-8. Online [Accessed 27 
September 2022]  
https://www.mikrocontroller.net/attachment/273612/TP4056.p
df  

[14] Inc, N.C.E. CE6208 SERIES Ultra-Fast High PSRR 1A CMOS 
Voltage Regulator Online [Accessed 27 September 2022] 
https://datasheetspdf.com/datasheet/CE6208.html  

[15] Semiconductor, N. nRF52840 Development kit PCA10056 user 
guide. 2019; Online [Accessed 27 September 2022]  
https://infocenter.nordicsemi.com/pdf/nRF52840_DK_User_
Guide_v1.3.pdf  

[16] J. Diebel, Representing Attitude: Euler Angles, Unit Quaternions, 
and Rotation Vectors. Matrix, 2006, pp.1-35. 

[17] H. Parwana., M. Kothari, Quaternions and Attitude 
Representation. arXiv, Department of Aerospace Engineering, 
Indian Institute of Technology Kanpur, India, 2017, pp. 1-19. 
DOI: 10.48550/arXiv.1708.08680  

[18] JCGM. GUM: Guide to the Expression of Uncertainty in 
Measurement. 2008. Online [Accessed 27 September 2022] 
https://www.bipm.org/documents/20126/2071204/JCGM_100
_2008_E.pdf  

 

 

https://doi.org/10.3390/s22030908
https://doi.org/10.1007/s12283-012-0088-5
https://doi.org/10.1051/matecconf/201815203001
https://doi.org/10.1098/rsfs.2018.0008
https://www.xsens.com/products/mtw-awinda
http://www.captiks.com/products/movit-system-g1-3d
https://www.noraxon.com/our-products/ultium-motion/
https://doi.org/10.3390/s17081875
https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf
https://invensense.tdk.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf
https://infocenter.nordicsemi.com/pdf/nRF51802_PS_v1.2.pdf
https://www.mikrocontroller.net/attachment/273612/TP4056.pdf
https://www.mikrocontroller.net/attachment/273612/TP4056.pdf
https://datasheetspdf.com/datasheet/CE6208.html
https://infocenter.nordicsemi.com/pdf/nRF52840_DK_User_Guide_v1.3.pdf
https://infocenter.nordicsemi.com/pdf/nRF52840_DK_User_Guide_v1.3.pdf
https://doi.org/10.48550/arXiv.1708.08680
https://www.bipm.org/documents/20126/2071204/JCGM_100_2008_E.pdf
https://www.bipm.org/documents/20126/2071204/JCGM_100_2008_E.pdf