Low-Complexity Design and Validation of Wireless Motion Sensor Node to Support Physiotherapy

We present a motion sensor node to support physiotherapy, based on an Inertial Measurement Unit (IMU). The node has wireless interfaces for both data exchange and charging, and is built based on commodity components. It hence provides an affordable solution with a low threshold to technology adoption. We share the hardware design and explain the calibration and validation procedures. The sensor node has an autonomy of 28 h in operation and a standby time of 8 months. On-device sensor fusion yields static results of on average 3.28° with a drift of 2° per half hour. The final prototype weighs 38 g and measures ø6 cm × 1.5 cm. The resulting motion sensor node presents an easy to use device for both live monitoring of movements as well as interpreting the data afterward. It opens opportunities to support and follow up treatment in medical cabinets as well as remotely.


Introduction
Context: evolution in physiotherapy. In the last few decades, physiotherapy has expanded from focusing on physical treatment solely with massage and stretching to a broader health context. Common treatments at a physiotherapist's practice nowadays are for example post-operative rehabilitation, neurological injury treatment, occupational injury prevention, etc. Not only the field of application has developed, but also physical treatment techniques and approaches have improved, thanks to general medical progress. In particular, the technological improvements in imaging have helped physiotherapists for example to locate injuries more precisely and adjust the patient's treatment [1]. The goal of the development reported in this paper is to introduce technological support at the patient's side to improve the treatment, both curative and preventive.
Focus: motion-sensing node. In this paper, we present an Inertial Measurement Unit (IMU) sensor node to support the tracking and visualization of a patient's execution of physical exercises or daily movements. The priorities for the sensor design were low-power, low-complexity, low-cost, and a small form factor. We achieved the goal to realize a sensor node with a diameter of maximum 6 cm, weighing less than 50 g, costing less than 30€, which can be lowered significantly for higher volumes. Considering the medical context, the sensor node must be hermetically sealed. Therefore, wireless charging is implemented. The measured data is transmitted wirelessly to a base station for

Low Complexity Design of Wireless Motion Sensor Node
In the design of the sensor node, the following targets were set: • Accuracy. The sensor node needs to be able to measure the human body movement with high precision. With proper calibration, it is possible to achieve a target accuracy of ±2 • with a sampling frequency of 50 Hz [5].
• User-friendly. The device needs to be easy to use, capable of being operated by anyone, regardless of any medical or technical background. We opted to implement wireless charging to increase user-friendliness in operation and maintenance. The data is also wirelessly transferred to eliminate a mess of cables and thus providing freedom of movement.
• Autonomy. Users want to focus on the application rather than constantly thinking about charging the device. Therefore, an autonomy of at least 5 h and a charge time of less than 1.5 h is necessary.
• Affordable. To provide an appealing multi-purpose product for a wide range of applications, it needs to come at a low cost. That way, we want to reach a wide audience, both professionals as individuals.
The sensor node is built around an IMU. The data is wirelessly transmitted to a receiver and the internal battery can be wirelessly charged. Figure 1 shows an overview of the system. We discuss the main features of the sensor node here below.

Sensors
Motion can be monitored in several ways. A camera-based motion capturing system such as [6] can be used. These systems are highly accurate but expensive and cannot be used anywhere. Another method of monitoring movement that is more suited for our requirements, is by using an IMU. This type of sensor consists of several internal sensors. A 6 Degrees of Freedom (DoF) IMU is commonly used in recent works [7,8]. It has a constant drift in the resulting measurement data that cannot be corrected for.
To eliminate this problem, our design uses a 9 DoF IMU in which the additional magnetometer provides a fixed reference. It consists of a Microelectromechanical Systems (MEMS) gyroscope, accelerometer, and compass. The IMU (ICM-20948 from Invensense ) [9] was chosen for its ultra-low power operating current and high accuracy. The gyroscope is set to ±2000 dps full scale, the accelerometer is set to ±4 G full scale and the magnetometer is set to ±4900 µT. The sample rate of all sensors is set to 50 Hz.
To obtain accurate orientation data, sensor fusion is needed. As used in [10], a Digital Motion Processor (DMP) can be very efficient for running specialized sensor fusion algorithms. By offloading computationally heavy calculations from the main processor, the system can be more power-efficient. The lack of control of the sensor fusion and calibration is a significant drawback. By implementing our own sensor fusion and calibration, we can implement the most suited fusion algorithms and have full control over the calibration. Some systems use sensor fusion algorithms like a Kalman filter [7], which provide very accurate results but can be computationally intensive. A complementary filter, which is very easy to process but typically provides less accurate results than a Kalman filter, is sometimes used. It uses a high pass filter for the gyroscope values and a low pass filter for the accelerometer values. This method of sensor fusion is inaccurate during long measurements with a lot of movement. In [8] for example, [8] use a complementary filter for measuring static angles, thus primarily depending on the accelerometer values. We need high dynamic accuracy with low processing power thus implemented a Madgwick filter [11], which combines the best of both worlds.
The algorithm runs on the central microcontroller (ARM Cortex M0+ microcontroller (EFM32HG) from Silabs) [12]. It is designed by [11]. By combining the efficiency of this algorithm with a high accuracy, a bit of battery power is saved. Quaternions, a very good way of representing orientations, are used for the calculations. Figure 2 illustrates the functional block diagram of this filter with ⊗ a quaternion product, q a quaternion derivative andq a normalized vector. The algorithm has two adjustable parameters, β and f . β represents the error on the gyroscope measurements as the magnitude of a quaternion derivative. It determines the proportion of the correction value for the gyroscope. f represents the frequency of the measurements. The orientation is mainly calculated by integrating the changes in angular velocity from the gyroscope (1). At the same time, an orientation is calculated using the accelerometer and magnetometer values. A gradient descent algorithm, represented by , is used to find the most likely solution in the Figure 1. Overview of the hardware: The sensor node built around an Inertial Measurement Unit (IMU), wirelessly rechargeable and with wireless connectivity to a receiver base station.

