Introduction: DIY Omnidirectional Treadmill With Wiimotes
A few months ago, a couple of friends and myself attempted to make an Omnidirectional Treadmill for a maker faire that was coming to our area. Our plan was to create a treadmill for the cheapest possible price with the resources we had around us. We ultimately made it using some lumber and a couple Wiimotes with the Wiimotion Plus accessory. The design is rough around the edges and our prototype was a bit rickety but it worked as a proof of concept and it proved that Omnidirectional Treadmills can be made affordable.
It works on the concept of it taking the weight off your feet using bungees and a roofing harness. The user wears a pair of socks so that their feet slide around the slippery MDF surface beneath. With a Wiimote in the right sock of the user, it can can track the movement of the foot and translate it into WSAD movement. A second remote is used with a nunchuck to manually pan the camera as well as perform other functions in a video game. All of the motion data was fed into a program my friend wrote with Visual Studio that turned it into WSAD keyboard controls. Then we used an Xbox controller emulator called Vjoy to take the output of that program and turn it into a virtual controller which can be fed to games such as Skyrim.
Be careful to NOT use this with Vorpx since both programs use a virtual controller to operate. VorpX allows games like Skyrim to function with the Rift DK2. It creates a big mess, believe me.
Unfortunately we didn't take any pictures or footage of our treadmill in action; however, this Sketchup 2016 model attached is a scale representation of the prototype based off of measurements of the pieces of it laying in the garage.
I have also attached all the files that my friend created and used to get the treadmill up and running. I tried to run it however I have nowhere near the experience that he has. (He is now a college student and he once created his own iteration of Linux but he had to throw in the towel once drivers became a problem.) I would not undergo this project unless you have adept knowledge of Visual Studio and programming in C. This is by no means a finished product; however I hope this provides someone with a platform to experiment with this concept. Enjoy and good luck!
Step 1: What You'll Need
1-2 sheets of 3/4" Plywood
10-12 2" x 4" x 8' Kiln dried lumber
16' of 4" x 4" lumber
4' of 2" x 6" lumber
a 4' by 4' sheet of slippery MDF Eucaboard
A couple dozen 3.5" wood screws
A couple dozen 2.5" wood Screws
3' of 1.5" Steel pipe
A large steel fender washer- Inner Diameter should fit an HDMI cable, Outer Diameter > 3"
2 carabiners capable of holding your weight
A couple 1' bungee cables- these go between the harness and the steel bar overhead.
A roofing harness (see picture above)
2 wiimotes with Wiimotion Plus accessory (1 for walking 1 for actions with your hand)
1 nunchuck for the hand remote.
Bluetooth connectivity (you may need to buy an adapter)
Step 2: The Base and Pillars
The layers are as follows top to bottom
Eucaboard
Plywood
2x4
Use 2.5" screws to secure the layers.
The sketchup model provides measurements for each piece in there.
To make the pillars:
Cut eight pieces of 2x4 to a length of 80"
Then make a sandwich by using two pieces to effectively make a 4" by 4" pillar.
Secure using 3.5" screws
Attachments
Step 3: The Top
I color coded the pieces as follows
Yellow are the scratch-built 4x4 posts.
Light blue are actual pieces of 4x4.
Use the 3.5" screws.
To make the overhead bar, cut a mouth in the dead center mark at 1 foot using a hole saw to fit the vertical piece of pipe.
The vertical pipe will go through a hole in the dead center of the 2x6 that is slightly larger than the pipe itself.
Take the fender washer and tac weld it to the top of the vertical pipe to hold it in place. Then thoroughly weld it all the way around the perimeter. It needs to hold your weight.
Drill holes through the ends of the overhead pipe for the bungees to go through.
Tie the bungees on now and add the clips.
Use the pictures for visual cues.
Step 4: Reinforce It!
Make 16 of those angle gussets using 3/4" ply and secure them to the frame in every corner.
Use 3.5" screws.
Then you're done building!
Step 5: Work on Calibration and You Are Finished!
Fire up the code in visual studio and see if everything works. If it does, great! If it doesn't, I won't be much help. I had no part in programming this project. It should provide the basis for how the Wiimotes pick up motion, it just needs to work with the other applications nicely. Some tweaking might have to be done to the tolerances to read a smooth line of W's. Mess with the sensitivity and the thresholds until you get a nice constant string of W's from the console output when you walk normally. Bungee tightness might have to be adjusted on a per user basis as well.
Good luck and thank you for reading this!