Introduction

Body language plays a crucial role in non-verbal communication, whether between humans or between humans and machines. It encompasses a variety of forms, such as hand gestures, arm movements, posture, walking, running, facial expressions, and eye movements. As human-machine communication evolves rapidly, it is essential to develop systems that facilitate simple and natural interactions for humans1,2,3,4. By gathering data from the sensors, these smart devices can interpret human intentions and translate them into corresponding commands executed by machines.

Furthermore, automated systems are becoming increasingly essential in the manufacturing industry due to their accuracy, speed, fatigue-free operation, better repetition of tasks, and much higher productivity than human labor. However, they lack the flexibility of humans. Therefore, good communication between humans and machines will create the best work efficiency5.

Recognizing gestures is also an important part of communication between people and systems in the healthcare industry, such as using robots in the operating room, physical therapy, or prosthetics for disabled people.

The deaf and mute community is a significant and growing group, yet they often do not receive the attention and support they deserve from society. A survey conducted by the General Statistics Office (GSO) in 2016 and 2017 with UNICEF’s technical assistance revealed that over 6.2 million individuals in Vietnam are either deaf or have significant hearing problems, which accounts for nearly 7% of the country’s total population aged 2 years and older, and an additional 13% - nearly 12 million, live in a household with a person with a disability6,7. They rely on sign language to communicate with one another, which primarily involves arm and hand movements. Words are expressed through morphology and fingerspelling. However, the grammar of sign language differs from that of Vietnamese, making it difficult to learn. As a result, many individuals who lose their hearing later in life choose not to learn it, leading to only a small portion of the deaf community being proficient. This underscores a significant communication barrier within the deaf community.

For decades, various research institutions and researchers have explored different methods to understand sign language, with the most common solution being the use of advanced image recognition technologies to analyze hand and arm movements8,9,10,11,12. Hu and colleagues proposed a hybrid CNN-RNN model for sEMG-based hand gesture recognition, combining spatial and temporal feature extraction. Their model incorporates attention mechanisms to enhance the recognition of gestures from often noisy EMG signals13. In another study, Wang et al. employed deep learning techniques to capture both spatial and temporal dependencies in EMG signal patterns, enhancing the accuracy and generalization of sEMG-based hand gesture recognition systems14. Additionally, cost-effective methods using accelerometers, gyroscopes, and flex sensors have demonstrated great success in enabling machines to interpret hand gestures. More recently, Liu et al. utilized bioimpedance as the primary technology to decode human postures into emotional states, achieving an impressive Macro F1 Score of 82.58% for six hand-over-face gestures15. While image-based systems can achieve high accuracy in controlled environments, they face challenges in dynamic settings, can be costly, and raise privacy concerns due to their reliance on cameras to capture visual data. Users may feel uncomfortable with video recordings, and there are security concerns related to the storage of image data. EMG-based systems, though accurate, require meticulous setup and calibration, limiting their scalability for widespread use. In contrast, bioimpedance offers a well-balanced solution, excelling in user-friendliness, portability, cost-effectiveness, and robustness to environmental conditions.

Building on this foundation, this project aims to develop a hand gesture recognition system using bioimpedance technology to facilitate seamless communication, especially for individuals in the deaf and mute community. The focus is on designing a practical and user-friendly sign language interpretation application that addresses the limitations of current technologies by offering improved accuracy, robustness to environmental factors, and greater accessibility for a wider range of applications. This article will provide an in-depth exploration of the design context, background research, and design methods, culminating in the presentation of deliverables that introduce an innovative solution to the field. Specifically, this project seeks to address communication challenges faced by the deaf and mute community in Vietnam.

Fig. 1
Fig. 1The alternative text for this image may have been generated using AI.
Full size image

The simplified functional block diagram of the hardware implementation for the proposed bioimpedance-based gesture recognition system.

Methods

System design

A bioimpedance measurement circuit is typically divided into three stages considering operational efficiency and safety concerns16: control, signal generation, and signal distribution and acquisition. A simplified functional block diagram of the system is illustrated in Fig. 1.

For the control system, Raspberry Pi 3 model B (Raspberry Pi Ltd., Cambridge, England) was chosen for this system due to its wide availability in the market, as well as its strong computational ability. In this work, Raspberry Pi computer was coded with Python to not only control the AD5933 chip (Analog Devices, Norwood, MA, USA) but also for real-time model deployment of hand-gesture recognition. The AD5933, known for its precision in measuring electrical impedance, integrates a range of functionalities such as a signal generator, digital-to-analog converter, digital signal processor, and analog-to-digital converter on a single chip and it was widely used for electrical impedance for decades16,17,18.

