I want to apply my background in product design, validation and testing to mountain bikes. I know there are a few MTB data acquisition products out there, but few touch on the whole system of the mountain bike. Those products that do cost more than I wan to spend. I can't promise this solution will be cheep, but I will try to make it significantly less expensive.
The idea will be to start with the most critical measurements:
- Fork Travel
- Shock Travel
- Front and Rear Wheel Speed
- Frame Acceleration and Angular Rates (IMU)
- Crank speed
And since it is easy, we can start with GPS as well (although usually disabled since it slows recording rate significantly).
Later I would like to add:
- Crank Power
- Front and Rear Brakes (I am convinced this is next most important)
- Maybe more IMUs or simple accelerometers on fork or rear suspension
- Steering angle
- Sensing ideas from others (???)
- and who knows what else
This will be a living projects and I expect it to take place over a long period of time. Please check back for updates and comments are welcome. Remixes are even better and I would love to hear about it!
Disclaimer:This is just an experiment and I make no claims or promises on safety. What you do to your bike is your business and your decisions. I am just giving ideas on how we can instrument our mountain bikes to learn. This project does add sensors very close to rotating components that could stop your bike quick. Install at your own risk.
Revision History:- Feb. 28th, 2025: first release of hackster.io story.
Details for the different 3d printed parts and additional hardware needed are located in my Printables profile and linked below.
Main Data Logger Box Details:The main data logger is housed in a 3d printed box that clips into standard bottle mount that makes it easy to remove.
- Credit to Emil Segeras on the design for the mounting clip which works great for this project.
- Click Here for Parts' Details
The front fork stroke sensor is specific to the Cane Creek Helm 2 with a coil (likely easy to modify design for others).
- The top part, which holds the magnetic target, mounts using the same screw that holds the spring pretension adjuster, where knob is removed for a tight fit. Pretension can still be adjusted by removing the bracket.
- The lower part, which holds the sensor, simply clamps onto the lowers.
- Contactless Honeywell sensors are used for ruggedness and low maintenance
- Voltage divider is used to reduce voltage for Artemis OLA board. This is built into wiring harness.
- Parts' Detail Link
The rear shock stroke sensor is also specific to my shock, Cane Creek Coil IL, but likely easy to modify design for others.
- The top part, which holds the magnetic target, clamps onto the body.
- The bottom part, which holds the sensor, is held in place with a special bracket clamped between spring and perch.
- Still allows climb switch adjustment.
- Contactless Honeywell sensors are used for ruggedness and low maintenance
- Voltage divider is used to reduce voltage for Artemis OLA board. This is built into wiring harness.
- Parts' Detail Link
The wheel speed sensors mount on the same bolt as the brake calipers.
- The mount is identical front and rear.
- It is likely compatible with most post mount disk brake setups but not tested.
- So far no issues with heat warping but no serious testing completed.
- Since the break rotor is steel, it is easy to detect with a standard proximity switch.
- NPN proximity switch is used to allow A/D cards to detect grounded signal.
- Parts' Detail Link
The crank speed sensor, cadence sensor, is mounted using the standard ISCG mounts.
- The part likely is compatible with other bikes that have ISCG mounts.
- My chainring is aluminum so a "Factor 1" type proximity sensor is used to help detect.
- NPN proximity switch is used to allow A/D cards to detect grounded signal.
- Parts' Detail Link
The visualization software is a work in progress. Currently coding in Python with Claude. Hopefully I can provide an app to those that don't want to deal with coding.
I welcome suggestions on things to analyze and features to add! Or make your own changes v the Git Repository.
- Open Log Artemis data logger isn't trivial to maximize recording frequency for the measurements needed. Will take significant work to update code to improve writing for all sensors needed. (background)
- Open Log Artemis also is tricky to operate when it goes into a "slow record" state. Much easier to just not use it but use the "stop recording" and "reset" pins to act like "off" and "on".
- SparkFun Qwiic button does not work with Open Log Artemis board. Something about not keeping a static address.
- The battery and connector don't seem to follow standards well. The second battery I got from Amazon had the polarity reversed; I didn't check and needed to replace the main Artemis board ($60).
- The Honeywell linear position sensors seem to have a sensitive short detection. Need to use high resistors for voltage divider, 47k & 33k ohm.
- I question if using the Open Log Artemis was the best choice. Like any design I had to choose the best option I saw at the time. I often wonder if I should have went the route of developing on something like RasberryPi or even the other direction of an already developed system like AIM.
- Open Log Artemis will be tough to know status when in enclosure. Need to figure out some way to control LED on outside. Right now use the 3v3 power output to the two button LEDs. This gets switched off when unit powers down. So I at least know when power status.
- More compatibility with other suspension components (I think the speed sensors are universal enough). Right now designed for Cane Creek 55mm coil shock and coil 150mm fork. Reach out if you want to collaborate!
- Bluetooth!


















_3u05Tpwasz.png?auto=compress%2Cformat&w=40&h=40&fit=fillmax&bg=fff&dpr=2)
_vMipfInEWN.jpeg?auto=compress%2Cformat&w=40&h=40&fit=fillmax&bg=fff&dpr=2)
Comments