Sensors
Motion can be monitored in several ways. A camera-based motion capturing system such as [6] can be used. These systems are highly accurate but expensive and cannot be used anywhere. Another method of monitoring movement that is more suited for our requirements, is by using an IMU. This type of sensor consists of several internal sensors. A 6 Degrees of Freedom (DoF) IMU is commonly used in recent works [7,8]. It has a constant drift in the resulting measurement data that cannot be corrected for. To eliminate this problem, our design uses a 9 DoF IMU in which the additional magnetometer provides a fixed reference. It consists of a Microelectromechanical Systems (MEMS) gyroscope, accelerometer, and compass. The IMU (ICM-20948 from Invensense ) [9] was chosen for its ultra-low power operating current and high accuracy. The gyroscope is set to ±2000 dps full scale, the accelerometer is set to ±4 G full scale and the magnetometer is set to ±4900 µT. The sample rate of all sensors is set to 50 Hz.
To obtain accurate orientation data, sensor fusion is needed. As used in [10], a Digital Motion Processor (DMP) can be very efficient for running specialized sensor fusion algorithms. By offloading computationally heavy calculations from the main processor, the system can be more power-efficient. The lack of control of the sensor fusion and calibration is a significant drawback. By implementing our own sensor fusion and calibration, we can implement the most suited fusion algorithms and have full control over the calibration. Some systems use sensor fusion algorithms like a Kalman filter [7], which provide very accurate results but can be computationally intensive. A complementary filter, which is very easy to process but typically provides less accurate results than a Kalman filter, is sometimes used. It uses a high pass filter for the gyroscope values and a low pass filter for the accelerometer values. This method of sensor fusion is inaccurate during long measurements with a lot of movement. In [8] for example, [8] use a complementary filter for measuring static angles, thus primarily depending on the accelerometer values. We need high dynamic accuracy with low processing power thus implemented a Madgwick filter [11], which combines the best of both worlds.
The algorithm runs on the central microcontroller (ARM Cortex M0+ microcontroller (EFM32HG) from Silabs) [12]. It is designed by [11]. By combining the efficiency of this algorithm with a high accuracy, a bit of battery power is saved. Quaternions, a very good way of representing orientations, are used for the calculations. Figure 2 illustrates the functional block diagram of this filter with ⊗ a quaternion product, . q a quaternion derivative andq a normalized vector. The algorithm has two adjustable parameters, β and f. β represents the error on the gyroscope measurements as the magnitude of a quaternion derivative. It determines the proportion of the correction value for the gyroscope. f represents the frequency of the measurements. The orientation is mainly calculated by integrating the changes in angular velocity from the gyroscope (1). At the same time, an orientation is calculated using the accelerometer and magnetometer values. A gradient descent algorithm, represented by , is used to find the most likely solution in the set of infinite solutions. (3) represents the measured orientation from the earth's magnetic field. In (4), the measurements are normalized and mapped to the plane of the earth. In (5) = f , the orientation from magnetometer and accelerometer values is calculated using a gradient descent algorithm. These values are normalized in (6) and used to correct gyroscope values with a factor β. These corrected gyroscope values are integrated in (2). Everything is further normalized in (7) to form unit quaternions and the results form is given as in Equation (1).
set of infinite solutions. (3) represents the measured orientation from the earth's magnetic field. In (4), the measurements are normalized and mapped to the plane of the earth. In (5) = f , the orientation from magnetometer and accelerometer values is calculated using a gradient descent algorithm. These values are normalized in (6) and used to correct gyroscope values with a factor β. These corrected gyroscope values are integrated in (2). Everything is further normalized in (7) to form unit quaternions and the results form is given as in Equation (1). Fig. 2. Block diagram representation of the complete orientation estimation algorithm for an MARG implementation including magnetic distortion compensation representing the maximum gyroscope measurement error of each axis. Using the relationship described by equation (2), β may be defined by equation (33) whereq is any unit quaternion.

IV. EXPERIMENTAL EQUIPMENT
The algorithm was tested using the xsens MTx orientation sensor [13] containing 16 bit resolution tri-axis gyroscopes, accelerometers and magnetometers. Raw sensor data was logged to a PC at 512 Hz and imported accompanying software to provide calibrated sensor measurements which were then processed by the proposed orientation estimation algorithm. The software also incorporates a propriety Kalman-based orientation estimation algorithm. As both the Kalman-based algorithm and proposed algorithm's estimates of orientation were computed using identical sensor data, the performance of each algorithm could be evaluated relative to one-another, independent of sensor performance.     By using quaternions, we avoid the gimbal lock problem, the inability to uniquely represent an orientation, of Euler angles. When for example the pitch angle is 90°, yaw and roll cause the sensor to move in exactly the same fashion. Another problem is the inability to produce reliable estimates when an angle approaches 90° [13]. The benefit of the Madgwick algorithm is that we can run it at a very low speed and still get accurate results. At 50 Hz, the sample rate used by the sensor node, we get a static error of ±1°and a dynamic error of ±2° [11].
The sensor node goes to sleep as much as possible to conserve battery energy. When the sensor node is picked up, the always-on accelerometer generates an interrupt and wakes up the system. Figure 3 illustrates this procedure. When the Madgwick parameters are set correctly, just a small portion of the accelerometer and compass values are used to correct the gyroscope error. When the sensor node wakes from sleep, the gyroscope has no reference orientation thus it would take approximately 30 s to obtain a correct orientation, depending on how much the actual orientation, when the sensor is picked up, differs from the orientation in sleep. After wake-up, the parameters of the Madgwick filter are dynamically adjusted to obtain a correct orientation quicker. The accelerometer and compass are used in the first few seconds of activity to obtain a correct reference frame. After this, the parameters are automatically adjusted to a high accuracy mode. In this mode, the integration of changes in angular velocity from the gyroscope is mostly relied on for calculating the orientation of the node. The accelerometer and the compass are only used to make small corrections. By using quaternions, we avoid the gimbal lock problem, the inability to uniquely represent an orientation, of Euler angles. When for example the pitch angle is 90 • , yaw and roll cause the sensor to move in exactly the same fashion. Another problem is the inability to produce reliable estimates when an angle approaches 90 • [13]. The benefit of the Madgwick algorithm is that we can run it at a very low speed and still get accurate results. At 50 Hz, the sample rate used by the sensor node, we get a static error of ±1 • and a dynamic error of ±2 • [11].
The sensor node goes to sleep as much as possible to conserve battery energy. When the sensor node is picked up, the always-on accelerometer generates an interrupt and wakes up the system. Figure 3 illustrates this procedure. When the Madgwick parameters are set correctly, just a small portion of the accelerometer and compass values are used to correct the gyroscope error. When the sensor node wakes from sleep, the gyroscope has no reference orientation thus it would take approximately 30 s to obtain a correct orientation, depending on how much the actual orientation, when the sensor is picked up, differs from the orientation in sleep. After wake-up, the parameters of the Madgwick filter are dynamically adjusted to obtain a correct orientation quicker. The accelerometer and compass are used in the first few seconds of activity to obtain a correct reference frame. After this, the parameters are automatically adjusted to a high accuracy mode. In this mode, the integration of changes in angular velocity from the gyroscope is mostly relied on for calculating the orientation of the node. The accelerometer and the compass are only used to make small corrections.
As a low power design consideration, inactivity is detected by checking the gyroscope values every second in an interrupt service routine, called from an Real Time Counter (RTC) interrupt.
The gyroscope values are supposed to be zero when idle. This procedure automatically puts the sensor node in sleep when it is not used.  Figure 3. Flowchart code: The sensor node is calibrated once at initialization, a Wake On Motion (WOM) interrupt wakes up the system and measurements can start, an Real Time Counter (RTC) timer is used to periodically check the status of the sensor node to maximize autonomy.
As a low power design consideration, inactivity is detected by checking the gyroscope values every second in an interrupt service routine, called from an Real Time Counter (RTC) interrupt. The gyroscope values are supposed to be zero when idle. This procedure automatically puts the sensor node in sleep when it is not used.