The Raspberry Pi communicates with the AD5933 through the I2C bus, sending commands to manage its operation and control the frequency. During this process, the AD5933 generates a fixed voltage output at the specified frequency of 50 kHz for bio-impedance measurements. The alternating voltage source from the chip is controlled with both amplitude and frequency. Due to the safety purpose, a constant amplitude of the injection voltage is maintained at 1 V peak-to-peak19. The AD5933 chip supports a stimulation frequency range typically between 1 kHz and 100 kHz, making it highly suitable for bio-impedance applications, including hand gesture recognition20,21,22. For instance, bio-impedance measurements for physiological parameters like respiration and heart rate have been successfully conducted with optimal stimulation frequencies between 70 and 80 kHz23. Additionally, previous studies have established that the typical frequency range for stimulation signals in hand gesture recognition applications lies between 20 and 60 kHz24,25. Based on this research, 50 kHz was chosen for the present study, as it provides an ideal balance between signal quality and performance.

One of the important requirements in electrical circuits used on the human body is the control of frequency and current amplitude applied to the tissue, which should be standardized according to IEC-60601 and dependent on frequency. However, the AD5933 provides a sine wave voltage with a constant amplitude in a bipolar configuration, which is not recommended for human applications18. Therefore, an additional stable voltage-controlled current source (VCCS) is needed when using the AD5933 chip. The load-in-the-loop circuit and Howland pump circuit, or improved versions such as the Double Howland or Mirrored Howland, have been compared in some studies, showing that the improved Howland circuits are more effective in stabilizing the current of the power source without being affected by the load components. However, the load-in-the-loop circuit still provides a certain level of efficiency19 and is simpler, which is why it is currently employed in this work.

For this research, instead of a complete electrical impedance tomography (EIT) system, the focus was solely on the raw signals received from the AD5933 to construct the device. The final design has a multiplexer act as a channel divider in the receiving stage, and without changing the transmitting stage altogether. After receiving raw data from each channel, the AD5933 converts it to real and imaginary data and then transmits it to the Raspberry Pi for calculation of impedance using the following equations:

$$\begin{aligned} Magnitude= & \sqrt{Real^2+Imagine^2} \end{aligned}$$
(1)
$$\begin{aligned} Impedance= & \frac{1}{Gain factor \times Magnidue}, \end{aligned}$$
(2)

where the “Gain factor” is calculated with a calibration procedure, using a known input impedance with the same system26.

When the AD5933 was activated along with the Raspberry Pi, it would also be controlled via I2C protocol for frequency sweeps, by sourcing an AC voltage with a frequency of 50 kHz at its “Vout” pin. This voltage source will then be converted into a current source via a load-in-the-loop circuit and divided into 2 emitting sites at the hand, through 2 electrodes. The other 6 electrodes are for the receiving stage, with 5 electrodes at each finger (thumb, index, middle, ring, and pinky finger, respectively) and another one in the middle as the reference. The voltage signals are measured by the AD5933 through its “Vin” pin one after another. The signals are sampled by the chip and then sent to Raspberry Pi. The data finally arrived at the computer for further processing.

Fig. 2
Fig. 2The alternative text for this image may have been generated using AI.
Full size image

Block diagram illustrating the software implementation of the proposed hand gesture recognition system, showcasing both the offline training process and the real-time deployment phase.

Various materials and designs have been investigated for the electrodes used in this system. Electrocardiogram (ECG) electrodes are commonly employed in many bioimpedance applications due to their high conductivity and ease of use. These electrodes typically feature silver/silver chloride (Ag/AgCl) material, which ensures stable electrical contact with the skin and minimizes impedance27,28. However, the final material used for the contact electrodes was dry conductive fabric due to its lightweight, stable signal, and can be reusable29,30.

Software implementation

The software implementation process is divided into two main categories, as shown in Fig. 2. The first category is offline analysis, where gesture-induced data is collected while users perform gestures to train machine learning models. The well-trained model, including its structure and optimal weights, is saved in a lite format to facilitate its transfer to the embedded system for deployment. These steps on data processing and training are performed on an Intel Core i7-powered personal computer (PC) with 16 GB of RAM, utilizing the CPU for computation. The second component is the online deployment of the pre-trained model, where new impedance data is used for real-time gesture prediction. The real-time gesture recognition process runs continuously until the user turns off the device with the on/off switch. Python and its libraries were exclusively used to code all procedures.

