Yaw 3 VR Motion Simulation Rig

Introduction

This is the Yaw 3 motion simulator from YawVR.  It’s designed to give you a big leap in VR immersion when using flying and driving simulators – or really any game that involves motion in virtual reality – think roller coasters, kayaks, etc.  VR is already an amazing immersive experience – it’s wild to fool your brain into believing you’re somewhere else with just sight and sound – so adding motion to a vehicle-oriented VR experience can take the immersion even further.

It was specifically Microsoft Flight Simulator (MSFS 2020 and now 2024) that led me to start thinking about getting a motion simulator.  I’ve loved exploring the world in VR with MSFS.  I find it utterly captivating to navigate around the many places I’ve lived or visited, enjoying new views from above and the fairly convincing feeling of flying you get sitting in a cockpit in VR with MSFS.  I also love flying around in a third person view (outside the plane) that opens up the view of the surroundings even more.  The fidelity to the real world that it can display is often amazing, even if not perfect or incomplete.  So of course I was excited to try a virtual flying experience with the added dimension of motion.

While motion simulators can’t replicate the true forces acting on your body in a real driving or flying experience, they are capable of generating up to six degrees of motion – rotational movement: pitch, roll, yaw and translational movement: heave (up/down), sway (left/right) and surge (forward/backward).

The Yaw 3 is an interesting design built on a compact base that can freely rotate in the yaw direction (rotating left/right without limit), provide 40 degrees of roll (tilting left/right 20 degrees) and 70 degrees of pitch (tilting forward/back) – and it can do so very quickly: 160 degrees in a second for roll and pitch.  It also supports generating vibrations to let you feel road surfaces and engine vibrations.

(Please note: As an Amazon Associate, I earn from qualifying purchases made via my affiliate links to Amazon listings.)

Assembly

Unfortunately, it hasn’t been a simple plug-n-play experience to get the Yaw 3 set up.  Unlike some other folk though, at least my unit arrived without any apparent shipping damage.  Not surprisingly, the unit does require some assembly.  Setting up the Yaw base platform and connecting the roll and pitch component is fairly straightforward but they could use more detail in their assembly video.  (At the time of my order in early November 2024, there was no written instructions.). For example, while connecting the drive belt for the pitch axis they tell you to make sure it is tightened appropriately without saying how tight or loose it should be.  This would prove to come up again later.

Central Mount – Warped Base

When I went to install the central vertical mount for the table, I discovered that the steel base of it was warped in such a way that it was impossible to even start to fit all four bolts through the holes into the leg extension below.  While waiting to hear back from their support person via email (there’s a nine-hour time zone difference), I tried using a mallet to flatten out the base.  I was able to flatten it out just enough to start the bolts but not far enough to reach the threads in the leg extension.  The response from YawVR’s support person was that this deformed base was normal and not a problem.  After I followed up explaining that I couldn’t even start to thread it, even after trying to bash the base more flat, they suggested I try longer bolts.  I did go out and find some longer bolts and this did work.  I was a little nervous about forcing the base to conform by threading the bolts to the support (fearing the threads would break), but it ultimately did work and de-warped the central mount’s base to fit.  That does raise the question of how the shorter provided bolts were expected to work and whether my central mount’s base was actually not manufactured wrong.

Central Mount – Orientation and Position

Another detail that wasn’t spelled out in the setup video was the orientation of the central mount.  It is not symmetrical.  The mount has a spring resisting movement in one direction and the cutout allows it to rotate farther in one direction than the other.  The video showed the shorter end of the cutout facing towards the seat but after trying this I decided it was a bad idea because with added weight of a driving wheel on the table, it was far too easy to mistakenly let slip the table to drop very quickly and smash the foot plate (and any pedals installed there).  I decided to flip it around and secure the central mount so that the shorter end of the movement would face away from the seat and prevent it from falling all the way.

Later on I also decided to give myself more leg room for getting into and out of the seat by moving the mount to the set of bolt holes farther away from the seat.  (More on that later.)

Damaged Threads

While continuing to assemble the unit, I went around checking that every bolt along the assembled leg extension and footrest was secure.  I was doing this manually with an Alan (hex) wrench, not a power tool, and yet one of the bolts broke free – the internal threading in one bolt hole of the leg extension broke off and fell out.  I contacted support over this and after the usual back-and-forth email exchange, they’ve promised to send a replacement.  (That’s currently on hold waiting for something else.)

Foot Plate Adjustability

The angle of the foot plate is adjustable with a series of bolt holes and a pair of hex head bolts.  I swapped these out for a knobbed bolt that can be removed without tools. (pictured)

The length of the leg extension that supports the foot plate is also adjustable but not easy to get to.  It has a few inches of leeway that it can be slid in or out when securing it to the frame under the seat but it’s not accessible without removing the seat entirely.  This is too much of a hassle to go through to adjust it for different guest users.  I think they should rework this design to make it easily adjustable for riders of different heights.  It might be enough to just invert the placement of the brackets and bolts so that they’re reachable from under the seat with knobbed handle bolts.  Since that isn’t an option, I decided to not use the full extension of the leg rest despite my height (not quite 6’4″ or about 192 cm) to more likely accommodate shorter riders.

Squealing Noise from Roll Axis

After assembly, I quickly noticed that my Yaw 3 would emit a squealing noise when you rolled it near the left end of its roll axis.  I could reproduce this easily just by manually rolling it to the end of the axis while the power was off but it would also creak like this under power.

I could see that two of the three rollers on the front side never make contact with the roll axis and one roller on the back side (the leftmost one) was enduring a lot of pressure against the roll axis.  Originally I thought that perhaps the noise was coming from this one roller under pressure.  (Here’s a video recording of the problem before I got it figured out.)

After more days of back and forth emails with YawVR support (different time zones so always a day or two for each response/reply) and after chatting with folks on the Official YawVR Discord forum (requires invite), I eventually realized that one of the rollers underneath was rubbing against the roll axis belt.  My belt is not quite centered between the two rollers on the left end of the roll axis (but it’s fine on the right end).  I could see it was starting to get damaged just from me manually rolling the seat to figure out where the squeal was coming from.

