I have a treadmill.
I have "arduino" skills due to Covida.
I wanted to create a simple but meaningful project to present to my coworkers in order to ignite the curiosity in some of them. I decided to augment my treadmill capabilities with BLE in order to broadcast speed and inclination. I was prepared to reverse engineer complex communications between the motor and the control panel, but after looking at the schematics of my model, I realized that it came with an RPM sensor which would have been a great start. After a bit of Google-fu, I realized that this type of sensor - although in different shapes and forms - is very common in a lot of basic treadmills and it's a simple Reed switch coupled to some magnets on the pulley driving the belt, so things started to look great.
I was thinking that with an opto-isolator circuit I would be able to tap into this ready available datasource but to my surprise I discovered that, while the pulleys have embedded magnets, there is no RPM sensor / Reed switch installed at all. That means I can buy one on eBay and build a circuit around it.
I chose to use the nRF52 MCU in the shape of the Seeeduino BLE in order to do the heavy lifting. The switch/sensor is arriving in the mail. Next steps:
1. test the sensor with a simple CR2032 LED bread board circuit and figure out a 3D attachment harness
2. 3D print the harness
3. write BLE code. The new "sensor" will be a BLE peripheral with two subscribe-able attributes, speed (from the switch) and inclination (from a Time of Flight sensor that I still need to pick)
4. present to my coworkers as part of what I learned during Covida
5. profit
I will post progress in here.
It's very likely that you ProForm treadmill has the proper magnet in place.
I am lazy too, but this is kind of fun.