Skip to content

Implementation of Federated Learning for TinyML MCU training.

Notifications You must be signed in to change notification settings

marcmonfort/TinyML-FederatedLearning

Repository files navigation

Federated Learning with Arduino Nano 33 BLE Sense

Final degree project for the Bachelor's Degree in Computer Science of the Universitat Politècnica de Catalunya - Facultat d'informàtica de Barcelona.

How tu use it

  1. Configure the Arduino Nano 33 BLE Sense boards like in the image. board setup
  2. Open the project with PlatformIO and flash the firmware to all the boards.
  3. Run the fl_server.py using Python3
    1. Specify the number of devices used
    2. Specify the Serial ports of each device
  4. Start training the devices using the buttons.
    • The 3 buttons on the left are used to train 3 different keywords (to be decided by you!)
    • The board will start recording when the button is pressed & RELEASED (one second).
    • The fourth buttons is used to test the application, without training the model.
  5. Every 10 seconds there will be a FL iteration to merge the trained models.

Authors

  • Marc Monfort

About

Implementation of Federated Learning for TinyML MCU training.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published