In the meantime, I got another response from YawVR Support where they suggested, “apply some WD40 maybe on both sides of the belt where the sound comes from. Please let me know if it helped or not.” I pushed back on that suggestion as WD-40 is really a solvent – meant to dissolve gunk and free up stuck parts – it’s NOT a good idea to try to use it as a lubricant or to eliminate squeaks.

Once I pointed out that the belt was rubbing, they directed me to loosen the roll belt by loosening the screw on the belt attachment point enough to allow a pencil to be slipped between it and the roll axis. To do this, they explain that “you need to completely remove the screw on one side, and then put the screw back, and when you place the belt back, you don’t need to turn it completely in, just so long that it you can fit a pencil there.”

This did alleviate the squealing noise (at least up until just the last few millimeters) by apparently allowing the belt to relax and sit just barely far enough away from the one roller.  It’s good that the belt is no longer rubbing on the roller but of course why is my belt so close to the roller on one end to begin with?  I also still wonder why those two rollers on the front side of the roller axis don’t make any contact – perhaps my roller axis is out-of-alignment or warped?  YawVR support says it was designed this way “so there wouldn’t be any room for unnecessary wobbling which could cause damages.”

Another outstanding concern is that one of the rollers below and next to my roll axis belt doesn’t sit directly under the roller axis.  The weight it is supporting rests on only half of the roller.  Will it eventually fail?  As others are discussing on the YawVR Discord server, there seems to be a flaw with how these rollers are supposed to work as several folks have had the rubber portion of the roller come off the wheel underneath.

Anyway, the upshot on the squealing from mine was that loosening that tension screw at the top of the belt allowed the belt to move just enough away from the roller that it no longer rubbed (and squealed) except for the last few millimeters at the end of the roll axis. So I guess my belt was installed too tight from the factory – and/or it’s not quite centered.

Seat Selection and Installation

As for the seat… I opted not to buy the YawVR seat with the Yaw 3 because they said you could use your own gaming seat, I wasn’t into the idea of LED lighting on the seat and I figured it might save a bit on shipping to just order a seat here in the U.S. anyway. Well… oops.  After ordering the Yaw 3 without the seat and starting my search for a seat, I discovered that wasn’t such a simple purchase.  Lots of gaming seats get bad reviews for being junk, many gaming seats are actually rather small (again, I’m pretty tall) and many are so confining that wearing a VR headset while sitting in them would be a problem – keeping you from being able to look around.  After a really long search over many days, I eventually settled on the GT Omega RS12 – which would ship from Europe anyway and would have to be backordered.  It’s a nice seat though and plenty tall.  It’s also larger width-wise for folks who might need that extra room.

The seat did eventually arrive some week or so after I got the Yaw 3 and that’s when I discovered that when YawVR said you could use your own gaming seat, they didn’t mention that you would need to fashion your own mounting bracket.  Oh boy.  Lots more online searching until I eventually settled on trying a couple of heavy, 5mm thick, steel “mending brackets” (affiliate link).  This was followed with many days of learning better techniques for drilling through thicker steel, getting more supplies (affiliate links: titanium step bits, water-based cutting fluid for drilling, sets of grade 8 bolts and nuts), more problem solving like needing to find strong spacers to leave enough clearance for the seat’s provided slider mechanism to work, etc.

Seat Slider Is a Bad Idea

Eventually though, I did succeed in getting the GT Omega seat and slider mounted to the Yaw 3.  Soon after, I injured my hand by mistakenly trying to use the slider while seated in the rig.  The idea with using the included slider mechanism on the chair was that it would better accommodate riders of different heights since the leg extension to the foot plate is at a fixed distance once you finish assembly.

I found trying to use a slider with the Yaw 3 was problematic for a bunch of reasons:

  1. First off, it was dangerous.  If you reach down and release the slider while you’re sitting in the seat, you immediately get launched forward with full force to the limit. I crushed my knuckles against the center mount the first time. I added a hard stop on the slider as a safety measure and then tried to remember not to use it while sitting but I still managed to forget some days later.  At least I didn’t hurt myself the second time but because of how the seat can often be leaning forward when you’re adjusting things, you just get launched forward uncontrollably.  You simply have to adjust the slide position while not seated.
  2. It raises your seating position both by the height of the slider mechanism itself and the additional spacers you’ll need to leave enough room for the slider bar to be usable under the seat frame.  This added height makes it that more difficult to climb into the rig (it’s already on a raised platform) and more difficult to position the center mount table comfortably over my knees.
  3. It messes up the weight balance of the rig to move the seat position. You want to counter the weight of the leg extension and any peripherals on the center mount table or the foot plate by placing weights behind the seat back so that the pitch motor can operate smoothly. Sliding the seat forward or back shifts your body weight forward or back and dramatically screws up how you’ve balanced things.
  4. Once you’ve set up your motion compensation software based on the Yaw 3’s built-in tracking or on a separate fixed tracker, you’re messing up the numbers on your saved configuration that tells how far the headset is from the center of rotation for all three axes (pitch, roll and yaw).  (This might not be an issue if you’re using YawVR’s InfuseVR software and your headset’s VR controller.  Not sure about that.)

After I discovered these issues, I ended up removing the seat slider entirely – which meant I had to go and make new holes in my custom brackets so I could still mount the chair.  As you can see in the picture, I also mounted a bass shaker underneath but ended up replacing it later.

Repositioning Center Table Mount

I decided to move the center table mount to the second set of bolts farther away from the seat because it was difficult to maneuver my legs around it when getting in and out of the chair. Now the chair mount is farther away but angled more towards the seat so there’s more room getting in and out.  As a bonus, it’s easier to position the driving wheel farther away for my longer arms vs someone else’s. It’s very possible that the central mount position is only a problem for me because I think my non-YawVR seat (a GT Omega RS12) is larger all around: I suspect it has a taller seat back as well as a deeper and wider seat cushion.  I haven’t seen or tried the YawVR seat in person though.

