0% found this document useful (0 votes)
102 views38 pages

DIY Motion Simulator Documentation

The DIY Motion Simulator project combines woodworking and mechatronics to create an affordable motion simulator for RC planes and simulator games. The document includes detailed instructions, CAD files, and code to replicate the build, while emphasizing that modifications may be necessary based on local part availability. It also provides a list of required tools, assembly steps, wiring instructions, and a bill of materials for the project.

Uploaded by

Zeze
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
102 views38 pages

DIY Motion Simulator Documentation

The DIY Motion Simulator project combines woodworking and mechatronics to create an affordable motion simulator for RC planes and simulator games. The document includes detailed instructions, CAD files, and code to replicate the build, while emphasizing that modifications may be necessary based on local part availability. It also provides a list of required tools, assembly steps, wiring instructions, and a bill of materials for the project.

Uploaded by

Zeze
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 38

DIY Motion Simulator

Michael Rechtin - 2025


Project Overview
- This project is a great combination of woodworking, and mechatronics which allows you to build a
motion simulator capable of flying both RC planes as well as simulator games at a very low price
compared to commercial options.
- THIS IS A DIY PROJECT. I have documented my build in this document as well as released the CAD and
Code associated to make replicating this build as easy as possible. However, part availability in your
local area or different applications may warrant changes to the design for your use.

Disclaimer: Due to the unique nature and variability of each individual’s project, I am unable to provide personalized assistance tailored to specific builds. The
information and guidance provided are general in nature and may not address the specific requirements or conditions of your project.
I am not responsible or liable for any issues, damages, or outcomes that occur during or as a result of your build. It is your responsibility to ensure that all
necessary precautions, safety measures, and appropriate practices are followed. Please consult a qualified professional if you require personalized advice or
support for your project.
CAD Model

Full CAD:
https://cad.onshape.com/documents/14465a5308115755a
641bf91/w/473302792caf9fe5237c9eca/e/42b5f99c290e18
c70798f158?renderMode=0&uiState=67888ffc05482c0eb0
b74d11
Tools Required
- A large portion of this project involves cutting shapes out of 0.5” (12.5mm) plywood and 0.75” (19mm) plywood. Many
different saw types including circular saw, jigsaw, bandsaw can create the cuts needed in the project. A CNC router
can also be an ideal choice if available.

- Tools required:
- Some type of saw (circular saw, jig saw, table saw, band saw or CNC router with 4’x2’ or greater cut area)
- Power drill, impact driver
- Angle grinder or hack saw
- Soldering iron
- 3D printer
Mechanical Assembly
Parts Overview
- This chair breaks down into two main parts for easier transport. These parts are built separately and then
joined together using universal joint.

Base Upper
Assembly Assembly
Base Assembly Structure 3. Attach motor mounts to the base
plates and internal structure using
screws and glue

1. Start with base plate 2. Attach middle support structure


using slot it interlock. Attach to base
using screws and glue

Attach this one first


Base Assembly Structure
6. Attach joint mounting plate using
4. Attach outer panels. Perform 0.25”x20 bolts. Joint mounting plate
multiple dry fits since this piece has should ideally be machined from
multiple compound angles. Attach aluminum or steel
using screws and glue

5. Attach top plate. Ensure that the


holes for the joint mounting plate are
already drilled and 0.25”x20
threaded inserts are already
installed. Attach with screws and glue

Inserted from
bottom
Base Assembly Structure
7. Attach motors, motor arms,
threaded rod, heim joints

8. Attach universal joint


Chair Assembly Structure

9. Start with baseplate. 0.75” Plywood


10. Add internal side panels and attach
using screws and glue. 0.5” Plywood

11. Add front and back panels and


attach using screws and glue. 0.5”
Plywood
Chair Assembly Structure

12. Add top panels and attach using


screws and glue. 0.5” Plywood 13. Add outer side panels and attach
using Only Screws. 0.5” Plywood
Chair Assembly Structure

16. Add foot support plate. May need to


