FTMS stands for Fitness Machine Service. It is a universal Bluetooth Low Energy protocol that allows fitness equipment (like treadmills, exercise bikes, and rowing machines) to communicate seamlessly with training apps so they can track performance data and automatically adjust machine resistance or incline.
FTMS has taken over the previous standard protocol ANT+, due mainly to bad aging and security issues with modern European Laws, as ANT+ was an open broadcast model without handshaking or security features.
Along with a FTMSconnect Process node dealing with reading and sending data there is a FTMSscan Process node that scans for nearby FTMS devices and sets the enumeration device selector on the FTMSconnect node.
This is my first VL node written in C# so any comment is more than welcome, credits really has to go to @tonfilm Skills set for Claude without which help I really could not do it.
For testing purposes I have added an Arduino IDE .ino file that can be flashed into a ESP32 to create a FTMS device that will serve as a dummy device to connect to, it will send some random data and accept commands.
This is a WIP and lacks extensive testing with different devices, it will properly packaged when there will be a stable version.
FTMS.zip (276.5 KB)
Verified compatible devices
- Zycle Smart ZPro