Balancing Pitch Axis with Weights

As I mentioned before, you need to balance the whole thing with weights added behind the seat back so that the pitch motor can operate smoothly.  At the time of my purchase, there was nothing in the setup instructional video about this weight balancing but it’s mentioned in the forums and by other users and the Yaw 3 has a dedicated space behind the seat to place circular weights.  Strangely, the provided bolt to hold the weights in place doesn’t include a spacer to keep any weight rings in place.  (“ItsVRK” has provided a 3D-printer model of a spacer to make one though.)

I made one attempt to buy a couple of 10 lb. exercise weights but found that they were too wide by like half an inch or a couple cm’s to fit in the available slot, so I retuned them.  I’m currently using some of my 5 lb. scuba diving soft bag weights totaling 25 lbs (11.3 kg) as they’re easy to slip in back there.

My Logitech G Pro wheel and pedals are heavy so I removed the pedal base and mounted the pedals directly to the foot plate to reduce the weight out that far. Choosing not to put the foot rest at its farthest extension also helps as the farther the distance any weight is from the center of rotation, the more of an effect it has. (YawVR should really make the leg extension of the foot plate adjustable without having to remove the seat.)  I’m thinking I’ll eventually make a mounting plate out of wood to attach the pedals to so that it’ll be easier to swap out driving pedals for rudder pedals.  In the meantime I’ll rely on the twist style Z-axis on my joystick for rudder control.

The rig only balances when I’m sitting in it, otherwise it rests forward.

👉 So, in short, I don’t recommend trying to use a slider but I do recommend moving the center mount farther away and angling it as needed for reach and to give your legs and knees more room, as you can see in these pictures:

 

 

Adding Transducers (Bass Shakers) for Haptic Feedback

The Yaw 3 has the ability to generate vibrations – apparently by moving the roll and/or pitch axis back and forth very slightly and very quickly?  It works but I found I was unable to get smooth high frequency vibrations.  It seemed pretty rough and I also kept experiencing irregular jerks or spikes of motion. I also wonder if making the motors and other parts responsible for moving the rig smoothly do this constant vibrating motion is hard on those parts.  Seems like it would be better to have a dedicated bass shaker that is designed for generating a whole range of frequency vibrations like this.

Based on some recommendations on the Official YawVR Discord server, I started off buying a Dayton Audio BST-1 bass shaker (affiliate link) and a little USB/Bluetooth amplifier (like the Nobsound Mini NS-01G Pro (affiliate link)) to drive it.  I mounted the bass shaker to the underside of the 15 degree incline seat adapter.  However, I ended up pretty underwhelmed by its performance.  I could feel it conveying vibrations with my hand on the seat but it didn’t really carry through while seated normally.  Hardly seemed worth the trouble.  I think there good reasons this arrangement didn’t perform well for me: 1) when mounted to the underside of the 15 degree pitched seat adapter, half of the BST-1 sits over the open hole of the seat adapter, limiting how much contact it makes with the surface of the adapter and no contact at all with the center portion of the bass shaker; and 2) my GT Omega RS12 seat is mounted via heavy 5mm steel brackets to this seat adapter but makes contact only via its four corner bolts and spacers – a very limited amount surface area to convey vibrations.  Due to the size of the BST-1, it needs to be mounted here – there is no room to mount it directly to the underside of the seat.  I don’t know how the YawVR seat is mounted so maybe it would work better for that.

I came across someone else’s recommendation to use much smaller Dayton Audio TT25-8 puck-sized transducers (affiliate link) which are small enough to mount directly to the underside of the seat or even insert them into the back of the seat between the cushion and the upholstery.  They’re also small enough to mount on the foot plate.  This worked out great!  I did lots of experimenting with placement, squeezing them under or zip-tied to the sinusoidal support bars/springs or under the cross bars, etc.  I was hesitant to take apart the upholstery of the seat back until, after a lot of experimentation, it become obvious that it would really help to get some direct vibrations to the seat back.  (This was difficult but doable – see pictures.)

I ended up using four of these TT25-8 8-ohm puck transducers since when paired up they were a good match for the two 4 ohm channels of the Nobsound Mini NS-01G Pro (affiliate link)).  I place two of them low inside the seat back.  One in the center of the seat back was strong enough but it felt more convincing/realistic to have one on either side to acoid the artificial feel of the effects localized in the middle of my back.  I wedged a third one under the front crossbar of the seat bottom to balance out and provide separation from the effects in the seat back.  I mounted the fourth one under the foot plate in that little cubbyhole with 3M tape adhesive.  This last one provides vibrations through your feet so that it doesn’t feel like only the seat is attached to the virtual aircraft or vehicle.

One tip with the Nobsound: don’t mistakenly run it off of USB power by forgetting to turn on the power switch.  It will run off USB power if you allow it but it makes the transducers respond poorly and noisily.

By the way, here’s the difference between using tactile transducers vs. subwoofers, as summarized by ChatGPT:

Tactile Immersion: Transducers (especially tactile transducers) add a physical dimension to sound by generating vibrations that simulate the feel of bass frequencies. They don’t emit audible bass but instead create vibrations that simulate bass, often attached to chairs, floors, or other surfaces.

Auditory Immersion: Subwoofers are all about enhancing the audible bass and creating the deep, rumbling sounds that give audio a sense of power and fullness.

If you want to feel the bass physically, such as in a gaming chair or home theater seating, go for a tactile transducer.

If you want audible low-frequency sound to complement your speakers, especially in music or movies, go for a subwoofer. For the ultimate experience, many setups combine both—a subwoofer for sound and a tactile transducer for vibration.

   