To begin an impedance measurement, the AD5933 is placed in standby mode and initialized with a starting frequency. Typically, it performs a frequency sweep to calculate impedance across a range of frequencies, but in this study, the device is configured to operate at a fixed frequency of 50 kHz for measurements instead of sweeping through multiple frequencies. As a result, both the number of increments and the increment frequency are set to 0, ensuring the AD5933 remains in a constant repeat mode at 50 kHz. After each measurement, the real and imaginary components of the impedance are stored within the AD5933 and later retrieved for impedance calculation. Additionally, the system was optimized to enhance the data acquisition sampling frequency from AD5933 to 317 Hz in an effort to obtain more detailed information on impedance changes during gesture performance.

As shown in Eq. (1) and (2), for the calculation of an impedance, aside from the magnitude (calculated from the real and imaginary value of AD5933), a gain factor is also needed. To get this value, the calibration process must be taken in place. This process for calibration is similar to that of the main impedance measurement, which would also require a frequency sweep for getting the real and imaginary values. However, instead of measuring an unknown impedance, the calibration process would measure an already known impedance to get its real and imaginary values from the AD5933. This gain factor will later be used for the main impedance measurement process. A 1 k\(\Omega\) resistor was used as the calibrating resistor for obtaining the gain factor, as human skin impedance is typically less than 1 k\(\Omega\)31,32, and the gain factor needs to be close to the measured load. The resistor was calibrated outside of the hardware design, set up using eight alligator clip connectors, and returned a closely accurate impedance value.

Fig. 3
Fig. 3The alternative text for this image may have been generated using AI.
Full size image

Performing gestures during experiments: (a) from left to right: relaxing, finger spelling of letter “A”, “B”, and “C”, respectively; (b) “Agree”.

Experiments and data acquisition

Data was collected via impedance measurements while users performed gestures. Following each frequency sweep and current injection, signals were sequentially measured through five electrodes placed on the fingers, managed by the multiplexer: “Thumb,” “Index,” “Middle,” “Ring,” and “Pinky” (Fig. 3a).

The study protocol was approved by the Ethics Committee of Ho Chi Minh City University of Technology, Vietnam National University, and was conducted in accordance with the Declaration of Helsinki. Informed consent was obtained from all subjects before their participation. All volunteers were healthy, right-hand dominant, aged between 20 and 35, consisting of 6 males and 4 females, and were deaf individuals without any other disabilities. During the measurement process, subjects were instructed to wear the electrodes on the back of their hands as illustrated in Fig. 3. The electrodes were placed at the second joint of the fingers, as this location provided the necessary flexibility for hand gesture execution.

Experiments were conducted with all ten individuals as they performed gestures, during which impedance data was collected. Each person was tested across 9 different labels: “A”, “B”, “C”, “Eat”, “Thanks”, “Agree”, “Sleep”, “Drink”, and “Sorry”. Among these, 6 labels “Agree”, “Eat”, “Drink”, “Sleep”, “Sorry”, and “Thanks” are dynamic, while 3 labels “A”, “B”, and “C” are static. Each gesture was measured for impedance changes over approximately 1.5 seconds, with the multiplexer scanning the five fingers, yielding 95 impedance values per finger. The training data for each gesture was meticulously labeled during the impedance measurement process based on the corresponding postures. On average, 80 gestures were recorded per class, organized into 4 sets of 20 gestures each. Each set lasted approximately 60 seconds, with a 2-min rest period between sets to ensure consistency. All collected data was recorded and pre-processed before further analysis. The hand gesture recognition procedure is based on machine learning algorithms using the TensorFlow library with the Python programming language on a PC for training and the TensorFlow Lite library on a Raspberry Pi for real-time deployment. TensorFlow and Keras libraries were used to train the processed data and create a machine learning model. This model was then created and evaluated multiple times to select the optimal one for real-time deployment.

Training and deployment of machine learning models

