I'd like to write a desktop app that would be able to automatically read all measurements off my treadmill, and to fully control the treadmill instead of the native dashboard.
Unfortunately I know next to nothing about electrical engineering, and I was hoping that someone could point me in the right direction as to how to go about building the interface between my computer and the treadmill.
Let me first describe the setup. The treadmill has two major parts -- the dashboard, and the mechanical part with the running surface. They are joined together via 8-pin connector shown here:
The dashboard has various controls that can set the speed and the incline of the running surface. It also has the handles that measure heart rate.
I was hoping to perform an analog of a "man-in-the-middle attack" on the connection between the dashboard and the mechanical part, and insert my own controller between them that would be able to both read the measurements and control the running surface.
I'd imagine that one could buy a some sort of 8-pin splitter and connect it into Arduino that would in turn connect to my desktop. Is that a reasonable approach?
If I can "intercept" the communication between the dashboard and the running surface, I'd probably be able to reverse-engineer the communication protocol, and would then be able to fake the dashboard commands from my app.
At this point I don't know if the communication between the dashboard and the running surface is one-way or not. It might be the case that the speed and the incline that are displayed on the dashboard are the "target" values, rather than the values directly measured on the mechanical part and communicated back to the dashboard. However it might also conceivably be the case that the speed is actually directly measured on the running surface, communicated to the dashboard, the dashboard compares it to the target value and in case of mismatch send a correcting speed-up or the speed-down command to the running surface.
I've found this Youtube video where some guy seems to have been able to connect Arduino to his treadmill, and control the treadmill's speed from his laptop. Unfortunately the video provides no details on how exactly this was accomplished.