I’m using SimHaptic to drive the transducers. Unlike YawVR’s Game Link software and the Yaw 3’s vibration support, SimHaptic makes use of dozens of different telemetry effects beyond just engine vibration and ground surface and you can adjust each effect’s strength on different channels – like make bumps stronger through the seat bottom and engine vibrations through the seat back, etc.  Plus it has different effects for different aircraft so that they feel as different as they sound when you switch between wildly different aircraft.

SimHaptic is nice and easy to set up and it automatically selects ready-made profiles for different aircraft in MSFS 2020 and 2024. At first I was concerned because I only saw a menu of like five aircraft but then I discovered it would automatically download and activate profiles for other aircraft as you select them in MSFS.  (Yay!)  It connects easily to the mini Nobsound amp which is plugged into the Yaw 3’s USB hub which is relayed over WiFi via VirtualHere (part of the install of YawVR’s Game Link). The Nobsound can connect via Bluetooth, USB or direct audio.  I’m using USB via the Yaw 3’s wireless USB Hub (via the provided VirtualHere server).  I’ve read some say that this can introduce latency and stutters for bass shaker connections.  However, I’m using a dedicated router for the Yaw 3 and VirtualHere so I wonder if that’s helping?

All together these transducers and this haptic feedback software add yet another level of immersion.  I definitely think it’s worthwhile and works much better than the Yaw 3’s built-in vibration support.

Here’s an explanation of how to get more immersion with transducers as summarized by ChatGPT:

To achieve maximum immersion for both VR flight and racing sims, here is a summary of recommended transducer mounting locations on a gaming rig, along with the effects they can simulate.  Since a motion rig already provides large-scale physical movements (e.g., pitch, roll, heave), transducers should focus on finer, localized feedback (e.g., vibrations from road texture, engine rumble, and turbulence) that the motion rig cannot replicate.

1. Seat Bottom – Simulates vibrations and feedback felt through the seat base.

  • Road texture and suspension feedback (racing).
  • Ground effects during taxiing, takeoff and landing (flight)
  • Engine vibrations and low-frequency rumble (both).
  • Reduce emphasis on impacts (e.g., landing shocks) as the motion rig will handle those movements better.

Mounting:  Secure the transducer to the metal seat frame or directly to the seat cushion (with an air gap for cooling if embedded).  Use isolation mounts to focus vibrations on the seat instead of dissipating into the rig.

2. Seat Back – Provides vibrations felt through the upper body and back.

  • Engine vibrations and throttle feedback (both).
  • Turbulence, aerodynamic buffeting, mechanical feedback from the fuselage or control surfaces (flight).
  • Acceleration, braking, and gear shifts (racing).
  • Focus on engine vibrations and turbulence, as these are often too subtle for motion rigs to handle accurately.

Mounting:  Attach the transducer to the seat back frame, hard foam, or upholstery.  Position near the lower back for maximum perception and comfort.

Advantages of Using Both Seat Bottom and Seat Back

  • Full-Body Immersion: Distributing transducers between the back and bottom provides tactile feedback across the entire body, replicating how vibrations are experienced in real life.
  • Separation of Effects: Placing transducers in different areas allows you to assign specific effects to each, such as: Engine vibrations to the back. Road or ground effects to the bottom.
  • Directional Feedback:Vibrations from the seat back and cushion can create a more 3D sensation, mimicking how forces are felt differently in various parts of the body during acceleration, turbulence, or impacts.

If you’re simulating aircraft or car seats, this setup allows you to accurately simulate how different vibrations and forces are distributed across the body. If constrained to just one location, prioritize based on the type of simulation:  Aircraft – Use seat back.  Cars – Use seat bottom.

3. Pedals – Adds tactile feedback for foot-based controls.

  • Simulate tactile feedback in the feet, such as brake ABS pulses, road imperfections, and runway vibrations.

Mounting: Attach transducers directly to the pedal deck or pedal base.  Ensure secure mounting to avoid dampened vibrations from pedal materials.

4. Steering Wheel or Yoke – Simulates vibrations and force feedback through hand controls.

  • Road surface vibrations and curbs (racing).
  • Aircraft vibrations from engine or turbulence (flight).

Mounting: Integrate a smaller transducer onto the back of the wheel or yoke base.  Coordinate with existing force feedback motors for realistic combined effects.

5. Gear Shifter or Throttle – Adds immersion through hand-operated controls.

  • Gear shift vibrations (racing).
  • Throttle vibration during high power or turbulence (flight).

Mounting: Attach a small transducer to the base of the shifter or throttle quadrant.  Pair effects with engine RPM or gear changes for added realism.

6. Rig Frame or Floor – Provides ambient vibrations across the entire rig, less appropriate for motion rigs.

  • Only for ambient effects if necessary, keep transducers off moving parts.
  • General engine rumble and road texture (racing).
  • Aircraft engine vibrations during startup and flight (flight).

Mounting:  Avoid mounting transducers to the motion platform’s moving parts, as this can introduce noise or unintended vibrations that conflict with the platform’s precision.  Attach larger transducers (e.g., Buttkickers) to the main rig frame or under the floor near the seat mount.  Use isolation mounts to prevent vibration loss to the surrounding structure.

Recommended Setup for Maximum Immersion –
For both flight and racing VR sims, prioritize the following:

  1. Seat Bottom: Simulates road/ground effects, landing, takeoff, and engine rumble.
  2. Seat Back: Adds throttle, engine, turbulence, and acceleration feedback.
  3. Pedals: Adds tactile effects for braking and road/runway feedback.
  4. Steering Wheel/Yoke and Gear Shifter/Throttle: Adds hand-based feedback for controls.

Final Notes

  • Use puck-sized transducers for targeted effects (e.g., pedals, seat back).
  • Use larger bass shakers (e.g., Buttkickers) for broader, low-frequency effects (e.g., seat bottom or rig frame).
  • Use a software platform to configure effects and assign specific transducers to different feedback types.
  • Lower vibration intensity slightly since a motion rig already delivers strong physical feedback. Transducers should complement the motion effects, not overwhelm them.
  • For effects like landing impacts, consider using only the motion rig to avoid duplication.
  • Ensure vibrations are localized by using isolation mounts and strategically mounting transducers.