Calibration
Calibration is an essential part of motion capturing systems. With calibration, the accuracy of the measurements can be drastically increased. In this design, a manual one-time calibration is used. The manual calibration allows the use of a very energy-efficient microcontroller and can yield calibration values with high accuracy. First, the gyroscope and the accelerometer are calibrated. This happens by simply putting the sensor node on a flat, leveled surface. During these measurements, no changes in angular velocity from the gyroscope or acceleration forces from the accelerometer are expected. The accelerometer and gyroscope are temporarily set to the most sensitive measurement range of ±250 dps full scale and ±2 G full scale to obtain the highest calibration accuracy possible. A few thousand measurements are taken by filling the First In First Out (FIFO) buffer of the IMU. From these measurements, a gyroscope and accelerometer bias offset is calculated and further subtracted from the actual measurements. After calibration of the gyroscope and accelerometer, the measurement ranges are changed back to ±2000 dps full scale and ±4 G full scale.
The compass is calibrated by rotating the device 360°around its three axes or performing a figure-8 movement. For these measurements, the maximum sampling frequency of 100 Hz is temporary used to have more data to work with and therefore obtain a better calibration. After calibration, the magnetometer sample rate is changed back to 50 Hz. The result of such a measurement is shown in Figure 4, a 2D visualization of the three planes of the 3D sphere after rotating the sensor node. Two types of distortions can occur on the IMU measurements: hard and soft iron distortions [14]. Hard iron distortions, caused by a permanent magnetic material, create a constant offset on the sphere. These offsets can be determined by calculating the center of the sphere and subtracting this value from the measurements. Soft iron distortions are caused by materials like iron. These materials do not create their own magnetic field but create a deformation on one or more axes. This will generally create an ellipse instead of a circle in a 2D plot. Soft iron distortions are more difficult to correct. Each axis is multiplied with a scale factor to calibrate the measurements. The minimal and maximal compass values captured in the calibration procedure of each axis are measured determined. The span of the compass values for all three axes is calculated, as well as the mean span for the three axes. The scale factor per axis is thus mean divided by the span of the axis that will be corrected. Equation (2) provides the equation for the x-axis scale factor, exemplary for the

Calibration
Calibration is an essential part of motion capturing systems. With calibration, the accuracy of the measurements can be drastically increased. In this design, a manual one-time calibration is used. The manual calibration allows the use of a very energy-efficient microcontroller and can yield calibration values with high accuracy. First, the gyroscope and the accelerometer are calibrated. This happens by simply putting the sensor node on a flat, leveled surface. During these measurements, no changes in angular velocity from the gyroscope or acceleration forces from the accelerometer are expected. The accelerometer and gyroscope are temporarily set to the most sensitive measurement range of ±250 dps full scale and ±2 G full scale to obtain the highest calibration accuracy possible. A few thousand measurements are taken by filling the First In First Out (FIFO) buffer of the IMU. From these measurements, a gyroscope and accelerometer bias offset is calculated and further subtracted from the actual measurements. After calibration of the gyroscope and accelerometer, the measurement ranges are changed back to ±2000 dps full scale and ±4 G full scale.
The compass is calibrated by rotating the device 360 • around its three axes or performing a figure-8 movement. For these measurements, the maximum sampling frequency of 100 Hz is temporary used to have more data to work with and therefore obtain a better calibration. After calibration, the magnetometer sample rate is changed back to 50 Hz. The result of such a measurement is shown in Figure 4, a 2D visualization of the three planes of the 3D sphere after rotating the sensor node. Two types of distortions can occur on the IMU measurements: hard and soft iron distortions [14]. Hard iron distortions, caused by a permanent magnetic material, create a constant offset on the sphere. These offsets can be determined by calculating the center of the sphere and subtracting this value from the measurements. Soft iron distortions are caused by materials like iron. These materials do not create their own magnetic field but create a deformation on one or more axes. This will generally create an ellipse instead of a circle in a 2D plot. Soft iron distortions are more difficult to correct. Each axis is multiplied with a scale factor to calibrate the measurements. The minimal and maximal compass values captured in the calibration procedure of each axis are measured determined. The span of the compass values for all three axes is calculated, as well as the mean span for the three axes. The scale factor per axis is thus mean divided by the span of the axis that will be corrected. Equation (2) provides the equation for the x-axis scale factor, exemplary for the three axes. The result of these corrections, with the three circles perfectly round and centered, is given in Figure 5, showing that the calibration procedure operates correctly.
Sensors 2020, 20, 6362 6 of 17 three axes. The result of these corrections, with the three circles perfectly round and centered, is given in Figure 5, showing that the calibration procedure operates correctly.

Wireless Connectivity
Many wireless connectivity standards for Wireless Body Area Networks (WBAN) are available. We here briefly comment on the most considered technologies given the application focus of the presented design.
ZigBee operates with very low power usage. It works on top of the IEEE 802.14.4 standard, has a range of up to 100 m, and can be implemented as a mesh network. The low data rates of up to 250 kbps at 2.4 GHz make ZigBee less suited [15]. A second wireless standard is Z-Wave, a low data rate communication three axes. The result of these corrections, with the three circles perfectly round and centered, is given in Figure 5, showing that the calibration procedure operates correctly.

Wireless Connectivity
Many wireless connectivity standards for Wireless Body Area Networks (WBAN) are available. We here briefly comment on the most considered technologies given the application focus of the presented design.
ZigBee operates with very low power usage. It works on top of the IEEE 802.14.4 standard, has a range of up to 100 m, and can be implemented as a mesh network. The low data rates of up to 250 kbps at 2.4 GHz make ZigBee less suited [15]. A second wireless standard is Z-Wave, a low data rate communication Figure 5. 2D plot of a sphere after rotating the sensor node around each axis after calibration. The circles are perfectly round (near perfect sphere in 3D) and no offsets between the center of the circles and the origin are visible.

