Introduction: DIY Workout Player and Editor

My biggest problem with workouts was the continuous concentration on counting the repetitions of movements and remembering the next movement in the complete workout program. I also did not like follow any trainer or instructor because there speed was sometimes faster sometimes slower as I wanted. So I decided to create my own method of training and created an Android App. With this Android App, I can focus on the workout and the App will do all the annoying tasks. Now I am able to set up my own workout program or load the program of any trainer, change the speed according to my taste. I can use a built in timer or a Bluetooth button to control the application. It counts for me the exercises and tells me when I finished with one exercise reps and can start a new series of movements.

Link to the App:

GymEx can play workouts in three modes: the First mode is activated by pressing the play button in the center of the display. Play button starts a timer which will change movements automatically and will say aloud when a new type of movement is coming. The speed of the movements can be changed according to your speed. The second play mode is to touch the screen either at the moving figure or at the next icon. The fast forward icon will jump the program pointer to the next movement change.

Step 1: Bluetooth Play Modes

The third play mode is with a Bluetooth button or keyboard. Any type of Bluetooth button or keyboard can be used, if the Bluetooth button press has the same effect on the phone as a real phone button press (like volume up), technical term: HID-compliant.

Selfie buttons or Bluetooth remote shutters are usually suitable. The best choose to have a rubber case to put the Bluetooth button on your finger and can be pressed by one hand during workout.

Tested Bluetooth buttons and cases can you buy on e-bay



Silicon protector:

Step 2: Setup Bluetooth Button

Setup your Bluetooth Remote Shutter (it needs to be done only once)

1. Turn on Shutter, it has a switch on the side,

2. If the LED is not blinking, press the bigger button for a few seconds until the LED starts blinking.

2. On your phone click on the Menu→bluetooth item at “play” window

3. The default Bluetooth setting should come up. Press “Search” button (if you do not find your Shutter in the device list press the button on the Shutter for a few second and search again)

4. click on the name of the Shutter (default name:AB Shutter3) The phone should be connecting to the device.

After this procedure, if you turn on you Shutter the phone will connect automatically.

5. Press back arrow to return GymEx app

6. Press the Shutter bigger button it should trigger one movement. If nothing happening you can change the keyboard setting at Menu→settings→ Choose a forward Bluetooth button item.

With the help of the “Eye” icon, you can see the complete workout list in written form.
There are other functions at the menu of main "play" window:

-Settings: General settings can be changed here.

-Bluetooth: It starts the phone settings of Bluetooth to pair with Bluetooth button.

-Statistic: Statistic can be seen here.

-Export, import workout

Step 3: Future Plans for Control

I have some future plans to control this App., but I had no time to build them. If someone would try to create, and share the results I would appreciate it.

1. Motion sensor triggered workout.

The idea is to place this gadget before the person and the PIR sensor will detect the movements.


- PIR motion sensor like

- HID-compliant Bluetooth module like

- Arduino like

However, there are some problems with this solution: The PIR sensor is slow (min. 2-3 sec) and maybe it will miss some of the movement, but the timer is changeable. If not with the potentiometer than with changing resistors on the board. The sensitivity of the PIR sensor is hard to setup because of different type of movement I.e: arms moves only, or the whole body

2. Flex sensor integrated with a glove

For this control, it needs a glove and a flex sensor should be attached one of the fingers. If the position is changing the flex sensor will detect it and it will transfer as a Bluetooth button press.

-1pc. Flex sensor like

-1pc. 10 Kohm resistor

- 1pc. HID-compliant Bluetooth module like

- 1 pcs. Arduino like:

Here are also some issues, i.e. During the workout, a gloved hand will sweat and the electronics do not like to get wet.

Step 4: Edit Movements

One button press equal to one movement. The workout program is stored in a file and can be edited and changed at any time. You will find 4 workout programs are installed when you first start the program(Beginner, intermediate, advanced and elite). The default program can be changed, or a new program can be added. The customized workout programs can be saved and exported into files and shared to friends. It is ideal for personal trainers because individual training programs can be created and sent by e-mail, Viber, skype, dropbox, etc… to the right person.

The basic components of workout programs are movements. Movements are also customizable. All 28 movements are available in the movement library. The library can be exported and sent together with the workout program so everyone can import it and have the same workout as you, or you can save it as a backup. The basic default 28 movements can be changed either manually one by one or updated from an imported .csv file. The movement has a changeable name field. It should be at least one character long.

One movement consists of two positions. The first is the starting position and the second is the end position. With the upper radio button, you can switch between the two positions. With the “Play” icon the animation of the figure starts. The “Copy” icon copies the not selected position and pastes into the actual position. It will make easy to create new movements. You only need to create the first position, then copy into the second position, after that modify the difference between the two positions.

Body parts (like arms, legs, torso) direction and shape can be changed by you. First, choose the body parts with radio buttons. Then choose the form straight or bend. And at least choose a direction. You should continue this process to all body parts as long as you get the right position for the movement. Press “Play” icon to test the animation.

Step 5: New/edit Workout

You can edit the workout. By pressing the “New project” icon a new file is created. If the “Pencil” icon is pressed the actual workout file will be opened for editing. The name of the workout will be the file name and the project name as well.

You can set different waiting time, for the two positions. This feature can be useful if you want to create different rest times, or you would like to hold your legs up or do plank exercises. The movement can be changed directly from this menu.

The edit/add switch helps to speed up your editing activity. If the edit mode is active, you can change the actually selected movement without adding new movements to the program. If you switch to "add" mode, clicking on a movement icon a new movement is added to the program.

The number written into the “add” field will determine how many repetitions will be added to your workout program. The “+1” icon increase the “add” field value with one The “+” icon place movements into the program as many as it is written in the “add” field. The “trash” icon deletes the actual movement from the program. The navigation bar working similar as in the play mode, you can jump at any point with clicking on the progress bar, or you can manually step by step, with forwarding and backward icons. Press any of the 28 movement icons and if the “edit/adds” switch is set at the edit, the actual movement will be replaced, if the “edit/adds” switch is set at add, every icon clicking will create a new movement and add to the program.

The application is free and no ads. After 1000 movement it will offer the pro version, but it remains usable.

I have used GymEx for weeks and I still like it. Try out and experience the freedom of DIY workouts.