This setup ensures realistic and immersive feedback for both VR flight and racing sims.

I have focused on the seat bottom, seat back and the foot plate.  I think suggestions 4 and 5 (vehicle controls) can be safely ignored.  As for the entire rig frame or floor, I’m not sure there’s much point to doing so on a motion simulation rig like the Yaw 3.  However, the Yaw 3 does have the ability to generate vibrations but so far they seem to be only fairly rough motions – not practical for things like engine vibration.

Miscellaneous Modifications

Loose Power Outlet

It’s very helpful that there is a power outlet provided on the unit that’s carried along with the pitch and yaw axes.  The outlet is even one of those universal outlets that accepts power plugs of almost any region.  However, the outlet keeps working itself loose.  It’s surprising since it does seem to snap in securely but every few days I would find it had come out again.

The last time I noticed that the outlet had worked itself out, the unit was still powered on and the extension cord had also partially worked itself out of the outlet.  I went to push the whole thing back into place and I got a huge spark from back behind the outlet!  My best guess is that I inadvertently made contact between one of the exposed wire connectors behind the outlet and the metal case of the Yaw 3.  I think the spark originated from where the grounding wire is attached to the case of the Yaw 3 back behind the outlet.

So that’s when I decided enough was enough and taped down both the plug and the outlet with very strong Gorilla tape.

   

I’m using a very short, angled-plug extension cord (affiliate link) to give it a lower profile and accommodate powering both my force-feedback driving wheel and the bass shaker.  I also swapped out the long power cord that comes with the driving wheel with a short angled one (affiliate link).

Mounting Controllers on the Side Rails

The Yaw 3 now includes a 15 degree angle seat adapter which has the benefit of providing more downward pitch range by taking it excess from the upward pitch – which is still plenty steep.  One side effect of this adapter though is that it makes the optional side rails both too low and angled poorly relative to the seat for mounting controllers.

I did a bunch of hunting online and ended up finding these 3-axis joint mounts (affiliate link) on Amazon which raise up the mount and provide the ability to angle them as you wish.  Unfortunately they’re only available in white so I had to paint them black, plus a matte clear coat.  Then I made a couple of mounting plates out of MDF plywood to accommodate my Logitech X52 flight stick and throttle:

   

Later, when I upgraded to a VKB joystick and throttle, I used the mounting plate that came with the side rails for the relatively large throttle and I made a mounting block for the smaller joystick base out of solid wood:  (Solid wood so I could countersink the bolt heads.)

   

Added a Hanger for the VR Headset

I found a little plastic hanger on Amazon (affiliate link) to hang the VR headset off the back of the chair when not in use.  I also keep a protective cover over the lenses though.


 

Central Table Mount Accessories

> Wireless trackball and compact keyboard, usb switched hub, driving wheel or yoke…


More info to come…

Peripherals

>> Lots of peripherals to discuss here…

Accessories (includes affiliate links)

Controllers

  • VKB Gunfighter IV joystick grip and base
  • VKB STECS throttle
  • Logitech X52 Pro H.O.T.A.S. (stick and throttle)
  • Logitech Flight Yoke, Pedals and Throttle Quadrant
  • Logitech G Pro Racing Wheel w/direct drive force feedback
  • Logitech G Pro Racing Pedals w/load cell brake

VR Headsets

  • HP Reverb G2
  • Apple Vision Pro

Software Setup

  • YawVR’s Game Link
  • VirtualHere wireless USB support
  • Infuse VR vs. ALVR
  • OpenVR vs OpenXR
  • OpenXR Motion Compensation
  • OpenComposite
  • SteamVR vs Windows Mixed Reality

Troubleshooting – Loss of Motion Control

While testing and tweaking a new profile for MSFS 2024 for a couple of hours, I started to encounter this issue where my Yaw 3 would get stuck in a rolled-to-the-right position. All it would take would be to bank to the right for a few seconds but then when I’d level out or roll to the left, I would still be stuck in the rolled to the right position. And yet the Game Link Input Monitor would show a level position for output.  Sometimes if I rolled in the opposite direction and held it there long enough it would usually eventually start to come back but not always. Engaging the parking mode would actually lower the pitch and leave the roll axis tilted.

Skipping over most of the intermediate troubleshooting, I eventually figured it out by testing with and without my weight in the seat and using YawVR app’s manual control.  Turns out it was just the power level setting. I had turned it way down to 10% in the midst of my testing MSFS to see if there was a way to mitigate how the Yaw 3 will stop at a target roll position so abruptly that the chair will bounce about. (At least it does so with aggressive maneuvers like in an FA-18 military jet.)

👉 So yeah, 10% was not enough to move me and the chair out of the right rolled position. Just bumping the power level back up to 30% fixed it.

Motion Control Profiles

While it’s not possible for a motion simulator to generate all the true forces you feel in a moving vehicle (and it’s even harder with the motions of a flying aircraft), there are various tricks that can be done to fool our brains into perceiving approximations of some of these forces, particularly if you can’t see the room around you because you’re in an enclosed cockpit or a full virtual reality one.  On top of the aural and visual stimulation that driving or flying sim software provides, adding physical motion cues lets you become even more seriously immersed in the experience.

Unfortunately, the only profiles for MSFS 2020 or 2024 that came with the Yaw 3’s Game Link software (as of Nov.-Dec. 2024) leave a lot to be desired. They’re merely a one-to-one mapping of roll, pitch and heading (for yaw) position which mimics the aircraft’s orientation rather than actually simulating the forces you’d feel flying the plane.  This is not how motion simulators are designed to work!  As an easy example, think about what it feels like when you’re driving or riding in a car as it follows a curve in the road – you feel a force pushing you to the outside of the curve as your forward momentum is redirected through the turn.  You don’t feel like you’re rotating in place (yaw), unless the car goes into a slide or spin.  When you accelerate you feel it in your inner ears and you feel yourself pressed back into the seat or forward into the seat belt.