Wireless Connectivity
Many wireless connectivity standards for Wireless Body Area Networks (WBAN) are available. We here briefly comment on the most considered technologies given the application focus of the presented design.
ZigBee operates with very low power usage. It works on top of the IEEE 802.14.4 standard, has a range of up to 100 m, and can be implemented as a mesh network. The low data rates of up to 250 kbps at 2.4 GHz make ZigBee less suited [15]. A second wireless standard is Z-Wave, a low data rate communication protocol with data rates of 40 kbps-100 kbps and a range of up to 30 m. Since it uses the 900 MHz band, it is not bothered by interference from 2.4 Ghz wireless communication like WiFi. It is commonly used in home automation for interconnecting energy efficient sensor nodes. The master-slave type network has a typical latency of 200 ms [16]. A third wireless standard is Bluetooth. It is based on the IEEE 802.15.1 standard, has a higher data rate of up to 2 Mbps and a range of up to 100 m. The more advanced Bluetooth protocol is widely used for data and audio transmission. It uses a master-slave model for communication [17]. For the design of the low power sensor node, Bluetooth Low Energy (BLE) is more appropriate. This special Bluetooth version is specifically designed for applications with very low power usage. A maximal data rate of 1 Mbps Sensors 2020, 20, 6362 7 of 17 and a range of a few tens of meters can be achieved. BLE can use a master-slave model in a star topology or BLE devices can form a mesh network [16]. The advantage of BLE is its ability to directly connect to a smartphone or Bluetooth enabled device without the need for a separate receiving station. Following up with WiFi, based on the IEEE 802.11 standard with a very high data rate of 54 Mbps. The high power consumption makes WiFi less suited for a low power design [17]. We also studied the possibility of using a proprietary solution. The advantages are a possible further reduction in power consumption by packets with increased information density. Table 1 summarises the different wireless connectivity options in terms of power consumption, range, data rate and price. BLE is chosen for its low power consumption, sufficient range, relatively high data rate, low price, and high compatibility with existing devices. A WBAN is necessary for transmitting the measured data. BLE is chosen for its high throughput, minimal power consumption, and interoperability with other devices [16]. The Proteus II module (AMB2623 module from WE based on an nRF52832) [18] is chosen for its small form factor and integrated PCB antenna. The data is transmitted at 0 dBm.
The data packet, sent out at 50 Hz, contains a preface, the module ID of the receiver, the RSSI, the data, and a checksum for error correction. This is clarified in Figure 6. not bothered by interference from 2.4 Ghz wireless communication like WiFi. It is commonly used in home automation for interconnecting energy efficient sensor nodes. The master-slave type network has a typical latency of 200 ms [16]. A third wireless standard is Bluetooth. It is based on the IEEE 802.15.1 standard, has a higher data rate of up to 2 Mbps and a range of up to 100 m. The more advanced Bluetooth protocol is widely used for data and audio transmission. It uses a master-slave model for communication [17]. For the design of the low power sensor node, Bluetooth Low Energy (BLE) is more appropriate. This special Bluetooth version is specifically designed for applications with very low power usage. A maximal data rate of 1 Mbps and a range of a few tens of meters can be achieved. BLE can use a master-slave model in a star topology or BLE devices can form a mesh network [16]. The advantage of BLE is its ability to directly connect to a smartphone or Bluetooth enabled device without the need for a separate receiving station. Following up with WiFi, based on the IEEE 802.11 standard with a very high data rate of 54 Mbps. The high power consumption makes WiFi less suited for a low power design [17]. We also studied the possibility of using a proprietary solution. The advantages are a possible further reduction in power consumption by packets with increased information density. Table 1 summarises the different wireless connectivity options in terms of power consumption, range, data rate and price. BLE is chosen for its low power consumption, sufficient range, relatively high data rate, low price, and high compatibility with existing devices. A WBAN is necessary for transmitting the measured data. BLE is chosen for its high throughput, minimal power consumption, and interoperability with other devices [16]. The Proteus II module (AMB2623 module from WE based on an nRF52832) [18] is chosen for its small form factor and integrated PCB antenna. The data is transmitted at 0 dBm.
The data packet, sent out at 50 Hz, contains a preface, the module ID of the receiver, the RSSI, the data, and a checksum for error correction. This is clarified in Figure 6.

Preface
Module ID RSSI Data x Data y Data z Batt Checksum 02 84 0B 00 BC 04 20 DA 18 00 XX x x x x y y y y z z z z % CS Figure 6. Bluetooth Low Energy (BLE) data packet structure: The data is composed of a preface, the module ID, three Euler angles, the remaining battery charge (percentage) and a checksum.
The quaternions from the Madgwick sensor fusion filter are converted to Euler angle floats. The three floats each take up four bytes in memory [19]. Exactly those bytes will be read from memory and transmitted wirelessly to ensure no loss in accuracy. One byte is added to transmit the battery status. The quaternions from the Madgwick sensor fusion filter are converted to Euler angle floats. The three floats each take up four bytes in memory [19]. Exactly those bytes will be read from memory and transmitted wirelessly to ensure no loss in accuracy. One byte is added to transmit the battery status.
To guarantee a low power design, some software features are added. When the sensor node is picked up and cannot connect to a receiving device within five seconds, the sensor node enters sleep mode. The automatic reconnection of the sensor node with the receiving device is also built-in.
The receiving device is based on a development board (STM32L4+ microcontroller on an ST NUCLEO L45ZI development board) [20]. The same BLE module is chosen for this device. To be able to receive the transmitted data fast enough, an interrupt-based method is used together with a circular buffer [21]. The UART interrupt receives data and stores it in the buffer in the background. The received data is processed independently in the main program. A second UART transmits the data to a pc. A 3D representation of the orientation is written in VPython for visualization purposes.

