Blog Home

Arduin-Row uses tinyML to improve your rowing technique

Arduino TeamJuly 2nd, 2022

Rowing machines make for excellent aerobic workouts, as they involve repeatedly pushing one’s legs against the base and pulling out the handle to achieve the fastest times. But because of the equipment’s nature, learning how to exercise correctly on one often requires a coach that can correct the user’s form, which is why Justin Lutz created the Arduin-Row.

The Arduin-Row uses the accelerometer and Bluetooth® Low Energy capabilities found on the Nicla Sense ME board that has been mounted as a shield on top of an Arduino MKR WiFi 1010. To gather data for his machine learning model, Lutz took advantage of Edge Impulse’s Data Forwarding tool in order to capture the data and send it to the Edge Impulse Studio. From here, he labeled each sample as either “easy,” “hi-spm,” or “low-spm,” and trained a Keras model that could successfully recognize the current motion about 98% of the time.

Lutz expanded the project even further by incorporating the Nicla’s onboard eCO2 sensor to plot an estimate of how much power is being generated by the rower. Once deployed, the code allows users to see a list of feedback given by the virtual coach and view a chart of their expended CO2 via the IoT Cloud Remote app.  

You can read more abut the Arduin-Row on its Edge Impulse docs page or view the public project here in the Edge Impulse Studio.