The current study evaluates the system with three different strategies including subject-dependent, subject-independent, and mixed-subject. In a subject-dependent strategy, the model is trained and tested on data from the same subject. Each subject has a personalized model, often fine-tuned to their specific bio-impedance patterns. Since the model only needs to generalize to the specific bio-impedance signals of the same subject, it can achieve high accuracy by learning subject-specific patterns but requiring re-training or adaptation for each individual user, which can be time-consuming for new subjects. The subject-independent, on the other hand, requires the model to be trained on data from a group of subjects and tested on unseen subjects. This approach aims to generalize across different individuals without needing subject-specific calibration. It requires a large and diverse training dataset to capture a wide variety of bio-impedance patterns but generalizing across subjects can lead to a drop in accuracy due to inter-subject variability. In the mixed-subject strategy, the model is trained on multiple subjects, partially fine-tune on the new subject and it requires some data from the new user for partial training or fine-tuning before using it. Thus it balanced accuracy and generalization between subject-dependent and subject-independent.

The dataset contains a total of 7444 gestures from all subjects. However, it is imbalanced due to certain limitations. Subject 1 contributed the most gestures, averaging 150 gestures per class, whereas Subject 10 performed approximately 50 gestures per class.

In the subject-dependent strategy, a separate model was trained and tested for each individual subject, with 80% of the data allocated for training and 20% for testing. Additionally, five-fold cross-validation was applied to ensure robust model evaluation. In the mixed-subject strategy, data from all subjects was combined and divided into five folds for cross-validation, where four folds (80% of the data) were used for training, and the remaining fold (20%) for testing. In both approaches, the impedance data was normalized for each subject, rescaling the values between 0 and 1 to ensure equal contribution of all features to the machine learning model. Finally, in the subject-independent strategy, the model was trained on data from 9 subjects and tested on the remaining subject. To reduce variations between subjects, normalization was applied to each gesture.

In this study, a CNN model is used to automatically learn and extract relevant features from impedance data for gesture classification. CNNs are widely regarded as one of the most powerful deep learning algorithms, particularly for tasks such as image recognition, object detection, and processing other forms of visual data33. The input layer of the CNN model comprises two 2D convolutional layers, each performing convolution operations with 64 filters of size \(2\times 2\). ReLU activation is applied after each convolution to introduce non-linearity, enabling the network to learn more complex patterns. The output from these convolutional layers is then flattened and passed into a fully connected layer with 32 neurons. A 50% dropout rate is applied after the final hidden layer to reduce overfitting, and the signal is then passed to the output layer, which consists of 9 neurons with softmax activation to classify the 9 gestures.

In addition to the CNN deep learning model, traditional machine learning approaches such as XGBoost34 and Random Forest35 were employed to learn gesture-induced impedance data for comparison. Both of these robust algorithms are based on decision trees: XGBoost employs gradient boosting to build models sequentially, with each new tree correcting the errors of the previous ones, while Random Forest constructs multiple decision trees in parallel during training and combines their predictions for a final output.

Since the CNN model relies on the resource-intensive TensorFlow library for execution, TensorFlow Lite (TFLite) was chosen for the real-time deployment on the Raspberry Pi due to its limited CPU processing power and memory capacity. TFLite is a lightweight, optimized framework tailored for running TensorFlow pre-trained models on embedded devices like the Raspberry Pi, which helps significantly reduce recognition time. To enable this, the pre-trained Keras model was converted to the TFLite format before being deployed to the Raspberry Pi for inference36. After transferring the final TFLite model to the Raspberry Pi, it was able to predict incoming gesture-induced impedance values and classify them into 9 corresponding hand gestures: “A”, “B”, “C”, “Agree”, “Drink”, “Eat”, “Sleep”, “Sorry”, and “Thanks.

Fig. 4
Fig. 4The alternative text for this image may have been generated using AI.
Full size image

(a) The complete hand gesture recognition system; (b) Graphical user interface (GUI) for hand gesture recognition system.

The real-time testing assesses the performance of a hand gesture recognition system using bioimpedance in a practical setting, evaluating its effectiveness under various real-world conditions. Six participants took part in the experiment, performing a series of predefined hand gestures while the system recognized them in real-time. Each participant performed 45 gestures (9 distinct pre-trained gestures, repeated five times each) to gather sufficient data, using a mixed-subject strategy for evaluation.

Results

Complete system

The final hardware design for the device achieved stable impedance measurement. Since the impedance of human skin is under 1 k\(\Omega\), the device was tested by measuring resistors ranging from 400 \(\Omega\) to 1.5 k\(\Omega\). As a result, the system returned accurate values consistently.

The printed circuit board (PCB) design was compact and efficiently organized, featuring a multitask push button, power on/off switches, and test pins for monitoring the AD5933 output voltage as well as the MUX. As depicted in Fig. 4a, the complete gesture recognition system comprises an analog board connected to a digital control board with the Raspberry Pi integrated.