15. Assemble foot support side be customized for your specific
structures as shown in CAD assembly. controls
14. Add foot support attachment 0.5” plywood
plates to assembly using Only Screws
Chair Assembly Structure
18. Add bottom auxiliary parts: Angle
brackets and universal joint mounts

17. Attach to foot support attachment


place using glue
Base / Chair Attachment
20. Add chair

19. Attach upper and lower assemblies


using universal joint
Electronics
Back Panel Wiring
Side Compartment Wiring
- All wiring is housed in the right-side armrest. Wire management is optional!
IMPORTANT
MPU 6050 must be in the
orientation shown below for
IMU based chair calibration.

Forward
Back Panel Connector Pinout
- Adding connectors to the harness from the base to the chair is helpful if the chair
needs to be disassembled for moving.
- Pinout can be customized but MUST be consistent between the base and chair to
create proper connections

GND
* I used a separate XT30
Pitch DIR VIN (Optional) connector for power

Pitch STEP

Unused

Roll DIR

Unused
Roll STEP
Motion Base Wiring
Motion Base Wiring
CL57T Settings using Switches: GND
Current: “A” 7.0 Amp
+5V
Pulse/Rev: 1600
Off
Off
Off

Off
On
On
On
Off

“A”

Pitch / Roll STEP Pin


GND
Pitch / Roll DIR Pin
GND

120 / 240 V AC In

Encoder Wires

Motor Wires
Stepper Motor / Driver wiring details: https://www.omc-
+36V
GND
stepperonline.com/closed-loop-stepper-driver-v4-1-0-8-0a-
24-48vdc-for-nema-17-23-24-stepper-motor-cl57t-v41
Wiring Pinouts
3.3V
GND
SCL: Connect to Teensy Pin 19
SDA: Connect to Teensy Pin 18

Connect to Teensy Pin 7


Connect to Teensy Pin 8
Headtracking PPM in RC PPM Out

LED 3.3V Signal LED 5V Signal

3.3V 5V
GND GND
PCB Diagram

GND IN
+5V IN
Head Tracking Signal
PI GPIO 17

Passthrough Switch
Teensy Pin #16

LED Signal
(Level Shifted to 5V) Connected to GND
Teensy Pin #6
PPM Signal – PI GPIO 18

Pitch Axis DIR Pin


Teensy Pin #3
PI GPIO 27
Pitch Axis STEP Pin
PI GPIO 22
Teensy Pin #2
Teensy Pin #14
Roll Axis STEP Pin Roll Axis DIR Pin
Teensy Pin #4 Teensy Pin #5
Teensy Pin #15
Flight Controls
- Most USB based controls should work but the ones listed below are options I have tested

Thrustmaster TFRP Rudder Pedals


Logitech G X56 H.O.T.A.S

https://amzn.to/4g3T0MK https://amzn.to/4hnNeq2
Software Setup - Chair
All code available at: https://github.com/MichaelRechtin/MotionSim
Teensy 4.0 Code
C++ code running on the Teensy must be uploaded using the Arduino IDE. The teensy takes serial inputs
from either the the Pi (passthrough mode) or an external computer to control the stepper motors for pitch /
roll

Adjustable parameters
depending on pinout. Default
should work with PCB

Adjustable motion parameters.


If motors skip steps these
values may need to be lowered

Adjust the “Zero” position


that the chair calls home

Adjust is microstepping
differently
Raspberry Pi: Identify Flight Controls Names ListUSB.py
If you are using different USB controls you must first find the names of your USB devices.
1. Connect USB controls to the Raspberry Pi through the back panel or the USB ports directly.
2. Run ListUSB.py and it will print out the names of all detected devices

Printed device names


Raspberry Pi: Insert Flight Controls Names – PPM.py
1. Open PPM.py
2. Replace device names with the outputs from ListUSB.py
3. Optionally configure any changes needed for RC applications

Configurable Parameters

Replace with device names