Wireless Charging
Inductive wireless energy transfer is mainly used to recharge batteries of smartphones, wearables or, Internet of Things (IoT) devices. Implementation standards such as Qi, PMA, or AirFuel ensure a safe, efficient transfer of energy. Low power applications, below 5 W, often use e.g., proprietary solutions such as the "LinkCharge Low Power" technology from Semtech. Wearable devices, Electric toothbrushes, or LoRa based sensors are some of the many applications for the implementation of this technology [22]. ST Microelectronics also offers wireless power solutions for Smartwatches, or IoT battery-powered smart devices. The last option is to design your own Wireless Power Transfer (WPT) system without using existing standards. Building more efficient systems is time-consuming and not necessary since a lot of research has already been carried out in the 5 W WPT range.
In recent years, it has been generally accepted that the Qi is preferred over all other standards. The Wireless Power Consortium (WPC) manages and develops this standard. In the meantime, PMA, AirFuel and WPC have started a collaboration. All Qi-certified devices can communicate with each other. Charging a Qi-supported device can be performed by any Qi-certified charger. A series of functions in the standard ensures a safe charge cycle, such as thermal shutdown protection, foreign object detection, and overvoltage AC clamp protection [23].
The first wirelessly rechargeable smartwatches used proprietary WPT standards. New wearables switched to the Qi standard in contrast to wirelessly rechargeable smartphones, which were immediately equipped with the Qi standard. Recent smartphones are available with the option "Reverse Charging", which means that the internal smartphone coil can be used to charge devices that support Qi [24]. This new feature offers the possibility of recharging smartwatches with a smartphone. It makes sense that Qi was chosen above all other options for the sensor module. In most households, a Qi charger or a smartphone that supports reverse charging is available. Future measurements with this sensor can be used within families, as they can recharge their sensor modules at home.
We here further discuss the actual implementation of the battery charging circuit in the design of the sensor node presented in this paper. Since energy is transferred wirelessly via the Qi protocol, a Qi receiver IC was used. A TI Qi receiver IC (BQ51050) [23] was selected because of its high efficiency, wireless power receiver, integrated rectifier, and battery charger in a single package. The BQ51050A variant, combined with a Li-Ion battery is chosen because of its 4.20 V output voltage limitation. It is paired with an inductor coil (760308101214 coil from WE) [25], chosen for its very small size and a relatively decent Q-factor. The charging current is 200 mA with a termination current of 20 mA to ensure fast and safe charging. Temperature control with automatic cut-off functionality at 60 • is implemented by using a Negative Temperature Coefficient (NTC) resistor. Because of the small coil, we implemented some extra shielding to ensure a more optimal WPT. Figure 7 shows the two coils in the system with corresponding resonant circuits. A power transmitter coil is present in each charger pad and a receiver coil in each battery-powered device. Wireless charging achieves higher link efficiencies when implementing LC resonant circuits on both the receiver and transmitter. The coupling factor between the two coils is very low. Therefore implementing a resonant circuit can filter out the leak inductance and improve the link efficiency drastically [26]. A Qi charger pad has a built-in amplifier connected to an LC series resonant circuit. The energy receiver side consists of an LC resonant circuit with L, C s1 , and C s2 . These capacities can be calculated with the Equations (3) and (4). L s represents the inductance measured when the receiver coil is placed on top of a charger pad. L s is the free-space inductance. f s and f D are fixed values respectively 100 kHz and 1 MHz [23].
Filling in the formula and converting to values for which actual hardware components are commercially available gives 100 nF for C s1 and 1 nF for C s2 . Three other types of capacitors have an important function in the circuit. The BOOT, COMM, and CLAMP capacitors. The BOOT or bootstrap capacitors are used for driving the high-side FETs of the synchronous rectifier. The COMM capacitors allow communication with the charger pad. Here, capacitive load modulation is used. An extra capacitance is connected to the resonance circuit, which changes the resonance frequency. This change Sensors 2020, 20, 6362 9 of 17 is visible on the charger pad side. Load modulation allows communication between the power receiver charging circuit and the power delivery pad circuit. Guidance values for resistive load modulation can be found in the datasheet. The CLAMP capacitors ensure overvoltage protection. Above the rectified voltage of 15 V, the CLAMP capacitors are switched to change the resonance frequency and protect the circuit against high voltages. The datasheet provides suggestions for these values. Values of 10 nF, 470 nF and 47 nF were used for the BOOT, CLAMP and COMM capacities, respectively [23].
Filling in the formula and converting to values for which actual hardware components are commercially available gives 100 nF for C s1 and 1 nF for C s2 . Three other types of capacitors have an important function in the circuit. The BOOT, COMM, and CLAMP capacitors. The BOOT or bootstrap capacitors are used for driving the high-side FETs of the synchronous rectifier. The COMM capacitors allow communication with the charger pad. Here, capacitive load modulation is used. An extra capacitance is connected to the resonance circuit, which changes the resonance frequency. This change is visible on the charger pad side. Load modulation allows communication between the power receiver charging circuit and the power delivery pad circuit. Guidance values for resistive load modulation can be found in the datasheet. The CLAMP capacitors ensure overvoltage protection. Above the rectified voltage of 15 V, the CLAMP capacitors are switched to change the resonance frequency and protect the circuit against high voltages. The datasheet provides suggestions for these values. Values of 10 nF, 470 nF and 47 nF were used for the BOOT, CLAMP and COMM capacities, respectively [23].

Optimization for Low Energy
One of the main focuses of this work is the realization of a node with a convenient autonomy. A Li-Ion battery is chosen for its high energy density and low weight. The round battery with a capacity of 200 mAh is ideal for this prototype. This battery is rechargeable. With compatibility and ease of use in mind, Qi-compatible wireless charging is implemented. The whole system is powered at 2 V with an ultra-low Iq buck converter. In this configuration, a buck converter is much more efficient than a Low-dropout (LDO) regulator, even in sleep mode. The IMU works at 1.8 V. Here, the use of an LDO for the voltage drop of 0.2 V is more efficient. By running the whole system at 2 V instead of the traditional 3.3 V, a theoretical power difference of 9.610 mW is calculated when quiescent currents are neglected. This translates to a gain in the autonomy of 29.3 %. The sensor node consumes 0.102 mW in sleep mode and 25.839 mW in active measurement mode. This is reflected in an autonomy of 28 h in operation and of 261 days in sleep mode, which is well above the five hours put forward. An active power consumption of 25.839 mW is

Optimization for Low Energy
One of the main focuses of this work is the realization of a node with a convenient autonomy. A Li-Ion battery is chosen for its high energy density and low weight. The round battery with a capacity of 200 mAh is ideal for this prototype. This battery is rechargeable. With compatibility and ease of use in mind, Qi-compatible wireless charging is implemented. The whole system is powered at 2 V with an ultra-low Iq buck converter. In this configuration, a buck converter is much more efficient than a Low-dropout (LDO) regulator, even in sleep mode. The IMU works at 1.8 V. Here, the use of an LDO for the voltage drop of 0.2 V is more efficient. By running the whole system at 2 V instead of the traditional 3.3 V, a theoretical power difference of 9.610 mW is calculated when quiescent currents are neglected. This translates to a gain in the autonomy of 29.3 %. The sensor node consumes 0.102 mW in sleep mode and 25.839 mW in active measurement mode. This is reflected in an autonomy of 28 h in operation and of 261 days in sleep mode, which is well above the five hours put forward. An active power consumption of 25.839 mW is very low for this kind of system and can't be significantly improved with the hardware we are currently using. This power consumption in combination with a 200 mAh battery allows for a long enough time between charges. The sleep current of 0.102 mW can possibly be improved by disabling the Qi-wireless charger completely when it's not being used, thus eliminating quiescent currents. This can be done by using a MOSFET.

