Smart Skipping Rope

by SuperSid in Circuits > Electronics

5987 Views, 23 Favorites, 0 Comments

Smart Skipping Rope

IMG_20181218_171545.jpg
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.

Gather the Parts and Tools

IMG_20181218_161051.jpg
IMG_20181215_140556.jpg
IMG_20181218_160546.jpg

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.

Components:

Necessary Tools:

  • 3D printer --> you can use online service
  • Soldering iron and Tin
  • Screwdriver and plier.
  • Wire stripper

3D Print

IMG_20181218_160332.jpg

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.

Build the Circuit

skippingRopeCounter.png
IMG_20181218_172140.jpg
IMG_20181218_172028.jpg
IMG_20181218_161459.jpg
IMG_20181218_161216.jpg

Interfacing of rotary encoder:

CLK→ D2

DT→ D1

SW→ D5

GND→ Gnd

+ → 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.

Place the Bearing and Electronics

IMG_20181218_160757.jpg
IMG_20181218_160855.jpg
IMG_20181218_160947.jpg
IMG_20181217_134559.jpg
IMG_20181218_161554.jpg
IMG_20181218_161659.jpg

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.

Attach the Rope to Main Handle

IMG_20181218_170016.jpg
IMG_20181218_170129.jpg
IMG_20181218_170221.jpg
IMG_20181218_170320.jpg
IMG_20181218_170432.jpg
IMG_20181218_170516.jpg
IMG_20181218_170835.jpg
IMG_20181218_170607.jpg
IMG_20181218_170734.jpg

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.

Assemble the Second Handle

IMG_20181218_161859.jpg
IMG_20181218_162000.jpg
IMG_20181218_162310.jpg
IMG_20181218_162154.jpg
IMG_20181218_162545.jpg
IMG_20181218_162626.jpg
IMG_20181218_162724.jpg

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.

Assembled Skipping Rope

IMG_20181218_170929.jpg
IMG_20181218_171101.jpg
IMG_20181218_171143.jpg

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.

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.

Upload the Code

IMG_20181218_171240.jpg
IMG_20181218_171313.jpg

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-->
https://github.com/siddhesh13/smart-skipping-rope

Let's Start Skipping

Screenshot_20190107-183424.jpg
Screenshot_20190107-183525.jpg
Screenshot_20190107-183533.jpg
Screenshot - 23_10_2018 , 5_37_41 PM.png
Screenshot - 23_10_2018 , 6_09_13 PM.png
Screenshot - 23_10_2018 , 6_10_59 PM.png
  • 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.