I posted to the YawVR Discord server hoping that someone would have found or developed a better profile for MSFS 2020 or 2024 but apparently not.  I started looking into making one myself but quickly ran into trouble trying to figure out how to use YawVR’s Game Link (previously called “Game Engine”) as there’s no documentation (as of late 2024) for how all the options work and how best to use them.  On top of that the documentation for MSFS’s telemetry data is pretty simplistic, not really spelling out how each variable works or even clearly describing the orientation of each axis.  (MSFS 2024 SDK – Aircraft States and Position Variables)  It defines variables with statements like “ACCELERATION BODY Y: Acceleration relative to aircraft Y axis, in vertical direction.”  Does that mean this variable gives values along a vertical Y axis or relative to a horizonal Y axis?  In another definition it refers to an axis being relative to “east/west direction” – why are compass headings referenced in a body-centric coordinate system?

I found this explanation of the axes in an MSFS Developer Forum:

The classic body-fixed aerodynamic coordinate system used in real airplanes has X positive forwards, Y positive right and Z positive down. This is known as the right-hand rule. The airplane rolls about the x-axis, pitches about the y axis and yaws about the Z axis.

The original Microsoft simulator versions and P3D use a different system for body-fixed with X positive right, Y positive up and Z positive forwards. The airplane rolls about the z-axis, pitches about the x axis and yaws about the y axis. This is known as the left-hand rule and is what MSFS uses. It is the same as the system used with computer graphics, so it makes sense.

I also looked into some other software options like SimTools, FlyPTMover and Sim Racing Studio in the hopes of finding something that would just work and have a good ready-made profile for MSFS.  I installed them but two of them have limited functionality until you purchase a license and I wasn’t able to figure out how to hook up SimTools or FlyPTMover to the Yaw 3 and YawVR driver even just to try it out.

> add links here to some DIY’ers and their motion control schemes 

After many weeks of frustration trying to make sense of the available variables and create a better profile for MSFS in the somewhat limited Game Link software, I eventually broke down and installed a dev environment and started looking at the MSFS plugin code.  This is how I eventually discovered a bug in their MSFS plugin code that was causing most of the MSFS variables to be mixed up and some of them to give corrupted values.  (I have been in contact with their developers and they will eventually be merging in my fixes and additions to their MSFS plugins.)

Meanwhile, with lots of experimenting and trial and error, I was able to improve upon the default Game Link MSFS profile, building on another community member’s work and taking it even further.  That effort is described below – and I’ve made my updated plugins and profile available for download.

General Principles of Motion Simulation

Here’s an explanation of how to get better motion simulation as summarized by ChatGPT:

1. Focus on Perceived Forces, Not Exact Orientation:

      • The goal of a motion rig is to simulate the forces a person would feel, not to mimic the exact physical orientation of the vehicle or aircraft.
      • Since humans perceive forces mainly from linear accelerations and rotational cues, a motion rig should prioritize these over absolute orientation.

2. Account for Rig Limitations:

      • Most motion rigs have limited ranges of movement (e.g., ±15-30 degrees in pitch or roll). Use filters and “washout” techniques to stay within these limits while maintaining immersion.

3. Combine Linear and Rotational Cues:

      • Linear accelerations simulate sustained forces (e.g., g-forces during climbs or turns).
      • Rotational cues simulate dynamic motion (e.g., rolling into a turn or yawing during a skid).

 

Simulating Roll, Pitch, and Yaw on a Motion Rig

1. Roll Simulation (Banking Maneuvers)

What to simulate:

      • A feeling of being pushed to the outside of the turn due to centrifugal force.
      • The sensation of the aircraft rolling into the turn.

Inputs to use:

Rotational Velocity/Acceleration (Roll):

        • Simulate the onset of roll using rotationVelocityBodyZ or equivalent roll velocity/acceleration.
        • Apply a quick tilt to the rig to mimic the dynamic roll motion.

Lateral Acceleration (Centrifugal Force):

        • Use accelerationBodyY (lateral acceleration) to tilt the rig slightly opposite to the roll direction to simulate being pushed outward.
        • For example:
          • Rolling right: Tilt the rig left to simulate centrifugal force.
          • Rolling left: Tilt the rig right.

How to implement:

        • Start with a sharp, dynamic tilt as the roll begins (rotational cue).
        • Sustain the tilt using lateral acceleration data (centrifugal force).
        • Use a washout filter to return the rig to neutral gradually after the turn.

2. Pitch Simulation (Climbing and Diving Maneuvers)

What to simulate:

        • A feeling of being pressed into the seat (increased g-force) during a climb or pulled forward during a dive.
        • The sensation of the aircraft pitching up or down.

Inputs to use:

Linear Acceleration (Vertical Force):

          • Use accelerationBodyX (vertical acceleration in MSFS) to simulate g-forces.
          • Positive accelerationBodyX: Tilt the rig backward to simulate climbing forces.
          • Negative accelerationBodyX: Tilt the rig forward to simulate diving forces.

Rotational Velocity/Acceleration (Pitch):

          • Use rotationVelocityBodyX (pitch velocity) to add dynamic cues for sudden pitch changes.

How to implement:

During a climb:

            • Tilt the rig backward to simulate the sensation of being pressed into the seat.
            • Use rotational cues for the initial pitch-up movement.

During a dive:

            • Tilt the rig forward to simulate reduced g-force or weightlessness.
            • Blend linear and rotational cues to smooth the transition.

Sustained Maneuvers:

          • Use low-pass filtering on linear accelerations to simulate sustained g-forces during prolonged climbs or dives.
          • Use high-pass filtering for dynamic pitch changes to add realism.

 

Practical Considerations for Combining Roll, Pitch, and Yaw

