Main Content

An automatic suspension adjustment on a bicycle that able to understand the character of the terrain and the activities of the rider.

In this project we use data from the motion sensor on the Arduino Nano 33 BLE Sense which is mounted on a bike’s suspension and used under different road conditions. The data was cut into 5 seconds and labeled according to the surface variation and activities. Then processed in Edge Impulse Studio through Neural Network blocks: Spectral Analysis (x, y, z acc) and Classification (Keras) which will produce an ML model that can detect 5 road surface characters and rider activity output (idle, medium, rough, smooth, sprint). The model is deployed into the program on the Nano 33 BLE Sense which has an angle servo motor installed that can adjust the bike’s suspension knob. In the end, this project succeeded in implementing a “smart” system on the bike’s suspension which can automatically adjust the level of travel on the suspension (lock, medium, open) according to the character of the road and the activities. Comfort, efficient use of energy have been achieved, and the effect of excessive bobbing can be eliminated with the help of embedded ML from Edge Impulse. This project also has the potential to maximise its use in sport cycling activities such as MTB (cross country, trail, downhill) so the riders focus more on handling and pedalling.

This project consists of 5 steps:
1. Collect data
2. Data acquisition and labelling
3. Train and build model
4. Deploy model and test
5. Modify code, attach, and test”

Link to article