Jump to main content

Build a Model Mass Driver for Launching Objects into Space

42 reviews


A mass driver uses electromagnetics to launch projectiles. In the future, such a device could launch payloads into space without the use of chemical rockets. This could lead to long-term cost savings when launching large amounts of material into space—for example, to construct a space station. In this project you will design and build your own working model mass driver as you learn some of the engineering principles behind how mass drivers operate.


Areas of Science
Time Required
Short (2-5 days)
Previous experience with electronics and Arduino is recommended.
Material Availability
A kit is available from our partner Home Science Tools. See the Materials section for details.
High ($100 - $150)
Wire coils can get hot to the touch.
Ben Finio, PhD, Science Buddies


Design and build a working model mass driver.


A mass driver—also called an electromagnetic catapult, space gun, or coil gun—is a type of linear motor. That means it produces linear motion instead of rotational motion. Mass drivers use a series of electromagnets to accelerate an object to high speeds. One day, they could be used to launch payloads into space from the surface of the Earth or the Moon (Figure 1).

Drawing of a mass driver constructed on the moon. The driver features a very long tube that stretches across the surface. Image Credit: NASA / Public domain
Figure 1. Artist's conception of a mass driver on the surface of the Moon (Source: NASA).

A basic mass driver consists of a hollow tube with a ferromagnetic payload, like a cylindrical piece of steel. Wires coiled around the outside of the tube form electromagnets that generate a magnetic field when electrical current passes through them. This external magnetic field induces a magnetic field in the ferromagnetic payload, causing it to be pulled toward the coil.

Once the payload passes through the coil, though, it is pulled back toward the center of the coil and eventually settles there. To avoid this, the coil must be switched off as soon as the payload passes through it. This allows the payload to continue traveling forward.

A mass driver can use multiple stages to accelerate the payload to increasingly higher speeds. At each stage, the coil turns on as the payload approaches, then turns off as soon as the payload passes through (Figure 2).

A 3 stage mass driver with 3 coils that are energized in sequence to pull a payload through a tube. Image Credit: Ben Finio, Science Buddies / Science Buddies

In stage 1, coil 1 is energized and the payload is attracted toward it. In stage 2, the first coil is turned off and the second coil is turned on, so the payload keeps moving forward and is attracted to coil 2. In stage 3, the second coil is turned off and the third coil is turned on. Once the payload reaches coil 3, all coils are turned off and the payload exits the tube.

Figure 2. Diagram showing the operation of a three-stage mass driver.

This raises the interesting question of timing. How do you know when to turn each coil on and off? In theory, you could use physics to predict how fast the payload will move, calculate how long it will take to reach each position in the tube, and manually set the timing for each coil (e.g., "Turn on coil 1 for 0.1 seconds, then turn off coil 1 and turn on coil 2 for 0.1 seconds..."). This approach is called open-loop control. It is difficult, however, and does not account for potential variability in the system from one launch to the next.

Instead, you can use sensors to detect the position of the payload in the tube, and then use closed-loop control (also called feedback control) to automatically turn the coils on and off based on the payload's position. Instead of manually setting the times, you can write a program with an algorithm like this: "Turn on coil 1. Once the sensor detects that the payload has exited coil 1, turn on coil 2." In particular, you can use a Hall effect sensor, which detects magnetic fields and therefore can detect when the ferromagnetic payload passes by in the tube.

In this project, you will design and build a model mass driver controlled by an Arduino®. The project procedure will give you basic instructions for building a three-stage mass driver; however, there are many variables you can tweak to optimize the design of your mass driver. Can you design a mass driver that launches a payload as far or as fast as possible?

Terms and Concepts



Materials and Equipment Buy Kit

Recommended Project Supplies

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

View Kit

Experimental Procedure

Note: This engineering project is best described by the engineering design process, as opposed to the scientific method. You might want to ask your teacher whether it's acceptable to follow the engineering design process for your project before you begin. You can learn more about the engineering design process in the Science Buddies Engineering Design Process Guide.
Note: If you have never used an Arduino before, please see our How to Use an Arduino page and go through at least the first three tutorials before you attempt the procedure for this project.

