Jump to main content

Motorized Arduino Cable-Driven Spacecraft Motion Simulator

1
2
3
4
5
14 reviews

Abstract

How do you practice docking a spacecraft with the International Space Station or landing on Mars? With a room-sized cable-driven spacecraft motion simulator! In this project, you will build your own miniature, motorized version of a full-sized motion simulator scientists are developing that can move model spacecraft around in a controlled manner.

Summary

Areas of Science
Difficulty
Method
Time Required
Average (6-10 days)
Prerequisites

Previous Arduino experience is recommended. See our How to Use an Arduino page for tutorials.

Material Availability

A kit is available from our partner Home Science Tools®. See the Materials section for details.

Cost
Average ($50 - $100)
Safety

No issues

Credits

Thanks to Ryan Caverly and James Flaten at the University of Minnesota for help developing this project.

This publication was supported by an agreement with Cornell University, under Prime Agreement MCS2107‑23‑01 from the Department of Defense, Office of Local Defense Community Cooperation. Any opinions, findings, and conclusions or recommendations expressed in this publication are those of the author(s) and do not necessarily reflect the views of Cornell University nor those of Sponsor.
Science Buddies is committed to creating content authored by scientists and educators. Learn more about our process and how we use AI.

Objective

Build a motorized cable-driven spacecraft motion simulator. 

Introduction

Docking a spacecraft with the International Space Station (ISS) or landing it on another planet is hard. You only get one chance to get it right! Scientists can practice docking and landing maneuvers here on Earth using a spacecraft motion simulator, but it is difficult to move a large, heavy object around in three-dimensional space in Earth's gravity. One solution to this problem is to use a cable-driven simulator. The payload (spacecraft or other object) is suspended in the middle of a large, empty room by cables instead of a traditional robotic arm (which resembles a human arm with joints). These cables are attached to winches driven by powerful motors that can rapidly wind or unwind the cables. Watch this video for an example of a human-sized, cable-driven motion simulator:

By building artificial terrain on the floor or mounting a model docking port on the wall (Figure 1), scientists can use a cable-driven motion simulator to practice landing and docking maneuvers. 

Diagram of a planned cable-driven spacecraft motion simulator at Cornell UniversityImage Credit: Ryan Caverly
Figure 1. Diagram of a cable-driven spacecraft motion and docking simulator.

Designing these systems is complicated. For example, the motions of all of the motors must be synchronized so that two cables do not try to pull in opposite directions at the same time, and scientists must make sure the cables do not collide with each other or the spacecraft as they move around. In this project, you will start out with a simpler motorized system that only has three cables (Figure 2). That way, the three motors can move independently (one motor can spin while the other two hold still), and you do not have to worry about cable collisions. Your motors will each be controlled by two buttons (six total) that let you manually wind and unwind each cable. However, you can also pre-program automatic maneuvers. Can you practice steering your spacecraft manually and then design a program for an automatic landing or docking maneuver?

Figure 2. An example of the cable-driven spacecraft motion simulator you will build in this project. 

To do this project, you will need to understand how to use a continuous rotation servo motor with an Arduino. Continuous rotation servo motors are different from positional servo motors. Positional servo motors can rotate to a fixed angle between 0 and 180 degrees, and the Arduino allows you to control the angle. However, they cannot go through a full revolution or rotate continuously. Continuous rotation servo motors can rotate continuously in either direction, but the Arduino lets you control their speed, not their exact angle. This video further explains the difference between positional and continuous rotation servo motors:

This video walks you through using a continuous rotation servo with an Arduino:

We recommend starting this project with just three motors and three cables. If you want to add more, you need to understand the concept of degrees of freedom. An object's number of degrees of freedom determines how many independent motions it can make in different directions. Degrees of freedom can be translational (back and forth in a line) or rotational (rotating about an axis). For example:

Terms and Concepts

Questions

Bibliography

Materials and Equipment Buy Kit

Recommended Project Supplies

Get the right supplies — selected and tested to work with this project.

View Kit

Disclaimer: Science Buddies participates in affiliate programs with Home Science Tools®, Amazon.com, Carolina Biological, and Jameco Electronics. Proceeds from the affiliate programs help support Science Buddies, a 501(c)(3) public charity, and keep our resources free for everyone. Our top priority is student learning. If you have any comments (positive or negative) related to purchases you've made for science projects from recommendations on our site, please let us know. Write to us at [email protected].

Experimental Procedure

