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

Tutorial SMC3 Arduino 3DOF Motor Driver and Windows Utilities

Discussion in 'SimTools compatible interfaces' started by RufusDufus, Dec 1, 2013.

  1. evgenymcp

    evgenymcp Member

    Joined:
    Nov 27, 2023
    Messages:
    39
    Balance:
    185Coins
    Ratings:
    +24 / 1 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino
    What is the current version of SMC3? On Github, the current version is 0.7. This thread mentions 1.0. I have a mode 1 driver type and brushed motors.
  2. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    22,159
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    Tasmania, Australia
    Balance:
    154,570Coins
    Ratings:
    +11,190 / 57 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
  3. Mirko

    Mirko New Member

    Joined:
    Jan 31, 2026
    Messages:
    7
    Balance:
    23Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor
    Hi Joe, I sent a PM to you - at least I tried. Have you received it? Anything else you need? Is there a way to share your source code?
  4. Mirko

    Mirko New Member

    Joined:
    Jan 31, 2026
    Messages:
    7
    Balance:
    23Coins
    Ratings:
    +1 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor
    And I wonder, what kind of motors you recommend? Can anybody provide a link to motors, you made some good experience with?
  5. INCOTE

    INCOTE New Member

    Joined:
    Saturday
    Messages:
    5
    Balance:
    22Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, Motion platform, 6DOF
    hello,
    I am just starting my 6dof project to use with msfs2024 (6 rotating dc motors). Hexagon base with 6 motors. I never used this SMC3 with arduino uno r3, which can run only 3 motors. My question is: will I need 2 arduino uno r3 boards, connected to 2 different comports. Like: Interface 1: ComPort:3, [A<Axis1a>][B<Axis2a>][C<Axis3a>] and Interface 2: ComPort:4, [D<Axis4a>][E<Axis5a>][F<Axis6a>]? Am I correct? Need some help here. Is this the way to command 6 motors? Is there any other solution?
  6. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    22,159
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    Tasmania, Australia
    Balance:
    154,570Coins
    Ratings:
    +11,190 / 57 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    On the hardware side SMC3 can technically do 3 motors, but the third motor is treated a little differently with less control options, so for a 6DOF most use 3 Arduinos controlling 2 motors each. Each Arduino will be assigned a unique Comm Port when you plug it in.

    With respect to the Interface Settings please do read the SimTools Manual, so you do understand how it works: https://www.xsimulator.net/community/faq/simtools-v3.401/

    For a 3 x Arduino setup using Interface 1, 2 and 3, it would be:

    Interface Type - Serial

    ComPort = the Arduino ComPort, you can find it in Windows Device Manager for that particular Arduino.

    BitsPerSec - 500000

    Data Bits - 8

    Parity - None

    Stop Bit -1

    Output Bit Range - 10

    Output Type - Binary

    Interface 1 = [A<Axis1a>][B<Axis2a>]
    Interface 2 = [A<Axis1b>][B<Axis2b>]
    Interface 3= [A<Axis1c>][B<Axis2c>]
    • Like Like x 1
  7. INCOTE

    INCOTE New Member

    Joined:
    Saturday
    Messages:
    5
    Balance:
    22Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, Motion platform, 6DOF
    Thank you for your answer. If a get a top view of my 6 rotary motors, from top right position, going clockwise, I will have motor 1 (which will be axis 1a), motor 2 (which will be axis 2a), motor 3 (which will be axis 1b), motor 4 (which will be axis 2b), motor 5 (which will be axis 1c) and motor 6 (which will be axis 2c). Is my interpretation correct?
  8. noorbeast

    noorbeast VR Tassie Devil Staff Member Moderator Race Director

    Joined:
    Jul 13, 2014
    Messages:
    22,159
    Occupation:
    Innovative tech specialist for NGOs
    Location:
    Tasmania, Australia
    Balance:
    154,570Coins
    Ratings:
    +11,190 / 57 / -2
    My Motion Simulator:
    3DOF, DC motor, JRK
    If you have a Stewart Platform, install the Generic 3D Linear or Rotation plugin depending on
    the type of simulator you have, please see p21 of the SimTools v3 Manual: https://simtools.us/wp-content/uploads/2024/02/SimTools-v3.pdf

    Generic 3D Plugin.png
    • Like Like x 1
  9. Pierre Lalancette

    Pierre Lalancette Sir Lalancelot Gold Contributor

    Joined:
    Dec 11, 2016
    Messages:
    1,012
    Occupation:
    Tech Artist
    Location:
    Quebec, Canada
    Balance:
    8,062Coins
    Ratings:
    +947 / 6 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, 6DOF
    For me, everytime I calibrate, I set force on one axis at a time. You might want to disconnect them from the platform so they don't stress it while other axis do not move. You provide force to one axis and you look which of your actuator move (heave is good as all axis move to the same direction), and you identify them. You can change order of axis via wiring, USB Port, or applied force to them. The most important is that they are well identified, according to your ordering method, and that the force you apply to each of them correspond to what you want.
    Personnally, now that I have only 3 motors, I assign one arduino to each one of them and use the USB Port in Simtools interface to change their order (left, right, rear).
    When I had a 6DOF, I put actuators side by side in pairs and use the USB Port to choose one of the 3 position (left, right, rear). It depends how you constructed your rig and how your brain works.
    I hope this will help you in any way. It is confusing at first, but once you get it, it is pretty simple.
    After that, it is a matter of dividing the total amount of movements you have for each actuator to every forces that affect it (roll, pitch, yaw, heave, surge, sway).
    Good luck.

    Pierre.
    • Like Like x 1
  10. INCOTE

    INCOTE New Member

    Joined:
    Saturday
    Messages:
    5
    Balance:
    22Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, Motion platform, 6DOF
    Thank you Pierre. I was reading the SIMTOOLS manual, page 94 - GENERIC 3D ROTATING. This is the hexapod structure that I intend to use. Axis 1 to 6 are defined there clockwise (from top right), and the next page shows that axis 1a is defined as roll, axis 2a is defined as pitch, axis 3a is defined as yaw, axis 4a is defined as heave, axis 5a is defined sway and axis 6a is defined as surge. Forces are defined in that stage. So, if I keep this procedures I will get good results right? I also understood that it will be necessary to have 3 arduinos UNO to control those 6 motors, each one on a specific ComPort.

    Attached Files:

  11. Pierre Lalancette

    Pierre Lalancette Sir Lalancelot Gold Contributor

    Joined:
    Dec 11, 2016
    Messages:
    1,012
    Occupation:
    Tech Artist
    Location:
    Quebec, Canada
    Balance:
    8,062Coins
    Ratings:
    +947 / 6 / -0
    My Motion Simulator:
    3DOF, DC motor, Arduino, 6DOF
    No sorry, this is not how I use it. I use Generic 2D Advance. For me, Axis 1a is the complete motion of my motor (from the lowest to the highest). This complete motion represent 100% of my Axis. In your picture, 20% of axis 1a movement is allocated to the Roll. There are many slot for forces in Axis 1a, and since we have 6 forces (roll, pitch, yaw, heave, surge, sway), I need to provide a percentage of each forces to that axis.
    Me, I have only 3 axis on my rig, so I am limited on how I can simulate forces. I have no Yaw available.
    gen2d.jpg

    I did not test the way you want to do it (Generic 3D).
    Pierre.
  12. INCOTE

    INCOTE New Member

    Joined:
    Saturday
    Messages:
    5
    Balance:
    22Coins
    Ratings:
    +0 / 0 / -0
    My Motion Simulator:
    2DOF, DC motor, Arduino, Motion platform, 6DOF
    Hello,
    I prepared a diagram based on what I’ve learned from other members of the group for a 6DOF platform using DC motors.
    I would like to understand the relationship between the six forces (roll, pitch, yaw, heave, sway, surge) and the six axes (Axis1a through Axis6a) shown on page 95 SimTools manual. Also, how this relates physically to the motors on the platform.
    I appreciate your comments and guidance.

    Attached Files: