This project had three objectives:
1. determine the speed of my treadmill
2. Mimic a footpod and send my speed to zwift using BLE
3. Run on zwift with accurate speeds
In line with recommendations in comments i purchased a reed switch ( $3 AUD) from ebay and replaced the LM393 sensor with it up against existing treadmill magnet. other than some denouncing required it worked a treat.
In this project a used an LM393 speed sensor and an ESP32 to determine speed and send results to zwift using BLE and the Zwift app.
Using basic BLE GATT i fumbled my way through the running speed and cadence service and measurement characteristic to send the speed to ZWIFT.
All worked a treat but the speed sensor Measurement (ie the car clamped to the treadmill) was unsustainable.
I have also looked at using the LM393 to measure the rotation of the treadmill motor using a lip of ducktape. Also ungraceful.