I’ve decided to design and make a simple and cheap DIY VR Control Box - 6 dual encoder / 8 button / 1 3-pos switch. The idea is simple: because we are still missing VR controllers and mouse control is especially excruciating with a rotary knobs of all kinds, we (or I, at the least) desperately need a convenient control that we can use without removing the HMD and breking the immersion, than can take care of most needed and frequently used rotary adjustments. Knobster looks good, but it’s more than $100 for a single controller. I can make one with 6 dual encoders, 8 buttons and a switch for about $25, and so can you!
I have built it with Arduino Mega 2650 Rev3 clone, that costs only $16, Chinese EC11 encoders ($4.64 for 10 encoders on Ali Express), and some 3D printing. Dual encoder mechanisms are based on edited FlightSimMaker models from Thingiverse. Knobs are inspired by G1000 so they are distinctly different by touch and you can feel what you are about to tweak. the box is very compact so you don’t have to feel around and is designed to fit next to the throttle quadrant so it’s easy to reach.
I’ve developed it on the wonderful MobiFlight software and so far it seems to work well. 3-position switch can be used as a “bank” switch. I can control almost anything I need for now. It’s limited only by my memory, so that I can remember the layouts and intuitively control everything what I need.
Update:
The project is completed, and VR Control Box is working fine! Just need some finishing programming touches, some more testing, and will publish the files soon.
Update 2:
See more detail and demo of operation of my box in my DIY motion platform video: DIY 2DOF Motion Platform for VR Flight Simulators - YouTube
More detail about the motion platform project here.
The trim wheel module that is attached to the throttle quadrant is also connected to the same box. It has rudder trim encoder at the bottom that activates only after pressing it in once. Until pressed, it acts as a magneto key rotator, so you can start the engine with it, and test magnetos. The box itself currently has 2 banks (with possibility of the third) activated by the 3-pos switch. Default bank has all the most-used functions in it. 2nd bank has rarely used NAV2/COM2/ADF radios and I run out of things to add there (or remember) for the third bank. There’s only so much you can remember and intuitively use in VR. 90% of the time I’ll be using the default bank.
|Working Features:
- COM/NAV radio tuning (central knob switches between COM/NAV, “swap” button next to the encoder under the thumb makes it active.
- Transponder (default locked, click to advance positions 1 to 4 , rotate to adjust number)
- Altimeter
- Heading bug
- VOR/OBS Course (both NAV1/NAV2)
- Autopilot Heading, Course, Altitude, VS, with knob buttons doing sync etc. and thumb buttons triggering respective modes
- G550/G1000/G3000 units are programmed separately, with seamless integration: nav, main, heading, altitude and map zoom rotary encoders work, including outer, inner, click and 5 thumb buttons Direct / FligghtPlan / Menu / Clr / Enter or PFD / MFD / NAV for TBM G3000.
Once I finish programming and testing everything I will publish all files on my website: Blender models, STL models for print, Software preset files and part list.
I finally got to see my CYOW airport in VR, and it is stunning! I hope MSFS VR is optimised much better soon, because I’m struggling with high-end 3080 / 3900X / 64Mb RAM/2Tb SSD system…