Making A Mountain Bike Data Acquisition System

Professional mountain bike racing is a rather bizarre sport. At the highest level, times between podiums will be less than a second, and countless hours of training and engineering go into those fractions of seconds. An all too important tool for the world cup race team is data acquisition systems (DAQ). In the right hands, they can offer an unparalleled suspension tune for a world cup racer. Sadly DAQs can cost thousands of dollars, so [sghctoma] built one using little more then potentiometer and LEGO. 

The hardware is a fairly simple task to solve. A simple Raspberry Pi Pico setup is used to capture potentiometer data. By some simple LEGO linkage and mounts, this data is correlated to the bikes’ wheel travel. Finally, everything is logged onto an SD card in a CSV format. Some buttons and a small AMOLED provide a simple user interface wrapped in a 3D printed case.

Analyzing the data is a rather daunting task. The entire analysis framework is neatly wrapped into a web server. The DAQ can automatically sync with the web interface, and provide suspension metrics in conjunction with action camera footage and a GPS track for further analysis.

However, not all is as it seems when it comes to correlating the suspension data into such a nice UI. A key issue is that with four bar, or even six bar, mountain bike linkage designs, the leverage ratio applied to the shock changes through the wheels travel. That means, when measuring shock travel, it needs to be adjusted to find wheel travel according to manufacturer specifications.

You need to be a bit of a suspension wizard to make sense of the charts. Nevertheless, for the mountain biking hackers out there, everything is available on Github, so if you wish to analyze suspension performance, make sure to check it out!

This isn’t the first time we have seen mountain bike data loggers, make sure to check out this simple Arduino build next! 

14 thoughts on “Making A Mountain Bike Data Acquisition System

    1. There are pedals with force sensors. However I am riding E-MTB, and the crank of my bike can measure human power input.
      Initially this project looked as something I was searching a while ago, but unfortunately it is not.
      I am looking for a system which records the track (visually, cartographic and sensorial) so I can automatically log and classify routes for new (non existent) MTB tracks. Most MTB tracks in my region are poorly mapped and without any difficulty level and also no visual feedback which makes it hard for planning. Online services like Komoot and others are still very bad. Manually adding routes is a hazzle. The accuracy of pure GPS in a woody environment is just too bad.

        1. I did some openstreetmap too. However as stated, in a woody environment the accuracy is not good enough for this. Also the update rate of most receivers is too bad for recording fast changing movements. That’s why I thought of something like a visually assisted GPS. The visual (and maybe sensorial) part would be good for classyfing the difficulty of the track too. So newbies can estimate the difficulty in the planning stage.
          I may do a test with the new UM981S module which offers 50Hz update rate by combining an inertial navigation system. The RTK will not be of great help.

  1. I tried making something like this by tying 3 axis accelerometers onto the front and rear right beside the axles, another on the frame, to try to characterize damping and rebound, and learned a lot about vibration and how poorly SPI and I2C do over meter-long cabling. But yeah, trying to tune by “eh, that feels better” isn’t great. We can set sag algorithmically but all the rest needs instrumentation.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.