Introduction: Smart Skipping Rope
Hello and welcome to my first Instructable!
In this instructable I am going to show you how to make your own Smart Skipping Rope. Smart Skipping rope counter is a device which tracks your daily skipping rope activity and stores the data on cloud. It sends data to browser in real time while you are skipping. You can view that data on your laptop/smartphone’s browser. It displays number of skips, skipping rate per minute and calories burnt. It logs the same data to Thingspeak after the session. So if you want be fit or want to lose some weight this gadget is for you.
Step 1: Gather the Parts and Tools
Here is a list of the necessary components. The circuit is not complicated. Basically, it consists of Wemos d1 mini, quadrature encoder, battery, and a switch.
- 1x Wemos d1 mini
- 1x Rotary encoder
- 1x 3.7v 500mAh LiPo battery
- 1x Mini slide switch
1x 608ZZ Bearing
1x 624ZZ Bearing
1x M4 Bolt (1 inch)
2x M4 Nut
4x 0.320-inch mounting screws
- 3D printer --> you can use online service
- Soldering iron and Tin
- Screwdriver and plier.
- Wire stripper
Step 2: 3D Print
There are two handles for skipping rope, one is to keep all the electronics and hold the one end of the rope and another handle is to hold the other end of the rope. I have attached all the stl files. I used Flashforge creator pro with 0.4mm nozzle and normal settings and with supports. You can also download all the files from Thingiverse.
Step 3: Build the Circuit
Interfacing of rotary encoder:
+ → 5v
Rotary encoder is used to count the number of skips. This rotary encoder is also known as quadrature encoder or relative rotary encoder and its output is a series of square wave pulses.
Before soldering, insert encoder_knob part in the rotary encoder and insert M4 Nut in it as shown in the image.
Test all the parts before soldering. Solder all the components as shown in the circuit diagram. Use the main handle while soldering so you will get a fair idea of wire length and component placing. Use the pictures as a reference.
Step 4: Place the Bearing and Electronics
Take the main handle and 624zz bearing. Insert the 624zz bearing in the main handle as shown in the picture. If you have removed all the 3D printed supports from the main handle properly then bearing will fit perfectly in the hole. The bearing is used to reduce the friction and smooth rotation.
Before placing all the electronics inside make sure everything is working properly. Use the attached code to test the encoder. Upload this sketch in Wemos d1 mini, open serial monitor and rotate the encoder and check the result on the serial monitor.
Now place all the soldered electronics components in the main handle as shown in the pictures. Make sure wires are not tangled with the rotary encoder. The rotary encoder should rotate without any interference.
Step 5: Attach the Rope to Main Handle
Now take rope_holder part, M4 Nut and M4 bolt. Insert the m4 Nut in rope_holder and then insert the M4 Bolt in the Nut.
Take the bolt inserted rope_holder part and attach it to the Nut on the rotary encoder. To attach it to the Rotary encoder insert it through the hole on the front side. Now Rotate it to fix to the rotary encoder.
Place the mainHandle_cover part on top to cover the enclosure. Use 0.320-inch mounting screws to fix it.
Remove the rope from the readymade skipping rope and attach the one end to the rope_hoder part. Use the pictures for reference.
Check wheater rotary encoder rotates smoothly or not by rotating the rope by hand. Also, make sure you can press the button of the rotary encoder by pressing the rope_holder part. If rotary encoder rotates smoothly and you are able to press the button on the rotary encoder then the Main handle is ready.
Step 6: Assemble the Second Handle
This step is optional. You can also use the handle of the readymade skipping rope.
Use these 3d printed parts to assemble the second handle: second_handle, secondHandle_cover and secondHandle_ropeHolder.
Before assembling, make sure you have cleaned all the 3d printed support from the second handle. Use drill machine or plier to clean the support.
Take 608zz bearing and insert it in the hole on the front side of the handle. Then take other ends of the rope and insert it in the second handle through the bearing hole. Now insert the rope end in the rope holder and pull the rope so rope holder will get fixed in the hole of the bearing. After that cover the end of the second handle by attaching the cover.
Step 7: Assembled Skipping Rope
After assembling both the handles your skipping rope should look like this. Now skipping rope is ready. let's make it Smart by uploading code in the Wemos.
Step 8: Code Explanation
Working of this device is simple. There are 4 main parts, first is to connect to wifi, second is counting the number of skips, third is calculate the skipping rate and calories burnt and fourth is send this data to the webpage and log this data to Thingspeak.
Connect to WiFi:
The WiFiManager is a great library to add to your ESP8266 projects because using this library you no longer have to hard-code your network credentials (SSID and password). Your ESP will automatically join a known network or set up an Access Point that you can use to configure the network credentials. Here’s how this process works:
Counting number of skips:
I have used the same code we used for encoder testing to count the number of skips. For 1 skip encoder gives the count 5 on the serial monitor. I tried with 50 skips then I took the average count of the encoder for 1 skip. After several tests and trials, for 1 skip encoder counts 5. So if encoder count is 5 then it means that 1 skip is completed.
Calculate Skipping rate:
To calculate the skipping rate per minute, I have stored the start time using millis() function in a variable. It calculates the skipping rate after every 20 counts by using this formula,
Skipping rate = skipping count/timeElapsed* 60
Calculate Calories Burnt:
Every activity needs a different energy expense. Walking at a relaxed pace will surely burn fewer calories than running or aerobics. This energy expenditure is typically expressed in MET - the Metabolic Equivalent of a Task. This measure tells you how many calories you burn per hour of activity and per one kilogram of body weight. You can easily choose one of the numerous activity types in our calories burned calculator. For example, walking has a MET value of 3.8, while hiking already 6. The higher this value is, the more energy the task demands. What exactly is 1 MET, then? It is defined as the ratio of energy spent per unit time during a specific physical activity to a reference value of 3.5 ml O₂/(kg·min). After some recalculation and converting milliliters of oxygen to calories, we arrive at the final formula: calories = T * 60 * MET * 3.5 * W / 200 where T is the duration of activity in hours, and W is your weight in kilograms. Our calorie burn calculator uses the formula above for the most accurate estimation of calories burned. If you want to run your calculations by hand, you can also use a simplified version of this equation: calories = MET * T * W This equation is based on the approximation saying that 1 MET = 1 kcal / (kg * h). It is not 100% correct; still, it provides a good enough result that can be used to estimate the calorie loss. For more details on this: https://www.omnicalculator.com/sports/calories-bu...
Display the count on the webpage:
Once we have all the data we will send this data to the webpage using WebSocket. WebSocket is a technology that keeps the TCP connection open, so you can constantly send data back and forth between the ESP and the client, with low latency. And since it's TCP, you're sure that the packets will arrive intact.
The ESP hosts a webpage with the score at the center and skipping rate and calories burnt at the top. 1 slider at upper right corner to set the weight of the person who is doing the skipping activity. Value of Weight is transmitted from the browser to the ESP via a WebSocket connection. To start the skipping activity session press button of the encoder and start the activity. You can see the skipping count in real time on the webpage.
Upload data to Thingspeak:
ThingSpeak is a free web service that lets you collect and store sensor data in the cloud and develop Internet of Things applications. Create an account on Thingspeak and create a new channel. Create three fields for that channel. One for skipping count, the second field for skipping rate and the third field for calories burnt. Use the channel Write_Key in the code. To upload data to Thingspeak, after you are done with your skipping activity press the same button again.ESP will upload the data to Thingspeak.
Step 9: Upload the Code
Before uploading the code, change Thingspeak key in the code. Create a new channel on Thingspeak and use that channel's key in the code. Create an account on Thingspeak if you are new to Thingspeak, create a new channel and use that channels key here.
Use the micro USB cable to program the Wemos d1 mini device. Open Arduino IDE and upload this code-->
Step 10: Let's Start Skipping
- After uploading code to Wemos device, remove the micro USB cable and turn on the switch to power the Wemos d1 mini through the battery.
After power on, Connect Wemos device to WiFi network. To connect it to WiFi, You can either use your mobile/laptop to connect to the smart skipping rope device. Then, open your browser and type the following IP address: 192.168.4.1. This loads the next web page, where you can set your Wi-Fi credentials. Now you can connect your smart Skipping rope to WiFi network using this page.
After connecting your device to WiFi network, Find the IP address of your skipping rope device. Use fing (android/ios app) or advanced IP scanner app to find the IP address. Open a Web browser on your phone or laptop and Enter this IP address and hit enter. You will see skipping counter page.
Set correct weight using the slider on the upper right corner.
Press button on the encoder to start the activity. Now you can do your skipping activity. You can see the skipping count, skipping rate and calories burnt on the webpage while skipping.
Press the same button again when you are done with your skipping activity. After pressing the button for the second time, all the data (skipping count, skipping rate and calories burnt) will get uploaded to Thingspeak. So you can keep track of your daily skipping activity.
On a single charge, if you use it for 2-3 hours daily, this device can last up to 7-8 days. To charge the battery connect the micro USB cable to Wemos device and battery will start charging. (keep the switch ON to while charging). Remove the micro USB cable after one hour as there is not any indicator charging.
Enjoy skipping, Stay fit and Stay creative.
Participated in the
First Time Author