1. Do not share user accounts! Any account that is shared by another person will be blocked and closed. This means: we will close not only the account that is shared, but also the main account of the user who uses another person's account. We have the ability to detect account sharing, so please do not try to cheat the system. This action will take place on 04/18/2023. Read all forum rules.
    Dismiss Notice
  2. For downloading SimTools plugins you need a Download Package. Get it with virtual coins that you receive for forum activity or Buy Download Package - We have a zero Spam tolerance so read our forum rules first.

    Buy Now a Download Plan!
  3. Do not try to cheat our system and do not post an unnecessary amount of useless posts only to earn credits here. We have a zero spam tolerance policy and this will cause a ban of your user account. Otherwise we wish you a pleasant stay here! Read the forum rules
  4. We have a few rules which you need to read and accept before posting anything here! Following these rules will keep the forum clean and your stay pleasant. Do not follow these rules can lead to permanent exclusion from this website: Read the forum rules.
    Are you a company? Read our company rules

Showroom Budget Compact 6DOF Universal VR Flight / Racing rig - MSFS, SMC3, FlyPT, Transducers, Controls

Discussion in 'DIY Motion Simulator Projects' started by Ronan Design, Oct 11, 2024.

  1. OrtiMai

    OrtiMai New Member

    Joined:
    Jun 29, 2025
    Messages:
    13
    Balance:
    68Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    6DOF
    I didn't fly long enough to see any changes in temperature of the motors. I'm heavy, so they must have some work to do, even if I used 3 gas struts to balance the weight. Right now, temperature / inefficiency is not a problem, but I'll keep that in mind.
  2. Ronan Design

    Ronan Design Roman Design - Custom MSFS Scenery

    Joined:
    Jun 4, 2021
    Messages:
    270
    Occupation:
    Web Designer, MSFS Scenery Designer
    Location:
    Toronto, Canada
    Balance:
    1,720Coins
    Ratings:
    +139 / 2 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    Things are on hiatus for a while because my mother has been in the hospital for 4 months now, with a lot of things I need to take care of. But generally, yes, I'm working on a racing configuration including custom pedals and a joystick/HOTAS configuration. I will create FlyPT presets for the racing/rally games as well as Euto Truck Simulator / ATS.

    I have a single strut, which always pushes a depowered rig to one side. I use the 3D-printed stops included in the package, rotating them in a way that the motor arms stop past the usable motion range but before the red cut-off point. That way, when powered, the rig centers itself. Occasionally, it sits beyond a cut-off point, but then I can see that one of the 3 Arduino's light doesn't come on (it's by design, it's only on when in the usable range), and then I slightly move the offending arm and reset the rig before powering up. Once powered, it takes care of itself.

    Makes sense, I only use 45 degrees as the maximum usable range that SMC3 should allow, beyond which the signal needs to be clipped, and then the emergency stop cut-off implemented. It might be a good idea to limit the actual motion to a narrower angle, but it's done with software.
  3. OrtiMai

    OrtiMai New Member

    Joined:
    Jun 29, 2025
    Messages:
    13
    Balance:
    68Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    6DOF
    Well, family goes first! That's for sure.

    I went VR flying for the first time. Flew >1h and got max. 36°C on one motor. I think I don't have to worry.

    What would you do to reduce the ground behavior a bit. I tried to decrease the longitudinal value of the road noise, but I'd like to get it generally a bit more calm, without decreasing the behavior in the air, which you figured our really nicely.

    And one more question.
    I just set up OVRMC and edited the config to FlyPT. Anything else I need to do, except binding the keys and keeping the window of OVRMC in FlyPT open?

    Thanks so far for all the support. It was a joyful experience so far. And I learned a lot.
  4. Ronan Design

    Ronan Design Roman Design - Custom MSFS Scenery

    Joined:
    Jun 4, 2021
    Messages:
    270
    Occupation:
    Web Designer, MSFS Scenery Designer
    Location:
    Toronto, Canada
    Balance:
    1,720Coins
    Ratings:
    +139 / 2 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    I'm glad the motors are not heating up for you.

    Ground can be controlled by a separate formula in FlyPT Mover. Try to disable "Road Noise" pose completely. If it eliminates what you want to reduce, you can just enable it back and change the gain inside the formula from 1 to 0.3 or whatever works for you. If it's something else, you can decouple air and ground and use a totally separate formulas for them.

    I think you got the OVRMC basics, do fast rolls with it disabled and enabled and look at the spot inside the cockpit close to your head. Note the movement of the head relative to the cockpit. There should be a huge difference between on and off. It's never perfect, partly because your head really bobs from the actual chair movements, but the difference should be unmistakable.

    Can you please share a video of your build? It would be nice to see your completed project in action. Also, I'd appreciate it if you leave a review on the website.
    • Winner Winner x 1
  5. OrtiMai

    OrtiMai New Member

    Joined:
    Jun 29, 2025
    Messages:
    13
    Balance:
    68Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    6DOF
    Alright, I'll try it out. Yes, I can do a video for you and pictures for the community. It's functional in terms of 6DOF, but I still have to think about a suspension for Honeycomb Alpha and Bravo. I commented on Google maps already and will leave a comment on your website as well.
  6. OrtiMai

    OrtiMai New Member

    Joined:
    Jun 29, 2025
    Messages:
    13
    Balance:
    68Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    6DOF
    Hi all,
    here are two pictures of the working rig. One at a development stage without Yoke and the other is a picture from yesterday's with Honeycomb Alpha and Bravo on a little self built desk.

    Let me know, it there are any questions. I flew my home airstrip yesterday in VR and reducing GAIN to 0.3 (Ground Nois) feels so much better. OVRMC is working now as well.

    Next project: The china 24V 1500W power supply is loud as hell. I'll see, if I can upgrade the fans.

    Attached Files:

    • Like Like x 1
  7. OrtiMai

    OrtiMai New Member

    Joined:
    Jun 29, 2025
    Messages:
    13
    Balance:
    68Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    6DOF
    Little update. I did some more extensive flying now, with me loaded on the rig and I managed to reach 52°C, which crosses the 50°C theshold, that Roman set up. That means, that I'm facing the same challenges, as all the others. I repositioned the gas struts now and will do a test agin.
    • Informative Informative x 1
  8. OrtiMai

    OrtiMai New Member

    Joined:
    Jun 29, 2025
    Messages:
    13
    Balance:
    68Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    6DOF
    Little tutorial on how to calibrate the analogue "hall sensors" in SMC3:
    (Please review and let me know, if I got something wrong or can improve)

    We need to calibrate the analogue hall sensors, befor SMC3 can work with is properly. This is essential to mitigate harmful overshooting of the motor arms.

    1. Setup:
      • Motor and Sensor are build according to the instructions
      • Sensor is connected to the Arduino
      • Arduino IDE is started with SMC2.ino loaded
      • Under "Tools" in the menu, open the Serial Monitor
      • Set the BAUD rate to e.g. 9600 (you can choose the one you like, but it must match the SMC3-code in approx. line 226 "#define BAUD_RATE 9600" - with low BAUD rates, you have to bit of lag with regard to the value update)
    2. Activate the monitor for the sensor of motor 1:
      • Go to "int GetFeedback(MotorData &m)" and delete the commenting (//) "//Serial.println("Motor 1");"
      • Do the same for "//Serial.println(Feedback);"
      • Compile & Falsh it to the Arduino
    3. Acquire the Min. and Max. values of your sensor of motor 1
      • Move your motor arm of motor 1 by hand around the Min. and Max. Positions.
      • In the monitor, stop the movement of the values by klicking on the 2 arrows facing down >>.
      • Then scroll through the values to find the Min. and Max.
      • Now the serial monitor should show you values. Dependig to the direction it's either going down in the direction of 200 or up in the direction of 700
      • Firgue out the Min.-value and write it down in reference to motor 1 (Min.-value is the smallest number you can get, befor it starts increasing again)
      • Do the same for the Max.-value (Find the biggest number, befor it starts decreasing again)
      • Reset the output of the monitor, not to mix up values
    4. Acquire the Min. and Max. values of your sensor of motor 2
      • Go to step 2 and comment the lines for motor 1 out again
      • Go a vew lines below and un-comment the print-out lines for motor 2
      • Compile and flash
      • Do the steps no. 3 for motor 2 again
      • Document your Min. and Max. values for motor 2 as well
    5. The Min. and Max. values from motor 1 and motor 2 are not the same! What to do?
      • That's normal with analogue sensors and due to the way you places the magnets and soldered the hall sensor or even to the mass produced hall sensor itself
      • If you'd want to max. out each sensor, you's need an adruino board for each motor
      • In our setting, we've 1 arduino taking care of 2 motors. Thus, we need to find a compromise.
      • Due to our aiming for safety, we take the Min and Max. values of the "weakest sensor".
      • One example:
        • Sensor Motor 1: Min 258 Max 758 (weakest sensor with the smallest range)
        • Sensor Motor 2: Min 230 Max 768
        • We take: Min 260 Max 750 (rounded to the safe side)
    6. Finalize it!
      • Go to "#define SENSOR_SCALE_MIN" & "#define SENSOR_SCALE_MAX"
      • Insert your values and safe
      • Go to the print-out lines of step 4 and un-comment them again
      • Go to the BAUD_RATE and set it back to 500000
      • Compile and falsh
      • Do all these steps of every pair of motors. (You should have three pairs of motors.)
      • Save all SMC3-sets (for each pair of motors) in one .ino-configuration each

    @Ronan Design : If it's correct in terms of procedure, you can add this to your instructions if you find it helpful.
    Last edited: Oct 26, 2025 at 16:22
  9. OrtiMai

    OrtiMai New Member

    Joined:
    Jun 29, 2025
    Messages:
    13
    Balance:
    68Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    6DOF
    Recommendation with regard to the noisy PSU (power supply unit):
    If you used the PSU, that Roman had in his list, due to being a perfect meanwell copy. Be aware, that it's really loud.

    To reduce the noisy PSU, you can easyly exchange the fans:
    Fan: 12V DC 1,56W 60x60x25mm 45,9m³/h 5200U/Min 45,9m³/h Sunon MF60251VX1000UA99

    It's not quiet afterwards, but way better and the fan is about 4$ (3,50€) each - you'll need 2 of them. It's an affordable upgrade.

    P.S.: Be aware, that you'll need 2x XH 2-PIN to crimp the new fans according to the PSUs adapter.
  10. OrtiMai

    OrtiMai New Member

    Joined:
    Jun 29, 2025
    Messages:
    13
    Balance:
    68Coins
    Ratings:
    +3 / 0 / -0
    My Motion Simulator:
    6DOF
    @Ronan Design: I have a technical question.

    I saw it in your video (the one with the white printet test-arms) and I still have the same problem. If the motor goes into the clip range, the PWMrev will get activated. So far so good.

    Now the problem:
    In one direction (e.g. the lower clip) the break just holdes the motor arm securely in the clip theshold position. In the oposite direction (e.g. the upper clip) I get a controller fight. The motor tries to cross the clip threshold and the reverser throws it in the inverse direction. The outcome are heavy forth-back movements.

    My observation:
    When I move slowly into the clip threshold, the reverse brake is able to just break the movement and keep it there. In both directions. If I move fast into the clip threshold, then, it overshoots a bit, the reverse overshoots into the inverse direction, the PWMmax goes against it and I have this heavy stutters. Why only in one direction?

    I havn't changed any Kp = 120, Ki = 1, Kd = 10, Ks = 5 values of the controller.

    Any idea?

    When I set Ki = 0 und lower PWMmax e.g. = 100, the controller only swings once and very little. After one wavelength, it's stabelized and breaked.
    Last edited: Oct 30, 2025 at 18:37