1. Blend Inputs Smoothly:

      • Roll, pitch, and yaw often occur simultaneously (e.g., during coordinated turns or aerobatics).
      • Use weighted blending of linear and rotational inputs to avoid jerky or disjointed movements.

2. Filter the Inputs:

      • Use low-pass filters to extract slow, sustained forces (e.g., g-forces during turns or climbs).
      • Use high-pass filters to emphasize sharp, dynamic cues (e.g., turbulence, jolts).

3. Washout Algorithm:

      • After large movements, gradually return the rig to its neutral position using a washout algorithm to prevent hitting motion limits.
      • Ensure the washout is subtle to maintain immersion.

4. Prioritize Comfort and Immersion:

      • Avoid excessive movements that could cause discomfort or disorientation.
      • Simulate forces convincingly but within the physical limits of the rig.

 

An Improved Profile for Microsoft Flight Simulator 2020/2024

The default Game Link profile for MS Flight Simulator provides only a simple one-to-one mapping of roll, pitch and heading position which merely mimics the aircraft’s orientation rather than simulating the forces you would feel in the aircraft.

  • The goal of a motion rig is to simulate the forces a person would feel, not to mimic the exact physical orientation of the vehicle or aircraft.
  • Since humans perceive forces mainly from linear accelerations and rotational cues, a motion rig should prioritize these over absolute orientation.

That’s what this improved profile attempts to do.  It started with the efforts of “

Roll: This profile will roll the seat in the opposite direction of a banking motion of an aircraft to simulate the feeling of centrifugal force – your inertia and momentum resisting a change in direction, pulling you to the outside of a turn. This is what “real” motion simulators do – tilt the cockpit in the opposite direction of the turn. The amount of tilt should be proportional to the force of the turn but the amount needed to be convincing is very little compared to how much you might expect and nothing like the actual roll orientation of the aircraft.  It’s also important not to spoil the immersion by tilting the motion rig so far that you feel like you’re hanging out of your seat.  As some like to say, with motion rigs and VR, “less is more”.

For aircraft that can maintain a roll position without turning (like fighter jets and acrobatic planes), I hope to eventually find a way to smoothly mix in the roll orientation as well but I haven’t been successful so far.  This profile does handle doing a full roll smoothly though:  at the 90 degree point in the roll, it will smoothly start to roll back in the opposite direction (as fast or slow as the roll maneuver) so that you end up physically upright when inverted, and it will continue the roll action repeating the reversal again at the -90 degree point, etc.  Despite how it sounds, it feels pretty good when all you can see is the virtual view from the cockpit.  Interestingly, it’s apparently reasonable to have the motion upright when the aircraft is inverted due to how such aircraft actually generate positive lift away from the ground.

Pitch:  As with the roll axis, the pitch angle won’t necessarily correspond to the aircraft’s pitch attitude but instead will move amounts and directions to try to give motion cues for acceleration in climbing, diving and turning.  For example, if you pull harder into a turn (pulling back on the stick or yoke), the profile will mimic that increased force by tilting the seat back proportionally – and this will feel much more dramatic in something like a military jet which can exert so much more acceleration.  This profile also uses this trick for changes in forward momentum.  If you increase the throttle or engage afterburners in a more powerful aircraft, you’ll feel an added force pressing you back into the seat – it’s actually the seat tilting back to use gravity to push you into the seat.  When you back off the throttle, you’ll feel the force ease off as the seat comes forward again.

Yaw:  This profile incorporates some yaw motion to try to mimic yaw forces from rudder input as well as steering on the ground and of course tail rotor motion on a helicopter.  If you have limited space you can of course limit the yaw travel in Game Link’s Simulator Settings panel.  This profile doesn’t require a lot of yaw room though since it’s not a one-to-one mapping with the compass heading like the default profile.  Side note: I’ve seen that some helicopters in MSFS can behave badly, like sending bad telemetry before you even choose to start the flight or by sending completely reversed telemetry for yaw.

Vibration:  T

So here it is:

👉 Download MSFS Immersive v2.01
(YawVR Game Link Plugin & Profile)
2025-01-19
for both MSFS 2020 and 2024

This package includes two separate YawVR Game Link plugins, one each for MSFS 2020 and MSFS 2024, plus a single profile that works with both games. Follow the enclosed instructions to install the plugins and the profile.

This updated plugin is required for use with my v2.0 or newer profiles.  Older profiles are not compatible because there is a bug in the original plugins that causes many of the telemetry variables to give incorrect values.  These updated plugins include new and reorganized input variables plus some nice additions from McFredward like shutting off the telemetry and smoothly moving the motion rig to its neutral position when you pause or go into the menus.

Things to do / In progress:

  • Use a more realistic calculation for simulating centrifugal force
  • Mix in roll orientation when an aircraft is holding a static roll without turning
  • Implement washout of return movement from rotational acceleration effects (yaw and roll)
  • Needs more testing and tweaking for helicopters

Version History

Version 2.01, 2025-01-19 (download):

  • Patch fix: Removed line in MSFS plugins (not profile) that was pausing sim if it saw an extreme altitude (> 53818 ft)
    • Such altitudes are actually possible and not necessarily invalid

Version 2.0, 2025-01-15 (download):

  • Includes custom plugins for both MSFS 2024 and 2020
    • Provides McFredward’s nice additions like smoothly transitioning to neutral position when you pause the sim
      • Includes his added input variables (normalized roll and yaw values, etc.)
    • Fixes a problem in YawVR’s original plugin where many input variables are mislabeled or have wrong values.
      • Old profiles are not compatible with this plugin and can even crash Game Link!
      • Took advantage of this situation to reorganize/regroup existing variables
    • Adds various new input variables like Airspeed, Engine Type, Engine Count, Sim Pause State, etc.
  • Adjusted pitch effects:
    • Tuned overall pitch effect again
  • Adjusted vibration effects:
    • Improved contact/compression point handling for landing impacts
      •  It’s a good reason to keep vibrations enabled on the Yaw 3!
    • Improved handling of engine rpm vibrations
      • Now piston engines are handled differently than all others (turboprops, jets)
      • Reduced significantly for non-piston engines
      • 👉 You can disable just engine vibrations by turning off constant Hz output in profile
      • I recommend adding transducers and using SimHaptic instead
        • has different effects for different aircraft, responds to rpm, plus many other kinds of haptics

