Fitness circuit training timer with no sound: use a smart light!

I’m one of those people who started doing exercise at home when the lockdowns were in place. I usually do circuits of exercises with my trusty yoga mat. But there is one thing that was driving me mad at this point: hearing the fitness timer ring the bell again and again and again is getting pretty old!! :bell: :expressionless: plus it’s annoying for anyone else at home. So I decided to create this visual fitness timer so I didn’t have to hear any more bells if I didn’t want to.

This could also be a great alternative if you are deaf or hard of hearing and don’t want to be looking at a screen constantly.

In my circuits, I do 50 seconds working on the exercise and 10 seconds rest, but of course you can adjust this to any timing you need in your circuits. I used a traffic light scheme to keep me on track, but you can of course choose different colours!

  • :green_circle: work on the excercise now!
  • :orange_circle: we are about to stop/start
  • :red_circle: rest time

What I used in this setup

  • One LIFX light bulb
  • One Android phone with the IFTTT app installed
  • In Apilio I created:
    • Two numeric variables: one is a counter that increases every time I complete a circuit, the other one sets the max number of circuit reps I want to complete.
    • One condition: once I’ve completed the max number of reps I wanted to achieve, I want my logicblock to stop
    • One logicblock with 6 actions to turn the light on a particular colour, turn it off and reset my counter
  • In IFTTT I created:
    • 8 applets! 7 control the actions and the variables and 1 is to create a button on the app that I can tap to start my timer.

My external trigger

I will start my fitness timer from the IFTTT app: I have created an applet that starts the logicblock “fitness_timer” when I press a widget button,

My condition

I have a variable with the maximum number of circuit reps I want to do: 15.

I also have a second variable that is a counter that gets increased by 1 every time I finish a circuit.

My circuits completed must be less than the required circuits. Once the circuit completed is equal to the required circuits, this condition will be false.

Select this condition to not trigger logiblocks whenever it changes, as we don’t want to enter an infinite loop of circuits!

My fitness timer logicblock

Here’s the interesting part!

My logicblock only uses the numeric condition, and I will have the external trigger created in IFTTT to initiate the evaluation.

And these are my actions:

  • My light bulb turns green for 45 seconds
  • Then orange for 5 seconds to let me know I’m approaching my time to rest
  • Light turns red for 5 seconds where I can rest
  • Light turns orange for 5 seconds, I get ready for the next exercise
  • Increase my circuit counter by 1 (I also use this event to trigger the logicblock again :sunglasses:)

The applets to turn the light on a different colour are all the same format: if IFTTT receives the specific event, then turn LIFX a particular colour.

I also increase my counter with one of our Apilio actions:

I also added some negative actions because otherwise you need to do this manually: when my condition is no longer true (because I’ve reached the required number of repeats), I reset my counter in readiness for the next day, make the light white again and then turn the light bulb off.

More things you could do:

  • You could also have applets to set the number of reps you want to do on a given day: set required reps to 10, or 20, etc.
  • Setup a Google Assistant command to “start my Apilio fitness timer” instead of pressing the button widget on your phone
  • Create a simpler circuit, maybe just light on/off on a particular colour, for the time you need to be working on the exercise

Nice @Anna, thanks for taking the time to write this up!

Cool. Thanks for the detailed write-up.