Prototype
A small physical design that is easy to place on the body is crucial. The sensor node features a round design with no sharp edges. The final prototype weighs 38 g and has dimensions ø6 cm × 1.5 cm. The structure of the case is shown in Figure 8. The wireless charging coil is positioned at the bottom (1). It is held in place by some offsets in the case (2). On top of that is the battery (3). Above the battery is the PCB (4) which is supported by four pins in the case (5). Everything is fastened nicely by the cover (6), which can be attached with a twist top. We did not yet hermetically seal the case for the initial experiments. By applying some sealant on the twist top, one can make the case more waterproof. Figure 9 shows the assembled prototype of the sensor node. The total cost of components is 28€ with case and 22€ without the case.
It is held in place by some offsets in the case (2). On top of that is the battery (3). Above the battery is the PCB (4) which is supported by four pins in the case (5). Everything is fastened nicely by the cover (6), which can be attached with a twist top. We did not yet hermetically seal the case for the initial experiments. By applying some sealant on the twist top, one can make the case more waterproof. Figure 9 shows the assembled prototype of the sensor node. The total cost of components is 28e with case and 22e without the case.

Validation with Easily Accessible Equipment
For the validation of the accuracy of the motion measurements realized by the sensor node, it is common to use professional equipment. The static verification process of the IMU has already been performed by using a computer monitored pan-tilt unit to place the sensor node in specific angles or by using a Vicon motion capturing system [6,8,27]. In the validation of the Madgwick filter for example, a Vicon motion capture system is also used [28]. Sensor validation on this equipment in general yields very accurate results but it is less accessible, expensive and time-consuming.
We propose an alternative, very accessible way of validation using convenient equipment in the context of designing a low-cost system that is user-friendly. With photogrammetry, one can get a fairly accurate representation of the performance of the sensor node. In this method, we take and interpret It is held in place by some offsets in the case (2). On top of that is the battery (3). Above the battery is the PCB (4) which is supported by four pins in the case (5). Everything is fastened nicely by the cover (6), which can be attached with a twist top. We did not yet hermetically seal the case for the initial experiments. By applying some sealant on the twist top, one can make the case more waterproof. Figure 9 shows the assembled prototype of the sensor node. The total cost of components is 28e with case and 22e without the case.

Validation with Easily Accessible Equipment
For the validation of the accuracy of the motion measurements realized by the sensor node, it is common to use professional equipment. The static verification process of the IMU has already been performed by using a computer monitored pan-tilt unit to place the sensor node in specific angles or by using a Vicon motion capturing system [6,8,27]. In the validation of the Madgwick filter for example, a Vicon motion capture system is also used [28]. Sensor validation on this equipment in general yields very accurate results but it is less accessible, expensive and time-consuming.
We propose an alternative, very accessible way of validation using convenient equipment in the context of designing a low-cost system that is user-friendly. With photogrammetry, one can get a fairly accurate representation of the performance of the sensor node. In this method, we take and interpret

Validation with Easily Accessible Equipment
For the validation of the accuracy of the motion measurements realized by the sensor node, it is common to use professional equipment. The static verification process of the IMU has already been performed by using a computer monitored pan-tilt unit to place the sensor node in specific angles or by using a Vicon motion capturing system [6,8,27]. In the validation of the Madgwick filter for example, a Vicon motion capture system is also used [28]. Sensor validation on this equipment in general yields very accurate results but it is less accessible, expensive and time-consuming.
We propose an alternative, very accessible way of validation using convenient equipment in the context of designing a low-cost system that is user-friendly. With photogrammetry, one can get a fairly accurate representation of the performance of the sensor node. In this method, we take and interpret photographic images of positions of the sensor. By comparing the data from the IMU with the data extracted from images, the static error on the measurements can be derived. The advantages are that this method can be performed almost anywhere and can be used with consumer off-the-shelf equipment. Since, in contrast to professional cameras, lower-cost equipment, such as a smartphone camera, suffers from lens distortions and lower quality recordings, some measures must be taken. To minimize the effect of the lower quality equipment, the camera is placed horizontally and perpendicular to the wall. This way, foreshortening effects are eliminated. Furthermore, the sensor is positioned such that its projection lies near the center of the image where radial distortion is minimal. This eliminates the need for a camera calibration procedure. Finally, we add several markers to the scene as shown in Figure 10. The relative position of these markers is measured up to ±2 mm.
Since all we need is angles, we can perform measurements in the image and transfer them to the reference system of the sensor node. By attaching a lever to the sensor node, the accuracy of the readings in the image increases. The angle of the sensor can easily be measured by indicating front and endpoints of the lever (red and green points in Figure 10) and mapping these points in the image to points on the wall, using the coordinate system defined by the surrounding markers. By comparing the data from the IMU with the data extracted from the images, the static error on the measurements can be derived for the pitch and roll axis. In our experiments, only static measurements are performed. Dynamic measurements are possible as well, in which case video instead of images should be recorded and the video frames must be synchronized with the output data of the sensor node. Doing so, one can obtain angles at frame level. Instead of manually indicating points in each video frame, this process can be automated using image tracking [29,30]. extracted from images, the static error on the measurements can be derived. The advantages are that this method can be performed almost anywhere and can be used with consumer off-the-shelf equipment. Since, in contrast to professional cameras, lower-cost equipment, such as a smartphone camera, suffers from lens distortions and lower quality recordings, some measures must be taken. To minimize the effect of the lower quality equipment, the camera is placed horizontally and perpendicular to the wall. This way, foreshortening effects are eliminated. Furthermore, the sensor is positioned such that its projection lies near the center of the image where radial distortion is minimal. This eliminates the need for a camera calibration procedure. Finally, we add several markers to the scene as shown in Figure 10. The relative position of these markers is measured up to ±2 mm. Figure 10. Method for sensor validation based on photogrammetry using convenient, commercial off-the-shelf equipment. By comparing the data from the IMU with the data extracted from images, the static error on the measurements can be derived for the pitch and roll axis.
Since all we need is angles, we can perform measurements in the image and transfer them to the reference system of the sensor node. By attaching a lever to the sensor node, the accuracy of the readings in the image increases. The angle of the sensor can easily be measured by indicating front and endpoints of the lever (red and green points in Figure 10) and mapping these points in the image to points on the wall, using the coordinate system defined by the surrounding markers. By comparing the data from the IMU with the data extracted from the images, the static error on the measurements can be derived for the pitch and roll axis. In our experiments, only static measurements are performed. Dynamic measurements are possible as well, in which case video instead of images should be recorded and the video frames must be synchronized with the output data of the sensor node. Doing so, one can obtain angles at frame level. Instead of manually indicating points in each video frame, this process can be automated using image tracking [29,30]. Table 2 gives an overview of the measurements. For roll and pitch angles, the setup as shown in Figure 10 is used with the sensor node rotated 90°between roll and pitch measurements. Since the yaw values have no real fixed orientation, relative measurements are taken by using the setup as shown in Figure 11 where the sensor and markers are positioned on the floor instead of against the wall. Several static measurements were performed. The static sensor drift is 2°per half hour. The average error on the pitch axis is 3.06°, the average error on the roll axis is 2.75°and the average error on the yaw axis is 4.04°. Figure 10. Method for sensor validation based on photogrammetry using convenient, commercial off-the-shelf equipment. By comparing the data from the IMU with the data extracted from images, the static error on the measurements can be derived for the pitch and roll axis. Table 2 gives an overview of the measurements. For roll and pitch angles, the setup as shown in Figure 10 is used with the sensor node rotated 90 • between roll and pitch measurements. Since the yaw values have no real fixed orientation, relative measurements are taken by using the setup as shown in Figure 11 where the sensor and markers are positioned on the floor instead of against the wall. Several static measurements were performed. The static sensor drift is 2 • per half hour. The average error on the pitch axis is 3.06 • , the average error on the roll axis is 2.75 • and the average error on the yaw axis is 4.04 • . Alternatively, it is possible to measure all three (roll, pitch, yaw) angles at once by measuring the position of the lever endpoints in 3D using a stereo or multi-camera setup. However, drawbacks of such a method are the much higher complexity, the need for calibration and synchronization, and the lower accuracy in the depth dimension.
There are some irregularities in the measurements. The yaw value at 90 • seems to be off. A root cause could be the influence of a nearby magnetic object. The sensor can get disturbed in the near proximity of magnetic objects such as speakers and smartphones. These magnets create a distortion in the magnetic field which isn't fixed to the reference frame of the sensor node, thus can't be corrected for in calibration. The user can perform reliable measurements when staying half a meter away from these objects to obtain accurate measurements. The pitch error at 90 • is also too large. The reason is that Euler angles are not good at representing orientations in the neighborhood of 90 • [13].
Alternatively, it is possible to measure all three (roll, pitch, yaw) angles at once by measuring the position of the lever endpoints in 3D using a stereo or multi-camera setup. However, drawbacks of such a method are the much higher complexity, the need for calibration and synchronization, and the lower accuracy in the depth dimension.
There are some irregularities in the measurements. The yaw value at 90°seems to be off. A root cause could be the influence of a nearby magnetic object. The sensor can get disturbed in the near proximity of magnetic objects such as speakers and smartphones. These magnets create a distortion in the magnetic field which isn't fixed to the reference frame of the sensor node, thus can't be corrected for in calibration. The user can perform reliable measurements when staying half a meter away from these objects to obtain accurate measurements. The pitch error at 90°is also too large. The reason is that Euler angles are not good at representing orientations in the neighborhood of 90° [13].