This procedure will show you how to build a mass driver using the items in the materials list. Remember that you can try different materials or change the dimensions of the mass driver for your project. See the end of the procedure for some suggestions about things you can change.

  1. Use a hacksaw to cut a piece of the steel rod a few centimeters long to make your projectile.
  2. Wrap magnet wire around the acrylic tube to form your coils. Figure 3 shows a 3-stage tube with three coils, each consisting of 450 turns of 22 AWG magnet wire.
    1. The coils should not be longer than your projectile—that way, you can immediately detect when the projectile has passed the center of the coil.
    2. Make sure you wrap each coil in the same direction.
    3. Leave at least 30 cm of wire at each end of each coil so you can connect them to the drive board.
    4. Use sandpaper to strip insulation from about the last centimeter of each wire.
    5. Hold the coils in place with electrical tape so they do not unravel.
    6. To make winding the coils easier, you can make a simple wire spool holder with a cardboard box and a pencil (Figure 4). You can also use a power drill to help wind the coils.
    A clear plastic tube with three large wire coils wrapped around it Image Credit: Ben Finio, Science Buddies / Science Buddies
    Figure 3. Mass driver tube with three electromagnetic coils.

    A small cardboard box with a pencil poked through two of its sides and a wire spool on the pencil Image Credit: Ben Finio, Science Buddies / Science Buddies
    Figure 4. Simple wire spool holder made from a cardboard box and a pencil.
  3. Solder extension wires to three of your Hall effect sensors (Figure 5).
    1. Make the wires at least 30 cm long so you can mount the sensors on the tube and connect the wires to your Arduino.
    2. With the writing on the sensor facing you, from left to right the pins are power, ground, and output. It helps to color-code your wires. For example, use red for power, black for ground, and a different color for output.
    3. Wrap the connections to the pins in electrical tape or heat shrink tubing to prevent short circuits.
    A hall effect sensor with red, black, and white wires soldered to its three pins with heat shrink tubing Image Credit: Ben Finio, Science Buddies / Science Buddies
    Figure 5. Extension wires soldered to Hall effect sensor and covered in heat shrink tubing.
  4. Tape a Hall effect sensor to the tube, with the flat side (the side without any writing) against the tube, immediately after each coil. In Figure 3 you can see where the Hall effect sensor wires are connected to the tube (the sensors themselves are concealed by tape).
  5. Build the circuit as shown in Figure 6. Your completed setup should look like the one in Figure 7.
    1. Connect the first coil to OUT1+ and OUT1- on the drive board.
    2. Connect the second coil to OUT2+ and OUT2- on the drive board.
    3. Connect the third coil to OUT3+ and OUT3- on the drive board.
    4. Use alligator clips to connect your three batteries in series (positive to negative).
    5. Connect the battery bank's negative terminal to DC- on the drive board.
    6. Prepare to connect the battery bank's positive terminal to DC+ on the drive board, but leave the alligator clip disconnected for now so the circuit is not powered on.
    7. Connect Arduino pin 2 to PWM1 on the drive board.
    8. Connect Arduino pin 3 to PWM2 on the drive board.
    9. Connect Arduino pin 4 to PWM3 on the drive board.
    10. Connect GND1, GND2, and GND3 on the drive board to GND on the Arduino.
    11. Connect the first stage Hall effect sensor:
      1. Pin 1 (red wire) to 5V
      2. Pin 2 (black wire) to GND
      3. Pin 3 (other color) to Arduino pin 8
      4. Add a 10 kΩ pull-up resistor from sensor pin 3 to 5V.
    12. Connect the second stage Hall effect sensor:
      1. Pin 1 (red wire) to 5V
      2. Pin 2 (black wire) to GND
      3. Pin 3 (other color) to Arduino pin 9
      4. Add a 10 kΩ pull-up resistor from sensor pin 3 to 5V.
    13. Connect the third stage Hall effect sensor:
      1. Pin 1 (red wire) to 5V
      2. Pin 2 (black wire) to GND
      3. Pin 3 (other color) to Arduino pin 10
      4. Add a 10 kΩ pull-up resistor from sensor pin 3 to 5V.
    Circuit diagram for the Arduino mass driver with MOSFET drive board Image Credit: Ben Finio, Science Buddies / Science Buddies
    Figure 6. Circuit diagram for the Arduino mass driver with MOSFET drive board. Click here for a larger version of the image.

    An Arduino, a circuit board, three lantern batteries, and a clear plastic tube with three coils of wire around it. Image Credit: Ben Finio, Science Buddies / Science Buddies
    Figure 7. Mass driver experimental setup.
  6. Download mass_driver_3_stage.ino and read through the commented code. Make sure you understand how it works. The code starts by turning on the first coil, then uses the Hall effect sensors to know when to turn each coil on and off.
  7. Upload the code to your Arduino.
  8. Make sure your mass driver tube is not pointed at any people, animals, or anything it might damage. A pillow or cardboard box is a good target.
  9. Place your projectile partially into the entrance of the tube (near coil 1), as shown in Figure 8.
  10. Connect the final alligator clip to your battery bank, providing power to your circuit.
  11. Press the reset button on your Arduino. Your projectile should be sucked in, then launched through the tube!
  12. If your mass driver did not work, you might need to do some troubleshooting. A multimeter can be a very useful tool for debugging circuits, if you have one available.
    1. This is a complicated circuit. Double-check all of your wiring. Sometimes it can be hard to spot your own mistakes, so it can help to have another person double-check your wiring as well.
    2. If your projectile did not get sucked into the tube at all, make sure it is not simply stuck in the entrance. Try placing it slightly farther inside the tube, then press the reset button on your Arduino again.
    3. You can confirm that your coils are working by disconnecting them from the drive board and connecting them, one at a time, directly to the battery bank. If you place the steel projectile near a coil and then connect the coil to the battery, the projectile should be sucked in to the middle of the coil. If you only briefly touch the battery contact with an alligator clip then remove it, the coil will de-energize and the projectile should continue to travel through the tube.
    4. You can test your Hall effect sensors using a permanent magnet and a multimeter. Measure the sensor's output pin with a multimeter and bring a permanent magnet near the sensor. Its output should change from 5 V to 0 V. If you do not have a multimeter available, you can also debug the sensors using the Serial.print command in your Arduino program. For example, make the program print out "high" or "low" depending on whether the sensor reading is high or low.
    5. The drive board has onboard LEDs that turn on when each respective input is active. Watch the board closely and you should see the LEDs light up in sequence as the projectile travels through the tube. If all three LEDs do not light up in order, you might have a problem with one of your sensors.
  13. You should now have your basic mass driver working. It is up to you to improve the design or test a variable for a science or engineering project. You will need to decide how you will measure your mass driver's performance. (For example, use a tape measure to measure how far the projectile travels). Here are a few things you can try. For more advanced ideas, see the Variations section. What happens if you:
    1. Add more batteries to the battery bank in series? In parallel?
    2. Add more stages?
    3. Change the spacing between stages?
    4. Change the number of turns in each coil?
    5. Change the wire gauge of the coils?
    6. Change the size of the payload?
    7. Launch the payload at an angle?
    8. Change the launch tube and/or projectile diameter?
    9. Use a cylindrical magnet instead of a steel rod as the projectile?
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 Connections

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.


  • Try experimenting with different power supplies for your mass driver. For example, what happens if you use a DC wall adapter or a bank of supercapacitors instead of batteries?
  • Can you film your mass driver in slow motion and measure your projectile's speed as it travels through each stage? Can you calculate the net force acting on the projectile using Newton's laws of motion?
  • Alternatively, can you calculate your projectile's speed based on the distances between the Hall effect sensors and the elapsed time between their activation?
  • Can you design your own drive electronics for the circuit instead of buying a preassembled drive board? This is an advanced electrical engineering project. Here are a few videos where people take different approaches:
  • Is a mass driver the cheapest way to launch material into space? What about reusable rockets? You can explore these topics in your own science project: What is the Cheapest Way to Launch Payloads into Space?


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

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
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
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
Career Profile
Physicists have a big goal in mind—to understand the nature of the entire universe and everything in it! To reach that goal, they observe and measure natural events seen on Earth and in the universe, and then develop theories, using mathematics, to explain why those phenomena occur. Physicists take on the challenge of explaining events that happen on the grandest scale imaginable to those that happen at the level of the smallest atomic particles. Their theories are then applied to… Read more
Career Profile
Do you like working with robotics and cutting-edge machines? Electro-mechanical and mechatronics technologist and technician help engineers in designing and testing robotics equipment. They use testing tools to test performance of electromechanical equipment. They may analyze diagrams to determine order of assembly. Electro-mechanical and mechatronics technologists and technicians test and operate some of the most advanced equipment available. They may work with unmanned aircraft to get visual… Read more

Contact Us

If you have purchased a kit for this project from Science Buddies, we are pleased to answer your questions.

In your email, please follow these instructions:
  1. What is your Science Buddies kit order number?
  2. Please describe how you need help as thoroughly as possible:


    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 Us

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. "Build a Model Mass Driver for Launching Objects into Space." Science Buddies, 6 Dec. 2023, https://www.sciencebuddies.org/science-fair-projects/project-ideas/Elec_p094/electricity-electronics/arduino-mass-driver?from=Blog. Accessed 21 Apr. 2024.

APA Style

Finio, B. (2023, December 6). Build a Model Mass Driver for Launching Objects into Space. Retrieved from https://www.sciencebuddies.org/science-fair-projects/project-ideas/Elec_p094/electricity-electronics/arduino-mass-driver?from=Blog

Last edit date: 2023-12-06
Free science fair projects.