A GUI was developed using the PyQt5 library and integrated into the device to enhance user interaction, making it easier to handle and control the system (Fig. 4b). The intuitive GUI allows users to manage various settings, including gain, amplitude, and the frequency of the injected voltage. Additionally, the system’s predicted gesture is also displayed in real-time for the user.

Fig. 5
Fig. 5The alternative text for this image may have been generated using AI.
Full size image

Visualization of raw impedance data for 9 gestures performed by Subject 6.

Fig. 6
Fig. 6The alternative text for this image may have been generated using AI.
Full size image

Impedance data visualization with t-SNE in 2-dimensional space for: (a) Subject 6 alone and (b) all subjects.

Gesture decoding

Figure 5 shows the impedance measured across five fingers during the gesture performance of Subject 6. The gesture “Thanks” exhibits the highest impedance for all fingers, ranging from 850 to 1000 \(\Omega\), while the gestures “A” and “Sleep” are among those with the lowest impedance values. In most gestures, the pinky shows the highest impedance, whereas the thumb and ring fingers have the lowest. The gesture “Sleep” displays the most variation in impedance, with the index and middle fingers showing the greatest fluctuations.

Figure 6 presents a 2D visualization of the impedance using the t-SNE (t-distributed Stochastic Neighbor Embedding) algorithm37, providing insights into the high-dimensional data. By preserving local structure, the algorithm ensures that points close in the high-dimensional space remain close in the low-dimensional representation. The visualization reveals distinct clusters corresponding to 9 gesture groups, highlighting the potential for gesture recognition using a subject-dependent strategy (Fig. 6a). In contrast, Fig. 6b shows less distinct clustering of the 9 gestures across all subjects, suggesting that training a model across multiple subjects is challenging due to variations between individuals.

Fig. 7
Fig. 7The alternative text for this image may have been generated using AI.
Full size image

Subject-dependent strategy: confusion matrix for Subject 6 using: (a) CNN and Random Forest and (b) XGBoost algorithms.

Fig. 8
Fig. 8The alternative text for this image may have been generated using AI.
Full size image

Classification accuracy of CNN, XGBoost, and Random Forest models across 10 subjects using a subject-dependent strategy.

Figure 7 presents the classification results of the model built on Subject 6 data using a subject-dependent strategy, displayed as confusion matrices. Both the CNN and Random Forest algorithms achieved perfect recognition with 100% accuracy and no misclassifications. In contrast, the XGBoost model achieved a classification accuracy of 92.86%, with several gestures being misclassified.

Fig. 9
Fig. 9The alternative text for this image may have been generated using AI.
Full size image

Classification accuracy of CNN, XGBoost, and Random Forest models across 10 subjects using a subject-independent strategy.

The classification results for all subjects using the subject-dependent strategy for the CNN, XGBoost, and Random Forest algorithms are shown in Fig. 8. All three models performed well on the test dataset after training. Notably, the Random Forest and CNN models delivered the best results, with average accuracies of 97.24% and 95.12%, respectively, outperforming XGBoost, which achieved 90.73%. For both Random Forest and CNN, 7 out of 10 subjects achieved an accuracy above 95% on the test set. Subjects 2 and 3 were among those with the lowest classification accuracy.

In contrast to the subject-dependent strategy, the subject-independent approach produced poor results, as shown in Fig. 9. The overall average accuracies were 34.63%, 29.22%, and 31.92% for the CNN, XGBoost, and Random Forest models, respectively. The best performance was observed for Subject 9, with an average accuracy of 46.22% across all three models. Subjects 1, 2, and 3 had the lowest recognition accuracy. This may be due to the fact that the pre-trained model was based on a smaller dataset (half of the total data), which limited its ability to generalize to the first three subjects, who contributed a disproportionately large portion of the dataset (comprising half of the 7,444 gestures).

Figure 10 depicts the classification results for the CNN, XGBoost, and Random Forest models, obtained using five-fold cross-validation in a mixed-subject strategy. As shown, CNN outperforms the other algorithms in this evaluation. Specifically, it achieves an average accuracy of 87.1%, while XGBoost and Random Forest attain 82.2% and 76.1%, respectively. The superior performance of CNN may be attributed to its ability to automatically learn complex features from the data, which proves beneficial in tasks like gesture classification. Meanwhile, although XGBoost and Random Forest also perform well, their lower accuracies suggest that they may not capture the intricate patterns as effectively as CNN in this context.

