TinyML-ESP32 Project: Gesture Recognition, Voice Wake-Up, and Jump Rope Counting. The TinyML-ESP32 project, supported by Black Walnut Lab, pushes the performance of the ESP32-WROOM-32 development board to the limit, achieving three major AI capabilities: gesture recognition, voice wake-up, and motion counting. Gesture Recognition: From data collection to model deployment, the project captures motion trajectories in three-dimensional space in real-time using the GY-25Z gyroscope, utilizing the ArduinoJson library to parse sensor data. Once developers complete data collection for 100 specific gestures, the system automatically triggers the TensorFlow Lite model training process. The trained model occupies only a few tens of KB of storage space but can achieve millisecond-level response—waving left turns the LED red immediately; waving right switches it to blue, making the entire process seamless. Even more impressively, through the ArduinoWebSockets library, the prediction results can be synchronized in real-time to a web-based visualization interface! Voice Wake-Up: Let the device understand your voice. The built-in Inter-IC Sound microphone module, combined with the ArduinoFFT library, enables real-time audio spectrum analysis. When users say the preset keywords, the system performs voiceprint feature matching using the TensorFlow Lite model, achieving an accuracy rate of over 95%. During the training phase, Jupyter Notebook is used for waveform visualization and data augmentation, allowing for precise recognition even in the presence of background noise through frequency domain feature extraction. Upon successful wake-up, the WS2812 LED light strip presents a dynamic flowing light effect, enhancing the technological feel! Jump Rope Counter: AI Empowering Sports Health. Behind this seemingly simple function lies the data magic of a six-axis attitude sensor. The project retrieves acceleration and angular velocity data in real-time through the ESP32’s UART interface, using a sliding window algorithm to capture the unique waveform characteristics of jump rope actions. During model training, a contrastive learning strategy is employed to effectively distinguish jump rope actions from other daily movements. In practical tests, the counting error for 100 consecutive jumps does not exceed 2 counts, with data being pushed to the mobile end in real-time via WebSocket, making the sports data dashboard comparable to professional fitness equipment! Project address: https://github.com/HollowMan6/TinyML-ESP32