Raspberry Pi: Auto-run script
To operate properly, PPM.py must autorun when Pi is powered on.
1. Open terminal
2. Open bashrc file (using command below)
Raspberry Pi: Auto-run script
1. Add lines to bottom of file. As shown below
2. Ctrl+X and then Y to save and exit
Software Setup - PC
All code available at: https://github.com/MichaelRechtin/MotionSim
Overview
The chair receives movement commands from an external PC. These movements can come from a
simulation game (MSFS 2020, MSFS 2024, WarThunder currently supported) or from an RC plane
(Ardupilot)

1. Connect PC to chair using USB Cable


2. Run python script

Connect to PC

If using Chair for “Passthrough


Mode” or flying RC planes,
Connect USB joystick devices
here

If using the chair for flying


simulator games, connect USB
joystick devices to the PC running
the game
Microsoft Flight Sim 2020/2024

Download packages
with Pip Installer
Replace with
correct COM port

SimConnect:
https://pypi.org/project/SimConnect/
https://github.com/odwdinc/Python-SimConnect
WarThunder

Download packages
with Pip Installer

Replace with
correct COM port

WarThunder Python Package:


https://pypi.org/project/WarThunder/2.0.4/
Ardupilot RC Plane

Download packages
with Pip Installer

Replace with
correct COM port

Replace with
correct UDP port.
See next Slide
Ardupilot RC Plane
- QGroundControl must be configured to forward the MAVLINK packets to a UDP port
- Full Documentation: https://docs.qgroundcontrol.com/Stable_V4.3/en/qgc-user-guide/settings_view/mavlink.html

Check This
Port Name
Buttkicker for Sim Games
Bill of Materials
Item Qty Link (May be Affiliate) Notes
Electronics
Raspberry Pi 4 1 https://amzn.to/4gDeqRJ
Teensy 4.0 1 https://amzn.to/4h26auC
MPU6050 1 https://amzn.to/3DHh3n9
Level Shifter (Only if using LED) 1 https://amzn.to/3DGJHoi
5V LED Strip 1 https://amzn.to/4j0shDi
JST Connectors (Optional but makes wiring easier) 1 https://amzn.to/4j26Rpf
https://amzn.to/4gACqVC
Terminal Blocks (Optional but makes wiring easier) 1
Custom PCB (Limited Stock Available) 1
USB Flight Stick / Throttle (Most should work) 1 https://amzn.to/3BJ2AXf
USB Rudder Pedals (Most should work) 1 https://amzn.to/3BWKVLD
20:1 NEMA 21 Gearbox 2 https://amzn.to/4iXhycP
https://www.omc-stepperonline.com/ts-series-3-0-nm-424-92oz-in-1-axis-closed-loop-
NEMA 21 Closed Loop Stepper Motor Kit 2 stepper-cnc-kit-nema-23-motor-driver-1-cl57t-s30a-v41
NEMA 21 Motor Shaft Adapter 2 https://amzn.to/3PhDD8q
Many versions exist of this hub. Steel or aluminum
Motor Shaft Hub 2 https://amzn.to/3W463Gx should would
Gearbox Double Shaft 2 https://amzn.to/40mkeJW

Chair Structure
3/4" Plywood Local Hardware Store
1/2" Plywood Local Hardware Store
Screws Local Hardware Store
Heim Joints https://amzn.to/4jpR4Rm 3/8-24 Female Thread Right Hand
Connecting Rod https://www.mcmaster.com/98842A031/ 3/8 x 24 - 2 sections at least 400mm
Angle Iron Local Hardware Store
T Nuts https://amzn.to/42f8U3v
Pack of spacers for Heim Joints https://amzn.to/4g4bUCX 1/2" OD x 3/8" ID 0.5" length
Pack of Bolts for Mounting Heim Joints: https://amzn.to/3WrSz7X
https://amzn.to/4ar7t3P
3/8 NyLock Nuts

Other (Optional)
Buttkicker https://amzn.to/3Q2x4ah
https://www.amazon.com/gp/product/B07MR6YCQ1/ref=ppx_yo_dt_b_search_asin_title
?ie=UTF8&psc=1
Amp for Buttkicker

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy