I am an avid cyclist and runner on the zwift platform however with my unreliable footpod it is time i made my treadmill smarter than my foot
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
Create an account to leave a comment. Already have an account? Log In.
Your idea sounds great and it would be really good if you'll be able to pull it of. Are you looking for something like this? https://besttreadmillchoice.com/best-treadmill-for-walking/
I like your idea. Can you make similar program for other fitness products? I have seen similar work of treadmill on this blog, you can see here https://shapewhizz.com/best-treadmill-for-low-ceilings/
Did you look at the CSAFE protocol? Supposedly it's been around for a while and Wahoo are using it for their Treadmill Zwift bridge: https://en.wikipedia.org/wiki/Communications_Specification_for_Fitness_Equipmen
Hi, great project well done. I have a question about the following bit of code -
3,
(unsigned byte)inst_speed, (unsigned byte)(inst_speed >> 8),
(unsigned byte)inst_cadence,
(unsigned byte)inst_stride_length, (unsigned byte)(inst_stride_length >> 8),
(unsigned byte)total_distance, (unsigned byte)(total_distance >> 8), (unsigned byte)(total_distance >> 16), (unsigned byte)(total_distance >> 24)};byte charArray[10] = {
Why do you put the speed in Byte 1 and 2, the stride length in 4 and 5 and the total distance in 6, 7, 8 and 9. Reading the BLE spec, I can't see why you need to put each value in more than once. Clearly I am missing something as I have seen the same thing done elsewhere. Can you help or point me at some documentation that explains it?
Many thanks
Peter
Nice project!
Were you also able to connect with a smartwatch / garmin?
Connecting to swift via PC works . With the garmin watch (fenix 5x) I am able to select / add the "footpod", but when I try to connect to it, it always fails.... :-(
Would you be keen on sharing your code for the BLE interface to Zwift? I'm trying to make a speedometer with arduino to monitor my indoor bike trainer.
Sure, https://github.com/imwitti/FootpodMimic/blob/master/ManualFootpodMimic
Is a link to a manual version (ie i set my speed with buttons not sensor). However the sending and setup of BLE should be the same. FYI i changed the bytearray code for this running sensor from a cycling speed cadence example so there are likely already examples set up for Cycling Speed Cadence sensors
I second the idea of a magnet and reed switch. My very old salvaged treadmill uses this setup to measure speed. The magnet is in the flywheel connected to the tread rollers. Alternately you could use some sort of led and photoresistor with your duct tape flag to get rpm.
I'm interested in how you figured out the zwift protocol because I'd like to make my own zwift sensor to connect my bike rollers to the zwift bike app.
Hi Kevin,
I found that the Zwift protocol just search's for the BLE outputs using existign GATT profiles. Therefore if you create a BLE profile/service for either the
CSCP - Cycling Speed and Cadence OR RSCP Running Speed and Cadence then zwift will recognize it. I use an iphone and the zwift companion app to receive it.
Seems that the treadmill probably has some kind of speed sensor already ... can you tap into it?
What about hiding the wheel inside the front cover?
What about painting lines on the floor and using a ir ?
What about magnets glued to the tread and a reed switch?
Interesting. But aren't you worried about drifting over to the side of the belt and stepping on it? When I ran on the treadmill I found myself wandering all over the place - sometimes even off the back, of course.
Become a member to follow this project and never miss any updates
Garmin Fenix 5X connects to the device but the speed shows 0.0.
It does not show the speed at all. Any idea?