In real-world scenarios, the system takes an average of 400 ms to recognize each gesture using the CNN model. However, a significant decrease in accuracy is observed, with the system correctly identifying gestures 77.8% of the time during real-time testing. This decline is likely due to the model encountering previously unseen data, emphasizing the need for improved generalization across a broader range of gestures and environments. Training the model on a more diverse dataset, including various environmental conditions, could enhance its accuracy in practical applications.

Fig. 10
Fig. 10The alternative text for this image may have been generated using AI.
Full size image

Five-fold cross-validation results using the mixed-subject strategy for the CNN, XGBoost, and Random Forest algorithms.

Discussions

The experimental analysis revealed that the subject-dependent setup achieved significantly higher accuracy in gesture recognition compared to the other two strategies. This underscores the difficulty bio-impedance-based models face in generalizing across users, likely due to substantial variations in bio-impedance signals from one individual to another. As the results highlight, subject-independent models are less effective because they struggle to identify consistent, generalized features from bio-impedance data. While subject-dependent setups require calibration before use, involving user-specific training which can be time-consuming and somewhat costly, this approach remains highly practical for applications that prioritize accuracy. When compared to subject-independent and mixed-subject methods, the subject-dependent strategy offers a compelling balance between precision and feasibility for certain specialized use cases.

Recent studies have demonstrated that the accuracy of bio-impedance-based gesture recognition systems tends to be lower than other methods, such as image-based techniques, EMG, and others13,14,38. However, bioimpedance provides distinct advantages, including lower power consumption, simpler computational requirements, and enhanced privacy. In our study, the proposed system successfully recognized up to 9 gestures, achieving higher accuracy compared to several recent works. For instance, Khushaba et al.39 reported 90% accuracy in recognizing 10 gestures using an EMG-based system in a subject-dependent setup. Similarly, Tenore et al.40 achieved an average accuracy of 90% for decoding 10 gestures using EMG. Our results also exceeded those of Li et al.41, who attained 85% accuracy in decoding 10 movements using EMG. However, our system’s performance was lower than that of Simonyan et al.42, who reported an impressive 91.4% accuracy for 20 dynamic gestures using an image-based technique in a cross-subject scenario. Likewise, Wan et al.43 achieved 94.6% accuracy in recognizing 10 dynamic gestures using image-based methods in cross-subject evaluations.

While image-based techniques generally offer superior performance by effectively capturing gesture-related visual features, they come with notable limitations, such as privacy concerns and high computational demands. In contrast, our bioimpedance-based approach provides a more balanced solution, offering a strong trade-off between performance and privacy. This makes it an attractive and practical option for hand gesture recognition, particularly in privacy-sensitive environments, where visual tracking may not be feasible or desirable due to privacy and security concerns.

There are several limitations with this device, particularly in impedance measurement and gesture recognition. The skin’s impedance is less than 1 k\(\Omega\), so even with a buffer, the variation during gestures remains minimal, leading to poor recognition. Calibration is also complicated, as multiple components, such as resistors and capacitors, must be considered. Additionally, users must remove electrodes during calibration, which is time-consuming and uncomfortable. The current electrode design lacks stability and requires adhesive tape. Furthermore, factors like sweat and temperature fluctuations can impact skin conductivity, affecting impedance and recognition accuracy26.

The device, using only raw bio-impedance data, can recognize up to nine distinct hand gestures with satisfactory accuracy. However, integrating complementary sensors like accelerometers or EMG could significantly improve both accuracy and robustness. Converting bio-impedance data into EIT images may also enhance spatial information, boosting gesture differentiation. Additionally, incorporating robust preprocessing techniques and adaptive algorithms would help the system handle real-world conditions more efficiently. Expanding the training dataset would improve generalization across diverse users and scenarios, making the system more adaptable. Given that bio-impedance data is highly subject-specific, future work should focus on subject-independent models and environmentally adaptive systems to reduce the impact of factors like temperature, sweat, and user characteristics (age, gender, BMI), improving the system’s overall reliability in real-world applications.

In summary, the device was designed to achieve two primary objectives. First, it accurately measured bioimpedance signals using a well-integrated hardware system powered by Python on a Raspberry Pi processor. Second, it successfully recognized up to 9 distinct Vietnamese hand gestures, both static and dynamic, achieving a notable accuracy of 97.24% on average, using the Random Forest algorithm in a subject-dependent strategy, despite the time-consuming calibration required before use. Even with limited training data, the pre-trained gesture recognition model was deployed in real-time, providing acceptable performance in practical applications.