These older profiles are not compatible with the new, updated plugins:

Version 1.3, 2025-01-03 (download):

  • Adjusted yaw effects:
    • restricted rotational velocity effect to aircraft with rotors (helicopters)
      • previous conditional would cause yaw jump when transitioning between slow and fast flight
      • now relying on only rotational acceleration for yaw effects on ground and in flight for fixed wing aircraft
    • reduced amount of yaw on rotational acceleration slightly
  • Adjusted roll effects:
    • reduced roll amount for rotational acceleration (essentially ground movements)
  • Adjusted pitch effects:
    • restored lost acceleration variable – now responds better to turbulence and ground impact on landing
    • increased overall pitch effect
  • Adjusted vibration effects:
    • added contact/compression point for rear wheels (most noticeable on landings)
    • reduced intensity of engine rpm vibrations
      • -50% for single engine, even less with more engines (bigger aircraft)
      • still doesn’t correspond well to engine type or engine rpm
      • can’t make smooth or realistic enough and make smoother with faster engine rpm
      • I recommend disabling this and adding transducers and using SimHaptic instead
        • has different effects for different aircraft, responds to rpm, plus many other kinds of haptics

Version 1.2, 2024-12-29: (download)

  • Adjusted roll effects:
    • Handles full roll over smoothly now by reversing roll past +/-90 degrees
      • moves as slow or as fast as the roll maneuver now
      • full inverted ends up full upright
    • Strengthened main inverse roll effect slightly
    • Disabled additional roll effect from rotational acceleration
      • can’t find a way to gently washout the return motion
    • Added inverse roll from yaw movements using rotational velocity
      • adds centrifugal force feel to yaw maneuvers
      • also good for ground steering motion
  • Adjusted pitch effects:
    • Strengthened pitch effects to include some missing pitch motions
    • Adjusted longitudinal acceleration to not drown out rotational acceleration
    • Removed smoothing that was masking aircraft shake during extreme pitching
  • Adjusted yaw effects:
    • reduced multiplier on rotational acceleration and removed smoothing
      • need a way to washout unwanted return movement though
    • Limited rotational velocity-based yaw motion to slow speeds
      • still gives ground taxiing motions and helicopter hovering rotations
      • added bonus of simulating stall/tail spin with yaw sliding/slipping effect
  • Vibration effects:
    • Restored constant vibration frequency to 50 Hz
      • Can’t feel difference with higher hertz, lower values are even rougher
    • I’ve switched to using dedicated transducers and SimHaptic
      • Much more immersive and provides lots of different telemetry haptics

Version 1.1, 2024-12-25: (download)

  • Redesigned around focusing on mimicking perceived forces rather than aircraft orientation
    • Inverse roll effect to mimic centrifugal force plus secondary longitudinal rotational velocity
      • need to find a way to calculate true force of turn rather than using roll position
    • Pitch effect to mimic longitudinal acceleration and velocity
    • Inverse pitch effect for dive/climb forces overcoming gravity
  • Added yaw effect based on rotational acceleration and velocity
  • Tweaked vibration hertz value but left
    • engine vibrations still feel too rough

Demonstration Videos

The fun stuff!  I want to record a few demo videos to give people an idea of what’s possible with the Yaw 3.  So, more to come…

Somebody asked for a test of the range of hertz and amplitude that the Yaw 3 can generate.  I put this video together to get an idea of what the different values produce – and was taken aback at how violently it can move just when generating vibrations:

Thoughts on the Yaw 3

Eventually this will turn into a review, but for now it’ll just be thoughts and observations…


Still haven’t gotten around to writing this, but I’ll drop in a few anecdotes:

Like forgetting that I was piloting a tail dragger when I went to test harsh braking on my motion control profile – and immediately drove my plane’s nose into the ground – which is a lot more surprising when you’re in a motion rig and you get physically thrown forward! 😝

Or testing an acrobatic plane (that I would never be able to handle experiencing in real life) and stalling it into a falling spin and just about making myself ill even though I managed to recover from the spin before having to resort to pulling the emergency stop cord on my Yaw 3. 😬

Helicopters are particularly stressful because they’re already much more difficult to learn to control than an airplane and it’s not difficult to lose control and start spinning around and even careening off the ground when you’re trying to land.  When your success or failure controlling the virtual aircraft has consequences (getting physically tossed around), it is a bit more… intense. 😜

 

Leave a Reply

(Your email address will not be published.)

4 comments

  • Excellent! I’m glad to see someone is finally pulling this together. I had done some rudimentary work on getting the MSFS2020 GE profile to work with G force emulation, but not attacking it as well as you seem to be doing :). One thing though I’ve not been able to find in the parameters available within the GE, or successfully implement, is turbulence reaction (which will eventually need to be transferred into the Yaw Heave unit if/when it becomes available). Have you found any parameters that are being output from MSFS and being read by the Yaw GE that relate to vertical Heave which could be translated to turbulence Pitch/Roll (until we have a Heave unit)? Also, I’ve not been able to view anything on the referred links above – seems I don’t have access (it says ‘Not Text Channels)???

    • Thanks and no, I haven’t found any explicit turbulence-related variables but I would expect that the various acceleration and velocity X,Y,Z axis variables (there’s both rotational and linear versions) will include the effects of turbulence and could be used for heave too. We’ll see…

      I’m not sure what you mean about “referred links” or “Not Text Channels”. I’m going to guess that maybe it’s the links to threads or channels to one of the YawVR Discord servers. I think with Discord you have to receive an invite to follow those links. I’ll paste one here for the official YawVR Discord server but unfortunately they’re only valid for a day or two: https://discord.gg/qhYUSzHH