Validation with Real-Life Exercises
To evaluate and validate the dynamic behavior of the sensor node and real-life operation, two back exercises are performed. The first exercise starts with a person kneeling with hands on the ground. The back is periodically rounded and made hollow, thus demonstrating the periodic concavity of the spine. This is illustrated in Figure 12.

Validation with Real-Life Exercises
To evaluate and validate the dynamic behavior of the sensor node and real-life operation, two back exercises are performed. The first exercise starts with a person kneeling with hands on the ground. The back is periodically rounded and made hollow, thus demonstrating the periodic concavity of the spine. This is illustrated in Figure 12.  Figure 13 presents the result of the measurements. The exercise has been performed in a set of 3 repetitions. A periodic movement with a variation of ±45°on the roll axis can be observed. The pitch axis shows a little bit of sideways rotation in the lower back. The yaw axis is stable, which is to be expected. A second captured exercise is the lateral rotation of the back, illustrated in Figure 14. The patient should rotate the hull sideways, while maintaining stable lower limbs. The measured result is represented in Figure 15. An angular deviation of ±50°is present in the yaw axis data. Small changes in roll and pitch values are also observed. These two exercises provide a first evaluation of the dynamic characteristics of the sensor node. We clearly see that the amount of samples taken is appropriate to acquire accurate results. However, more testing, either by dynamic photogrammetry or with specialized equipment, is needed before a firm conclusion on accuracy can be made.   Figure 13 presents the result of the measurements. The exercise has been performed in a set of 3 repetitions. A periodic movement with a variation of ±45 • on the roll axis can be observed. The pitch axis shows a little bit of sideways rotation in the lower back. The yaw axis is stable, which is to be expected. A second captured exercise is the lateral rotation of the back, illustrated in Figure 14. The patient should rotate the hull sideways, while maintaining stable lower limbs. The measured result is represented in Figure 15. An angular deviation of ±50 • is present in the yaw axis data. Small changes in roll and pitch values are also observed. These two exercises provide a first evaluation of the dynamic characteristics of the sensor node. We clearly see that the amount of samples taken is appropriate to acquire accurate results. However, more testing, either by dynamic photogrammetry or with specialized equipment, is needed before a firm conclusion on accuracy can be made. rotate the hull sideways, while maintaining stable lower limbs. The measured result is represented in Figure 15. An angular deviation of ±50°is present in the yaw axis data. Small changes in roll and pitch values are also observed. These two exercises provide a first evaluation of the dynamic characteristics of the sensor node. We clearly see that the amount of samples taken is appropriate to acquire accurate results. However, more testing, either by dynamic photogrammetry or with specialized equipment, is needed before a firm conclusion on accuracy can be made.

Opportunities in e-Treatment Applications and Extended Functionalities
We here first explain the opportunities opened up by stand-alone low-cost and low-complexity sensor nodes in physio-therapeutic e-treatment. We benchmark the current solution and introduce further extensions of the system that can bring interesting features for both private and professional users.

Opportunities in Supporting e-Treatment in Physiotherapy
The presented wireless sensor node has been designed to meet the particular needs to support physiotherapy treatment. We wish to introduce technical support at the patient's side to improve both curative and preventive treatment. The sensor thus enables e-treatment, which we define as (remote) physical therapy that is supported by measurements made by wireless sensors. In a curative treatment, the patient can wear the sensor to assist the physiotherapist in the evaluation of (eventual take-home) rehabilitation exercises. A preventive treatment could consist of monitoring a person's daily movements or measuring a patient's flexibility. We specifically expect measurements at work to be interesting, knowing that the large majority of neuromusculoskeletal disorders result from repetitive movements and bad

