Turn Your Crosstrainer in a VR Machine




Introduction: Turn Your Crosstrainer in a VR Machine

About: I am always young, because i feel so!

Hi There,

here is my first Tutorial on Instrucatables, i show you how easily you can turn your crosstrainer, elliptical Trainer, or stationary Bike in a nice VR Machine that shows you:




See the Video here:

First you need some stuff for Building the Speedsensor! You now this from you Bike Computer:

A reed contact switch every turn, so we can calculate the values for our software.

1. KSK 1A87 (reed contact)

2. A Magnet

3. Wirelss Mouse / Wired works too, but not so comfortable.

4. Lusterterminal

5. Double sided duct tape

6. Some wires, soldering iron, some solder

Mount your reed contact on the lusterterminal, like the picture:

Be careful, it is glass!

Open the mouse and remove the right mouse button switch with your soldering iron:

You have to solder 2 wires to the right mouse button, normally there are 3 soldering points, make sure you solder the right ones.

Then connect the wires to the lusterterminal, so they have contact with the pins from reed contact, also if you are a professional then you can use clamps:

You can test it with the magnet: connect the mouse to the PC and move the magnet over the reed contact, you have to hear a click and the right mouse button gives an action on PC Screen. Works? Ok then go to the next step.

Step 1: Mounting the Reed Contact to the Training Device

The Magnet is pasted to the wheel that turns, so every time the magnet comet to the reed contact, it gives a click.

The reed contact is pasted outside the wheel, be careful, because it is glass, when you use neodym magnet 1-2 cm

distance is a good choice. Make sure it makes a "click"

OK you are done so far and can make a first driving test with my software.

I have created a course with unity, you can load the program from here for free:

Bikers Software

After unzipping you can start with bikers.exe

let the resolution how it is and check windowed if not already checked (Better for testing).

Make sure your mouse cursor is in the active window!

In the start window you can type in your




Press GO!

(miles not working yet)

Then jump on you training device and start pedaling.

You should see the driver moving, if not then press F1, F2, F3, F4, F5, F6, F7 for camera switching.

It works? The go over to the more competition next step.

Step 2: More Competition

It is boring to drive/step with the same level or switch it manual , so i have bought an arduino uno (another arduino should work too), and 2 relays to choose level up and level down from the map i have created in unity.

If you have a slope up, it makes auto switch to a higher Level, or when it slope down to a lower level.

For example, when you start with level 5 and a slope up comes, then the relays are switching a fixed value for slope mostly 2-3 steps, also the other way for the lower level.

Do this only when you have some skills for it. If you are fine wit manually set the level then do so, the software works also without arduino. I post more images later from my panel works.

Lets start Arduino Hardware Setup

I have build this on a hole board with some

wires, 2 relay, terminal block and the arduino.

I have an open basket on reichelt, pic your needed parts and datasheets there:


Place your items on the board and solder them, we use for the relays the normaly open pins.

See the datasheet from the SIL 7271-D 5V from the OpenBasket.

i use wire jumper to connect PIN 7 and PIN 8 to the relays. (Pin7 level down) (Pin8 level up)

and wire jumper to ground.

Now the tricky part to do is, open your crosstrainer panel and solder the level up + and down - switches:

AGAIN! Do this only when you have some skills for it. If you are fine wit manually set the level then do so, the software works also without arduino. I post more images later from my panel.

You can upload the standard cc for arduino, nothing more needed! The rest make my Program:

Upload the StandardFirmata sketch to the board. Open the sketch via File->Examples->Firmata->StandardFirmata and then press Upload. The StandardFirmata sketch will reset all pin states. You can now close the Arduino software.

If you are new, go first (You dont want magic smoke!):

Arduino Homepage

If you have a sparkfun hrmi reader for 5,3KhZ chest straps it shows you the heartrate.

this one: Polar HRMI Reader pcb

If you have a ant+ cheststrap and stick you can use it in 1-2 weeks, i am currently build it in.(Not ready yet).

Step 3: Added an ANT+ Device

I will thank you for 2000 views in 2 days!

So i have finished the ANT+ Version with a new level. There are some experimental features in. (See the Birds).

What you need is an ANT+ Device (Chest Strap) and an ANT+ USB-Stick.

See the Vendor-Details of your ANT+ Stick to install (On my PC WIN7 64-bit it installs automatically).

Make sure when put the stick in, that no other software communicate with it.

Then put on the chest strap, and start my ANT-Software, it is another one like in the first step, you can download it from here:

Biker Software with ANT+ (164MB)

Some more technical Information for you:

The circumference for the calculating is: 26" it is a good Average i think.

Calories are calculated: distance * weight * 0.9 / 5.6

I plan to show a power-meter with values from a csv table, based on my magnetic break in my crosstrainer.

Also i have 20 level prepared but not enough time to finish all.

I thank you for comments, so feel free to feed me with new ideas.


Be the First to Share


    • Lamps Challenge

      Lamps Challenge
    • Rice & Grains Challenge

      Rice & Grains Challenge
    • CNC and 3D Printing Contest

      CNC and 3D Printing Contest



    5 years ago

    I was wondering if you ever did anything further on this. I was actually thinking of doing something similar with my bike at home.

    Do you have a GitHub where the source can be accessed? I'd love to help you make some additions. I'd be curious if you could give a google map file that could provide the terrain information for hills and such. Would be a really cool addition.

    Thanks for the great start on this. It has certainly saved me some time.


    Reply 5 years ago

    I have stopped, because i am to busy. Kids work wife. :)

    I cannot share the source, because there is payed content in it, where i have not a permission to share.

    If yo have specified questions just contact me.

    Currently i work on a virtual power table for ANT+. So you can ride with virtual Power from a Table in Zwift :)

    Deric CheongK
    Deric CheongK

    6 years ago

    Hi AndreasO1, saw your post in Unity and upon googling, I have end up here, which is nice. I wonder if it were able to compile to IOS or Android? Wanted to know if it runs with Oculus or Cardboard.

    Glad to make it here, and keep the good job!


    Reply 6 years ago

    I do not think that it working with android or IOS, because i use mouseclick and analog input/output.

    When you want something for IOS and Android, it need a complete ANT+ driven Setup. for speed cadence heartrate etc. Some examples are on the ANT site:


    Good luck!

    Just4Fun Media
    Just4Fun Media

    7 years ago

    Very interesting! I love the idea to automatically change the tension with the slope of the road. How long did it take to build?

    Have a great day! :-)


    Reply 7 years ago

    Thank you for the feedback


    Reply 7 years ago

    I do this step by step, it is a hobby, i have started before 2 years. When i have some time, i do somehing for it.


    7 years ago

    This is great - I've thought about doing this over the years and now you have kindly given me a road map! Thank you - I am going to start with your wobble board instructable...then this is next on the list. Cheers!


    Reply 7 years ago

    Thank you for the feedback.

    Do not hesitate to ask here, if you are running in trouble.