Skip to content

Run Machine learning on a microcontroller with an accelerometer sensor to classify different moves with the racket - Forehand, Backhand, Serve, and Idle.

Notifications You must be signed in to change notification settings

alvarowolfx/tinyml-smart-tennis-sensor

Repository files navigation

TinyML Smart Tennis Racket

Run Machine learning on a micro controller with an accelerometer sensor to classify different moves with the racket - Forehand, Backhand, Serve and Idle.

Data is collected using the tinyml-tennis-collector firmware, that sends data over BLE and there is a Web UI on web-bluetooth-bridge-ui folder that relays the data to Edge Impulse.

Demo video of the collecting data:

The model was trained on Edge Impulse and exported to be used on the tinyml-tennis-classifier firmware, that them shows a different LED color depending on the class - idle (red), forehand(green), backhand(blue)

Demo video of the classification:

⚠️️️️THIS IS A WORK IN PROGRESS ⚠️

Web UI

TODO

  • Collect more data and with different people
  • Collect Serve data
  • Make data available for others to use

Bom - Bill of Material

  • Particle Xenon and/or nRF52840 Dongle
  • MPU 6500 Accelerometer Module

Upload firmware with PlatformIO

I recommend installing the Visual Studio Code (VSCode) IDE and the PlatformIO plugin to get started using it. Just follow the step on the link below:

https://platformio.org/platformio-ide

To deploy to the board, just open the tinyml-tennis-classifer or tinyml-tennis-collector folder and you can use the “Build” and “Upload” buttons on PlatformIO Toolbar. All libraries and dependencies will be downloaded.

Web Interface with Bluetooth

You need to generate an API Key/Secret pair to send data to Edge Impulse.

  • Run on the command line:
cd web-bluetooth-bridge-ui
npm install
npm start

References

About

Run Machine learning on a microcontroller with an accelerometer sensor to classify different moves with the racket - Forehand, Backhand, Serve, and Idle.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages