## 2 Materials and Methods
### Equipment of Experimental Research  
The experimental setup (Figure 1) comprises a human-body interface and a data-reception unit. The human-body interface includes data module sets for each limb, where a data module set incorporates a slave microcontroller (slave board) and a foot insole with an array of pressure sensors and an accelerometer. The data-reception unit includes the main data master microcontroller (master board) connected to the data storage. Figure 1: Experimental setup of the human-gait analysis: 1—left-foot data module set; 2—right-foot data module set; 3—slave microcontroller; 4—position of the sensors on the feet; 5—battery; 6—array of pressure sensors and accelerometer; 7—main data master microcontroller; 8—data storage. Each foot-mountable module had a set of pressure sensors, which operated as piezoresistive units. To account for the nonlinear relationship between sensor resistance and applied load, calibration factors were calculated by obtaining sensor readings with an array of precise masses. For loads that were not simulated using precise masses, calibration factors were calculated linearly, interpolating experiment-based calibration factors. The sensor load has an indicative value, so the foot load is later presented as a percentage of the full human-body load. The array consists of 3 individual sensors placed in supportive footprint locations (medial plantar, lateral plantar, and tibial), as shown in Figure 2. Pressure sensors were built by placing conductive pressure-sensitive material between two layers of aluminum foil acting as read-out electrodes. Each sensor was integrated into the circuit by connecting a common lower layer of aluminum foil to the positive potential of a power source and the separate upper layers to the ADC pins of an ESP32 microcontroller through a pull-up 10-Ohm resistor. To prevent direct electrical contact between the lower and upper electrodes, pieces of pressure-sensitive material were cut out to be of a slightly greater area than the upper electrode. The effective area of such a sensor is the intersecting area of aluminum-foil layers and the pressure-sensitive material layer. The 3-axis accelerometer/gyroscope module MPU 6050 (from TDK InvenSense Company, Sunnyvale, CA, USA) was mounted in the middle of the insole (Figure 2) and delivered accelerations and angular velocities of foot movement. A combination of pressure-sensor arrays and an accelerometer gyroscope allows for fully defining foot movement in the space in the compressed and free position. Analog signals from the pressure-sensor array are directly transferred to the ESP32 microcontroller's (Espressif Systems, Shanghai, China) general purpose input-output pins. Continuous signals are converted into discrete values using one of the two available 12-bit  
Figure 2: Experimental insoles with installed sensors. analog-digital converters. The digital signal from the accelerometer/gyroscope module is passed to a microcontroller through one of the two integrated I2C bus interfaces. ESP32 microcontroller's 2.4 GHz radio module and an integrated antenna were used for wireless communication. Slave and master microcontrollers employed an ESP-NOW communication protocol for intercommunication; meanwhile, a master microcontroller sent data to a data-storage device through a cable using a UART interface. As ESP32 microcontrollers support WIFI and Bluetooth communication, there was an option for direct communication between slave microcontrollers and the data-storage device. As the microcontroller only ever stores the most recently received data point in static RAM before sending it to the data-storage device, an extensive amount of volatile memory space was not required. Because permanent data storage is relegated to a dedicated data-storage device, the microcontroller's nonvolatile flash memory is used only for program memory. For this reason, external memory was not used despite it being an option. The experiment's data were obtained from all sensors at a frequency of 24.6 samples per second.