SMC3 Serial Output
The SMC3 Serial output sends actuator positions to an SMC3-based motion controller over a serial connection. SMC3 is a popular open-source, Arduino-based motor controller commonly used in DIY 2- and 3-axis motion simulators. It typically drives DC motors via an H-bridge or BTS7960 motor driver board.
Setup Steps
Section titled “Setup Steps”- Connect your SMC3 Arduino to your PC via USB.
- Install Arduino drivers if Windows does not recognize the device (see Serial Output Not Working for driver help).
- In DR Sim Manager, go to the Outputs tab and click the + tab.
- Select SMC3 Serial Output from the list.
- Select your COM port from the dropdown (click Refresh if it’s not listed).
- Set the Position Bits to match your SMC3 firmware configuration (10-bit for most builds).
- Map each axis (A, B, C) to the appropriate sim component actuator.
- The output connects automatically once a valid COM port is selected.
Settings
Section titled “Settings”Serial Port
Section titled “Serial Port”Select the COM port that your SMC3 controller is connected to from the dropdown. Click Refresh to rescan for available ports if you connected the controller after opening DR Sim Manager.
The connection uses a fixed baud rate of 500,000 and a fixed output rate of 10 ms (100 Hz). These values are not configurable — they are set to match the SMC3 firmware’s expected communication parameters.
Position Bits
Section titled “Position Bits”Choose the position resolution for the actuator values sent to your controller:
- 10-bit (default) — Values range from 0–1023. This is the standard setting for most SMC3 builds.
- 12-bit — Values range from 0–4095. Use this if your SMC3 firmware has been configured for higher-resolution positioning.
Axis Mapping
Section titled “Axis Mapping”The SMC3 controller uses three fixed axes: A, B, and C. For each axis, you can configure:
- Device — Select the sim component (e.g., your seat mover or platform)
- Actuator — Select which actuator output to send on this channel
You do not need to map all three axes. Unmapped axes are skipped — no data is sent for them.
Connection Behavior
Section titled “Connection Behavior”When DR Sim Manager connects to the SMC3 controller, it automatically sends a motor enable command to activate the motors. This happens each time the connection is established.
Troubleshooting
Section titled “Troubleshooting”Actuators not responding
Section titled “Actuators not responding”- Check the COM port — Confirm the correct port is selected. Open Device Manager > Ports (COM & LPT) to verify.
- Check position bits — Ensure the position bits setting matches your firmware. A mismatch will cause garbled positioning data.
- Check axis mapping — Make sure at least one axis has both a Device and Actuator selected. Unmapped axes are not sent.
- Check USB connection — Use a data-capable USB cable (not a charge-only cable). Try a different USB port.
Actuators jitter or move to wrong positions
Section titled “Actuators jitter or move to wrong positions”- This usually indicates a position bits mismatch. If your firmware uses 10-bit values but DR Sim Manager is set to 12-bit (or vice versa), positions will be incorrect.
COM port not listed
Section titled “COM port not listed”- Click Refresh to rescan.
- Check Device Manager to see if Windows recognizes the device.
- Install the appropriate USB driver (CH340 or FTDI, depending on your Arduino board). See Serial Output Not Working.
COM port “Access Denied”
Section titled “COM port “Access Denied””- Another application is using the port. Close the Arduino IDE Serial Monitor or any other serial terminal, then try again.