This project follows the Engineering Design Process. Confirm with your teacher if this is acceptable for your project, and review the steps before you begin.
Before you begin: Review How to Use an Arduino Tutorials 1-3.
  1. Follow the instructions in the procedure of the Make a Spacecraft Motion Simulator! project. That project will show you how to build a PVC pipe frame, run cables through screw eyes attached to the frame, and use the cables to control your model spacecraft manually. In this project, you will add motors to control the spacecraft either with buttons or automatically. 
  2. Prototype your Arduino circuit before you connect your motors to the frame and cables. This will make it easier to ensure that everything works. Assemble the circuit as shown in Figures 3 and 4. You can also access a Tinkercad Circuits model of the circuit here.
    1. Put six buttons in the breadboard.
      1. Make sure the buttons straddle the gap in the middle of the breadboard.
      2. Use a short jumper wire to connect one pin from each button (the bottom left pins in Figure 3) to the breadboard's ground (-) bus.
      3. Use a longer jumper wire to connect one pin from each button (the top left pins in Figure 3) to Arduino pins 2-7 as shown. 
    2. Connect the three servo motors.
      1. Use the male-male header pins to connect the servo motor cables to the breadboard. Make sure each pin goes into a different row.
      2. Use a short jumper wire to connect each servo's brown (ground) wire to the breadboard's ground (-) bus.
      3. Use a short jumper wire to connect each servo's red (power) wire to the breadboard's power (+) bus.
      4. Use a longer jumper wire to connect each servo's orange (signal) wire to Arduino pins 8-10 as shown.
    3. Connect power to the breadboard.
      1. Connect one of the Arduino's GND pins to the breadboard's ground (-) bus.
      2. Connect the Arduino's 5V pin to the breadboard's power (+) bus.
Figure 3. Breadboard diagram for circuit to control three continuous rotation servo motors with six buttons. 

Figure 4. Circuit schematic.
  1. Test your circuit.
    1. Download our servo control example code or copy and paste the code from Tinkercad into the Arduino IDE.
    2. Read through the commented code so you understand how it works.
    3. Connect the Arduino to your computer with the USB cable. Make sure you have the proper board selected in the IDE; then upload the code. 
    4. When none of the buttons are pressed, none of the servo motors should spin. If you notice one or more of the servos spinning slowly, use a small screwdriver to slowly turn the adjustment screw on the bottom of the servo (Figure 5). This screw helps you calibrate the servo's neutral position so it will not move. This adjustment is important to make sure your spacecraft does not drift around slowly when you are not pressing the buttons.
    5. Try pressing each button one at a time. Make sure you can make each motor spin in both directions. If any of the buttons do not work, carefully double-check all of your wiring.
    6. By default, the motors are set to run at full speed. This may be too fast to easily control your spacecraft. Look at the code and notice how you can make the forwardspeed and backwardspeed variables closer to 90 to slow the motors down. For example, to slow the motors down slightly, you could change the values from 180 to 175 and from 0 to 5 respectively. If you do not understand how this works, go back and review the videos about continuous servos in the introduction. 
Figure 5. The calibration screw on the bottom of a continuous rotation servo, not to be confused with the four screws in the corners that hold the plastic case together. 
  1. Connect your servos to your cable-driven assembly. 
    1. Build a winch to hold the string for each servo. Figure 6 shows an example.
      1. Attach a servo horn to the servo's shaft. 
      2. Cut a short piece (about 1 inch long) of a wooden dowel. 
      3. Drill a hole radially through the center of the dowel.
      4. Glue one end of the dowel to the servo horn.
      5. Cut a small circle from cardboard and glue it to the other end of the dowel (this prevents the string from sliding off). 
      6. Cut a piece of string about 2 feet long. The exact length will depend on the size of your frame, but it should at least be long enough to go from the servo, up through a screw eye, and down to the far side of the frame. 
      7. Pass one end of the string through the hole you drilled in the wooden dowel, loop the string around, and tie it in a knot to secure the string to the dowel. 
    2. Use hot glue to attach the servos to the frame (Figure 7). One servo should be positioned at the bottom of the frame below each of the three screw eyes you will use (refer back to Figure 2). 
    3. Pass the free ends of each string through one of the screw eyes, and tie them to your model spacecraft.
    4. Manually wind any excess string around each spool so all the strings are tight.
Figure 6. Winch made from servo and wooden dowel.

Figure 7. Servo glued to PVC pipe frame with string passing upward through the screw eye. 
  1. Try controlling your model spacecraft's motion with buttons.
    1. Hold down each button one at a time. Confirm that the motors spin in the correct directions and that you know which button tightens each cable and which button loosens it. 
    2. If you want to reverse the behavior of a pair of buttons for one motor, unwind the string completely from the spool, and then wind it in the opposite direction. 
    3. Try holding the buttons down in pairs. 
      1. What happens if you tighten two cables at once?
      2. What happens if you loosen two cables at once?
      3. What happens if you tighten one cable while loosening another?
    4. Try holding three buttons down at a time.
      1. What happens if you tighten all three cables at once?
      2. What happens if you loosen all three cables at once?
      3. What happens if you try a combination of tightening and loosening cables at the same time?
  2. Now for the challenging part: based on your observations in step 5, can you write a new program that makes your model spacecraft follow a pre-programmed path by automatically controlling the motors? You will need to figure out how to do this part of the project on your own - Science Buddies will not provide the code! Here are some suggestions, roughly in order of increasing difficulty:
    1. Start by simulating a vertical landing maneuver. Start your spacecraft in the top center area of your frame with all strings tightened equally. Can you make your spacecraft move straight down to land gently on the surface?
    2. Try a more complicated landing maneuver. Can you make your spacecraft land off-center, closer to one side of the frame?
    3. Try a horizontal docking maneuver. Can you make your spacecraft move horizontally from one side of the frame to the other without moving up or down?
    4. Can you simulate an "orbit" and make your spacecraft move in a continuous circular or elliptical path, or trace out another shape in midair?
