DIY Motion Simulator Documentation
DIY Motion Simulator Documentation
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
Inserted from
bottom
Base Assembly Structure
7. Attach motors, motor arms,
threaded rod, heim joints
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”
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
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
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
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
Configurable Parameters
Connect to PC
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
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