Smart Tennis Racket
This project is an application for analyzing tennis shots using a smart racket. It collects motion data using sensors, processes it using a Python server, and displays the analysis on a web interface.
Hardware Overview
ESP32 - Microcontroller used for data collection and wireless communication.
MPU6500 - 6-axis motion tracking sensor (accelerometer + gyroscope).
Power Supply - 9V battery strapped to the tennis racket.
The MPU6500 is mounted to the tennis racket and connected to the ESP32, which streams sensor data wirelessly.
Data Flow
MPU6500 collects accelerometer and gyroscope data.
ESP32 transmits data to an InfluxDB time-series database.
A CSV file is exported from InfluxDB
The CSV file is consumed by a Python server that:
Parses the data
Detects individual shots
Analyzes each shot for:
Spin
Power
A web interface queries the Python server and visualizes the analysis using Chart.js.
System Architecture
Sensor Layer:
MPU6500 (Accelerometer + Gyroscope)
ESP32 (Wi-Fi transmission)
Data Layer:
InfluxDB (time-series data storage)
Processing Layer:
Python server
CSV parsing
Shot detection
Presentation Layer:
Web interface
Chart.js for dynamic visualizations
Python Server Capabilities
Web Interface
Future Improvements
Add Bluetooth or BLE support for local device communication
Implement live streaming directly to the web client
Integrate machine learning for more accurate shot detection and classification