Main Content

Tooth fairy

Detecting when a user is brushing their teeth and encouraging them to do so.

Story
Pitch
Ever worried whether or not you brushed your teeth thoroughly enough? Have you ever wandered off with your thoughts and forgot about the time, suddenly being uncertain if you’ve been brushing for 30 seconds or 5 minutes? And have you ever forgotten whether or not you brushed your teeth last night? Worry no more, the tooth fairy’s got you covered. With this combination of an app for your phone and code for your Arduino Nano 33 BLE Sense you can now be worry free too. This setup uses machine learning to detect whether you are brushing your teeth and starts counting the time. And after you’re done it even remembers that you did it!

Project Origins and Goals
The idea for this project got realized as part of a school project for our Internet of Things university class. The goal was to create an IoT product that utilized machine learning on an Arduino Nano 33 BLE Sense which would then feed the data to a user terminal via Bluetooth. Of course we also created an Android app so that the recieved data could be displayed in a neat and user-friendly manner.

The project as such is split into three larger tasks:

Creating the machine learning model
Creating the mobile phone app
Enabling Arduino’s Bluetooth connectivity
Machine Learning Model
We started our work by gathering data that could then be fed to a machine learning algorithm. The website Edge Impulse has everything one could wish for when making such projects with many handy tools. One of them is a really simple way of gathering the necessary data. All one has to do is to simply connect their mobile device and any recordings of its sensory information can be uploaded directly into the ML project on the website. At the end we managed to record data with a time record of two hours in different situations, from brushing with the water flowing in the sink or shower to brushing while the washing machine is on.

The creation of the machine learning model was then a relatively simple task. After choosing a processing and a learning block of an impulse we were able to train and test the model. In the end its prediction accuracy reached about 80%. The details of the model’s training and testing can be seen on the bottom two images.”

Link to article