Opportunities in e-Treatment Applications and Extended Functionalities
We here first explain the opportunities opened up by stand-alone low-cost and low-complexity sensor nodes in physio-therapeutic e-treatment. We benchmark the current solution and introduce further extensions of the system that can bring interesting features for both private and professional users.

Opportunities in Supporting e-Treatment in Physiotherapy
The presented wireless sensor node has been designed to meet the particular needs to support physiotherapy treatment. We wish to introduce technical support at the patient's side to improve both curative and preventive treatment. The sensor thus enables e-treatment, which we define as (remote) physical therapy that is supported by measurements made by wireless sensors. In a curative treatment, the patient can wear the sensor to assist the physiotherapist in the evaluation of (eventual take-home) rehabilitation exercises. A preventive treatment could consist of monitoring a person's daily movements or measuring a patient's flexibility. We specifically expect measurements at work to be interesting, knowing that the large majority of neuromusculoskeletal disorders result from repetitive movements and bad posture at work [31].

Opportunities in e-Treatment Applications and Extended Functionalities
We here first explain the opportunities opened up by stand-alone low-cost and low-complexity sensor nodes in physio-therapeutic e-treatment.
We benchmark the current solution and introduce further extensions of the system that can bring interesting features for both private and professional users.

Opportunities in Supporting e-Treatment in Physiotherapy
The presented wireless sensor node has been designed to meet the particular needs to support physiotherapy treatment. We wish to introduce technical support at the patient's side to improve both curative and preventive treatment. The sensor thus enables e-treatment, which we define as (remote) physical therapy that is supported by measurements made by wireless sensors. In a curative treatment, the patient can wear the sensor to assist the physiotherapist in the evaluation of (eventual take-home) rehabilitation exercises. A preventive treatment could consist of monitoring a person's daily movements or measuring a patient's flexibility. We specifically expect measurements at work to be interesting, knowing that the large majority of neuromusculoskeletal disorders result from repetitive movements and bad posture at work [31].
Also important in our definition of e-treatment, is the word remote. In the case of remote treatment, the patient is not physically present in the physiotherapist's practice, but for example at home and possibly assisted with one or more sensors. Especially because of the increasing cost of healthcare in our ageing society, it is important to look at efficient and low-cost alternatives. The connection is then real-time through a conference call, or non real-time by exchanging exercises over a manual for example. There are several reasons why a remote session can be preferred over a conventional consultation: • The patient can perform the session more or less independently.

•
The patient is abroad and wants to continue the treatment with the same physiotherapist. For example, elite athletes who have to travel a lot.
• A patient is not allowed to leave the house. The COVID-19 pandemic proved this to be a realistic scenario.
The effectiveness of e-treatment in a remote sense is exhaustively discussed in [32]. A last important field of application is the education of physiotherapists. With the help of our technology in a bigger ecosystem, we want to reach physiotherapist with e-learning and help them train and improve. In summary, the sensor can enable remote treatment, as well as support conventional consultations or even acquire measurement data for preventive purposes.

Extension to Multiple Sensor Nodes
Richer information and support in rehabilitation and e-treatment could be offered by the combination of multiple sensor nodes, either of the same type or using heterogeneous sensors. An especially relevant type is an Surface Electromyography (sEMG) sensor module for measuring muscle activity. While we have designed the first prototype for this sensor type, in a future version we will combine the IMU and the sEMG sensor into one module. By combining these sensors, we can capture a more complete picture of what the human body is doing. However, this generates extra technological challenges, especially with respect to synchronization, both intra-and inter-module, required to ensure concurrent measurements. Synchronization between the sEMG and the IMU can be implemented using a shared clock. Both sensors will experience the same clock drift. BLE beacon packets from a central node, in this case the receiver, or a custom protocol can be used to synchronize the clocks between sensor nodes [33]. The data can be transmitted using unidirectional beacon packets without re-transmission. This type of data transfer is very simple but does not guarantee the packet arrives at the receiver. A better way would be to use the BLE re-transmission functionality to ensure the packets are received properly. Time synchronization beacon packets could be sent in between. It is evident that both the electrical and the mechanical design will be more complicated, not in the least because of the need to integrate the functions in a small space.

Conclusions and Future Work
Conclusion. In this paper, a wireless on-body sensor node for measuring movement is presented. The careful choice of components, software optimizations, and overall low power design considerations lead to a sensor node with an autonomy of 28 h. An 'always-on' buttonless design, with a standby time of 8 months is developed that is ready to measure whenever it is picked up. We explained the calibration of the sensor node and zoomed in, in particular on a photogrammetric procedure to validate the sensor with easily accessible, low-cost equipment. On-device sensor fusion by using a Madgwick filter yields static results of on average 3.28 • with a drift of 2 • per half hour. The final prototype weighs 38 g and measures ø6 cm × 1.5 cm. The result of this work can be used in a broad range of applications. It allows doctors and physiotherapists to have an easy to use device to pass along with patients and afterward interpreting the results, it can be used for live monitoring of rehabilitation exercises or anything motion tracking related.
Future work. We see multiple opportunities in future work to both the current sensor node, and to extend it with new functionality and features. Firstly, we plan to further examine the accuracy of the sensor node by checking it against specialized equipment. We will add other sensors to get a more in-depth view of the human body. We also designed a sEMG sensor for measuring muscle activity. These two sensors could be integrated into one module to perform simultaneous measurements. Synchronization, both inter-and intra-sensor node, will be implemented to ensure precise, simultaneous measurements. A future upgrade could also implement a real-time calibration by using artificial intelligence [34]. This could well be implemented on a low power microcontroller with an ARM Cortex M4 chip (nRF52832 from Nordic Semiconductor), which is already used in the BLE module. By running the Bluetooth stack and the peripheral code on the same chip, we could eliminate the central Cortex M0+ microcontroller and further reduce the power consumption. We could also design our own PCB antenna. In the current design, the data is, other than being visualized, not further processed. To detect and analyze complex movements, further data analysis as well as learning algorithms can be implemented. Another extension to the system is a direct communication between the sensor nodes and a smartphone through an app. This eliminates the need for a separate receiver. Acknowledgments: This research has been supported by the NOMADe project of the EU Interreg Program France-Wallonie-Vlaanderen under grant agreement 4.7.360. We thank our colleagues in the NOMADe project for the valuable inputs leading to the design of our wireless sensor node that is adequate for usage in physiotherapy treatment.

Conflicts of Interest:
The authors declare no conflict of interest.

Abbreviations
The following abbreviations are used in this paper: