TolDish – a DIY Omnidirectional Treadmill
by TolgaI1 in Circuits > Gadgets
10532 Views, 11 Favorites, 0 Comments
TolDish – a DIY Omnidirectional Treadmill
TolDish is a DIY omnidirectional treadmill to use in VR games.
Recently I came across the Virtuix omni and Wizdish ROVR and I wondered if I can build something similar. I also took a look at other similar DIY projects which you can find by searching “diy omnidirectional threadmill” on the web. I decided to try using a satellite dish mounted on a wooden frame, with a microphone fitted under it.
You plug the microphone to your PC’s mic input, and when you are walking on the treadmill you make a noise, which in turn sends a w key press to the game. This should make your character walk in most games. For this purpose I first tried Wizdish’s Wiz_Mic program, but it did not work well for me. The program needs a constant noise to send constant w key presses. On my treadmill I make step noises which is not constant, so I needed a program that can send a stream of w’s when triggered. For this purpose I developed MictoW, which is basically a modified version of .NET Voice Recorder by Mark Heath, which uses nAudio library to monitor microphone input and uses InputManager library by Shynet to send w key presses.
MicToW Installation
Download http://tolgainci.com.tr/mictow/mictow_setup.exe and install.
Usage
On the first screen, select the preferred input device and click continue. On the second screen, adjust the desired “Trigger Level” and “W Send Duration” and press Start. “Trigger Level” is between 1 and 100 and indicates when w key press will be sent. Lower values will result in soft noises triggering key presses, while higher values will require louder noises to trigger key press. “W Send Duration” can be set at 0.1 second intervals, up to 3 seconds. For example, if the setting is 2 seconds, the program will send a stream of w key presses for 2 seconds. This is useful to keep w pressed in between your steps on the treadmill. Press “Stop” to stop sending keys. It’s not necessary to push “Stop” while adjusting values.
Source Code
You can watch a video about the project here.