icon scientific method

Ask an Expert

Do you have specific questions about your science project? Our team of volunteer scientists can help. Our Experts won't do the work for you, but they will make suggestions, offer guidance, and help you troubleshoot.

Global Goals

The United Nations Sustainable Development Goals (UNSDGs) are a blueprint to achieve a better and more sustainable future for all.

This project explores topics key to Industry, Innovation and Infrastructure: Build resilient infrastructure, promote sustainable industrialization and foster innovation.

Variations

  • Can you add more motors to control more degrees of freedom? Be careful - as you add more motors, you may need to automatically loosen some strings as you pull on others, or else the motors will be pulling against each other. You may want to practice moving your spacecraft manually first with additional strings and screw eyes before you try using more motors.
  • Can you use stepper motors instead of continuous rotation servo motors? Unlike continuous rotation servo motors, stepper motors can rotate continuously and you can control their exact angle. You will need to look up instructions for using stepper motors with Arduino.

Careers

If you like this project, you might enjoy exploring these related careers:

Career Profile
Humans have always longed to fly and to make other things fly, both through the air and into outer space—aerospace engineers are the people that make those dreams come true. They design, build, and test vehicles like airplanes, helicopters, balloons, rockets, missiles, satellites, and spacecraft. Read more
Career Profile
Have you watched "The Transformers" cartoon series or seen the "Transformers" movies? Both shows are about how good and evil robots fight each other and the humans who get in the middle. Many TV shows and movies show robots and humans interacting with each other. While this is, at present, fantasy, in real life robots play a helpful role. Robots do jobs that can be dangerous for humans. For example, some robots defuse landmines in war-stricken countries; others work in harsh environments like… Read more
Career Profile
Just as a potter forms clay, or a steel worker molds molten steel, electrical and electronics engineers gather and shape electricity and use it to make products that transmit power or transmit information. Electrical and electronics engineers may specialize in one of the millions of products that make or use electricity, like cell phones, electric motors, microwaves, medical instruments, airline navigation system, or handheld games. Read more
Career Profile
Mechanical engineers are part of your everyday life, designing the spoon you used to eat your breakfast, your breakfast's packaging, the flip-top cap on your toothpaste tube, the zipper on your jacket, the car, bike, or bus you took to school, the chair you sat in, the door handle you grasped and the hinges it opened on, and the ballpoint pen you used to take your test. Virtually every object that you see around you has passed through the hands of a mechanical engineer. Consequently, their… Read more
Home Science Tools®

Contact Us

Our kits are developed in partnership with Home Science Tools®. If you have purchased a kit for this project, Home Science Tools® is pleased to answer any questions.

In your email, please follow these instructions:
  1. Include your Home Science Tools® order number.
  2. Please describe how you need help as thoroughly as possible:

    Examples

    Good Question I'm trying to do Experimental Procedure step #5, "Scrape the insulation from the wire. . ." How do I know when I've scraped enough?
    Good Question I'm at Experimental Procedure step #7, "Move the magnet back and forth . . ." and the LED is not lighting up.
    Bad Question I don't understand the instructions. Help!
    Good Question I am purchasing my materials. Can I substitute a 1N34 diode for the 1N25 diode called for in the material list?
    Bad Question Can I use a different part?

Contact Support

News Feed on This Topic

 
, ,

Cite This Page

General citation information is provided here. Be sure to check the formatting, including capitalization, for the method you are using and update your citation, as needed.

MLA Style

Finio, Ben. "Motorized Arduino Cable-Driven Spacecraft Motion Simulator." Science Buddies, 5 Nov. 2025, https://www.sciencebuddies.org/science-fair-projects/project-ideas/SpaceEx_p055/space-exploration/motorized-cable-driven-spacecraft-motion-simulator. Accessed 23 June 2026.

APA Style

Finio, B. (2025, November 5). Motorized Arduino Cable-Driven Spacecraft Motion Simulator. Retrieved from https://www.sciencebuddies.org/science-fair-projects/project-ideas/SpaceEx_p055/space-exploration/motorized-cable-driven-spacecraft-motion-simulator


Last edit date: 2025-11-05
Top
Free science fair projects.