It is official, my holiday hacking is officially complete! This past week I started and launched a brand new app called My Cadence for both iOS & Android. This simple cadence display app is a perfect pair for my recent $400 DIY spin bike that I have been using for Peloton and Apple Fitness+ classes. However, my holiday hacking wasn't complete until I brought My Cadence to a third and final platform... Arduino! What sparked my interest was when snowzach posted on HackerNews his Arduino project that displayed Echelon Bike sensor data on an ESP32. His project was brilliant as it had all of the logic to scan, connect, and read data from the Echelon bike. With his code in hand I set off to fork it and get it working for any cadence sensor, and the result is My Cadence for Arduino!
That is right! What you see above is live sensor data reading off my Moofit Cadence sensor on my spin bike. The app will automatically scan for devices for 10 seconds and then automatically connect to a sensor if it is detected. After that it will display your current cadence and a cadence bar that goes from 0-120. What is really awesome is that this beautiful little ESP32 Arduino boards costs just $18!
Here is what you will need to get it up and running:
Hardware Required
First, you will need the ESP32 board that has Bluetooth low energy. I recommend the MakerFocus ESP32 Arduino board, and optionally batteries and a USB micro cable if you don't have one:
Compatible Sensors
Of course, you will need a sensor for your bike. Any of the main line sensors should work just fine:
- Moofit Cadence
- Wahoo
- Magene
- Garmin
- Other cadence sensors that broadcast Speed & Cadence specification
Clone, Build, & Run
Then just follow the simple setup & install procedures over on my GitHub project. This will guide you through setting up Arduino Studio, ESP32 libraries and board, and additional libraries required. After that deploy to your device and you are off to the races!
Happy Spinning
Hopefully now there is a version of My Cadence that is right for you and your bike setup. Thanks again to snowzach and his project on GitHub for his inspiration and code to make this happen.
Links to third party sites may contain affiliate links that allow you to find the items mentioned on this site. While this site may earn minimal sums when the reader uses the links, the reader is in NO WAY obligated to use these links. Thank you for your support!