## 2 Gesture Recognition System
### System Composition  
The system block diagram of the gesture recognition system is illustrated in Figure 2. The system's core comprises six magnetic field sensors, namely, node 1 to node 6, which are installed on the back of the hand and five fingers in a sequential manner to detect the state of hand movement. These sensors are connected to the main controller ESP32 module via the TCA9548A module, which handles the communication interfaces. The main controller collects data from the magnetic field sensors and sends it to the computer for gesture recognition processing through the USB cable. Next, we will provide detailed descriptions of the magnetic field sensor, TCA9548A module, and ESP32 module. The surface-level magnitude of Earth's magnetic field typically ranges between 25 to 65 \(\upmu\)T (0.25 to 0.65 gauss). Sensors made of solenoids are bulky and have low precision, making them unsuitable for measuring the Earth's magnetic field. Instead, the Honeywell HMC5883L is a surface-mount, multi-chip module designed for low-field magnetic sensing with a digital interface for applications such as low-cost compass and magnetometry. HMC5883L is a three-axis magnetic field sensor with a range from \(-8\) gauss to +8 gauss and a resolution of 5 milligauss. The performance of the HMC5883L sensor meets the measurement requirements of our application scenario. HMC5883L only needs simple peripheral circuits to work, which simplifies circuit design and facilitates system integration. HMC5883L provides an I2C interface for hardware initialization and data transmission, which is a general data transmission interface. Additionally, its small 3.0 \(\times\) 3.0 \(\times\) 0.9 mm  
Figure 1: Earth’s magnetic field. Figure 2: Schematic diagram of gesture recognition system. LCC surface mount package allows for easy miniaturization of the magnetic field detection node and enables wearable designs. For our system, we employed six HMC5883L modules, as depicted in Figure 3.  
Each HMC5883L module is equipped with an I2C data interface, and a total of six independent I2C interfaces are available for the six sensors. However, since the I2C communication address for each HMC5883L is 0x1E, connecting all six sensors to the same I2C interface of the controller would result in I2C address conflicts and data transmission failures. Despite the controller having only one I2C interface, we are able to connect all six magnetic sensors to it using a TCA9548A module. This module features eight bidirectional transfer switches that can be controlled through the I2C bus. The upstream pair of serial clock/serial data (SCL/SDA) can be expanded to eight downstream pairs or lanes. The programmable control register enables any individual I2C pair to be selected, resolving I2C slave address conflicts. We connected the six magnetic field sensor modules in turn to channels 0-5 of the TCA9548A module. The system controller is an ESP32 module, which is a low-power, single-chip micro-computer module with a wide range of interfaces and a competitive price. The ESP32 offers convenient development tools and a variety of development routines, which simplifies usage. The module is equipped with an I2C interface for obtaining sensor data and a USB port for both power supply and data transmission. As illustrated in Figure 2, the I2C interface of the ESP32 module is connected to the I2C control interface of the TCA9548A module. Through the TCA9548A module, each sensor is configured to gather magnetic field data. The ESP32 module then sorts the acquired three-axis magnetic field data based on the node order and transmits the sorted data to the computer via the USB cable. The sensor's acquisition frequency is set at 10 Hz.