Abstract
Bristlebots are tiny little robots with no "brain." They are powered by vibrations and move around randomly. Even if there is no brain, can you still influence how they move by changing their design? Find out in this fun robotics project!
Summary
None
A kit is available from our partner Home Science Tools®.
No issues
Objective
Determine how a bristlebot's design affects how it moves.
Introduction
Bristlebots (Figure 1) are fun little robots built with the head of a toothbrush. They have a simple circuit consisting of a small battery and a vibration motor. The motor is the same type that makes phones and video game controllers vibrate. The vibrations from the motor make the whole robot jitter and move around randomly.

Most robots have a "brain" - a computer that tells the robot what to do. Your brain processes information from your senses, like sight and hearing, and then tells your muscles what to do. Similarly, a robot's brain can take information from electronic sensors and use that information to control motors. Since a bristlebot has no brain, you might think that its movement is completely random and there is no way to control it. However, as demonstrated in this video by Harvard University researchers, you can influence how a bristlebot moves by changing its mechanical design. Bristlebots with different designs behave differently in large groups, or swarms. Sometimes these swarms of robots even seem to organize themselves like a school of fish or flock of birds.
Even if you are not 3D-printing your own custom bristlebot bodies, there are things you can change about their physical design. For example, you can change the location of their center of mass by changing where you mount the battery and motor on the toothbrush head. You can change their total mass by adding more weight. You can also change their moment of inertia, or how spread out the mass is (Figure 2).

After you have changed a bristlebot's design, you can watch it to see how it moves qualitatively, but for a science project, you should measure something quantitative when possible. This is where motion tracking software is useful. You can record a video of your bristlebot moving around and use motion tracking software to analyze the motion. This lets you answer questions like "how many rotations did the bristlebot complete in 10 seconds?" or "on average, how far does the bristlebot move in one second?" The procedure of this project will show you how to use motion tracking software to analyze your bristlebots' movement.
Terms and Concepts
- Bristlebot
- Circuit
- Battery
- Vibration motor
- Swarm
- Center of mass
- Moment of inertia
- Motion tracking
- Vector
Questions
- What makes a bristlebot move?
- How can you quantify a bristlebot's motion?
- What aspects of a bristlebot's design do you think will affect how it moves?
- Do you think a bristlebot with a higher moment of inertia will spin faster or slower than one with a lower moment of inertia?
Bibliography
- Giomi, L. et. al. (2013, Feb 24). Swarming, swirling, and stasis in sequestered bristle-bots. ArXiv. Retrieved May 2, 2023.
Materials and Equipment 
Recommended Project Supplies
- Bristlebot Robotics Kit, available from our partner Home Science Tools®
- Scissors
- Smooth, flat table or work surface
- A ring to keep your bristlebots contained. You could use a hula hoop or make one by taping strips of paper together end to end.
- A way to mount a phone or camera directly above the ring, facing down, with the entire ring in view, such as a goose neck phone clamp
- Motion tracking software. The procedure for this project will use a free program called Tracker, but other programs or apps may be available.
Experimental Procedure

Data Collection
- Set up an area to do your experiment (Figure 3).
- You will need a flat, level, smooth surface. Bristlebots will not work well on carpet, rough surfaces, or wood floors with gaps between the pieces of wood.
- Make a ring to keep your bristlebots contained. You can use a hula hoop or build one with strips of paper taped together end-to-end.
- Mount a phone or camera directly above the center of the ring, facing straight down. If you do not have a clamp available, you can try holding the phone or camera by hand, but you will need to hold it as still as possible for the video.

- Build two bristlebots with the same mass but different moments of inertia.
- You can find basic instructions to build a bristlebot in this activity or in the following video.
- For one bristlebot, tape an entire popsicle stick onto the toothbrush before you attach the battery and motor (Figure 2, left side).
- For the other bristlebot, cut a popsicle stick into three equal-length pieces. Tape them side-by-side onto the toothbrush head before you attach the battery and motor (Figure 2, right side).
- Disconnect one pair of motor/battery wires on each bristlebot to turn them off for now.
- Record three videos of each bristlebot moving in your arena (six videos total). Each video should have at least 10 seconds of the bristlebot moving with an unobstructed camera view (not blocked by your hand).
- Important: Before you record, make sure to read the "Supported Video Formats" section of the Tracker website.
- Re-connect one of the bristlebot's wires.
- Place it in the center of the arena, let go, and immediately start recording a video. It may be easier if you have a second person to help operate the camera.
- Wait at least 10 seconds to stop the video. If the bristlebot falls over or gets stuck during this time, delete the video and start over.
- After 10 seconds of unobstructed movement, stop the video.
- Move the bristlebot back to the center and start a new video. Repeat until you have three videos for each bristlebot.
- Disconnect one pair of wires for each bristlebot to turn them off for now.
- Transfer the video files to your computer. You may want to rename the files to make them easier to keep track of, such as "high moment of inertia trial 1.mp4" and so on.
Motion Tracking
- Install the Tracker Video Analysis software on your computer.
- If this is your first time using the software, follow some of the tutorials available on the website.
- Select File→Open→File Chooser to open the video file for your first trial.
- File→Save→Tab to save a .trk file with your tracking information. Remember to save your file frequently as you work. Note: if you want to easily share your entire project with someone else, you can save a "project" instead (.trz file), which will include a copy of the video file itself. This will result in a larger file on your computer, and is not necessary if you are only analyzing the data yourself.
- Instead of just tracking a point (like your bristlebot's center of mass), you will track a vector as it moves. A vector has both magnitude and direction. This will allow you to track both your bristlebot's position and its angle so you can see how it rotates.
- Advance the video until the bristlebot is moving with an unobstructed camera view. You may need to skip the first few seconds of footage if your hand is in the way or you have not put the bristlebot down yet.
- Select Track→New→Vector.
- Think about two points on your robot that are easily visible and you can consistently identify in each frame of the video. The points where the wires connect to the motor and battery are good examples.
- Add a vector to the video frame.
- Hold down the shift key.
- Click on the first point you decided to track.
- While still holding down the shift key, drag your mouse to the second point.
- Release the mouse button. The video should automatically advance to the next frame.
- You may wish to adjust what is visible on the screen as you track. Click the eyeball button in the top toolbar to see some of the options.
- Change "Trails" from "Short trails" to "All steps" to see every frame you have tracked.
- Turn off "Labels" to remove the text labels and make the screen less cluttered.
- Adjust the data shown in the graphs and table on the right side of the screen.
- Click the "Plots" drop-down menu and change it to 3 plots.
- Click the y-axis label of each plot to change what is displayed.
- Change the top plot to "xtail" (the horizontal position of the tail end of your vector in pixels).
- Change the middle plot to "ytail" (the vertical position of the tail end of your vector in pixels).
- Change the bottom plot to "θ" (the angle of the vector in degrees, where 0° is to the right, +90° is up, -90° is down, and 180° is to the left).
- Adjust the "Columns" menu of the data table to show the same data that is plotted in the graphs.
- You can drag the slider bars to change the relative sizes of the tracking window, graphs, and data table.
- After you have set the screen the way you like it (you can always change it again later), return to tracking.
- Repeat the shift-click-drag process to add a vector to each frame until you have tracked at least 10 seconds of movement.
- Note: this might take a while! If your video was recorded at 30 frames per second, then 10 seconds of video is 300 frames.
- Figure 4 shows an example of what your screen might look like after completing this process.
- Look at the vectors in the video frame. Can you identify areas where the bristlebot was spinning tightly in circles versus where it was moving in more gradual curves?
- Look at the graph for the angle. Note how the angle "wraps around" from +180° to -180°. This lets you count how many complete revolutions the bristlebot completed in a 10-second window (each time the line goes off the bottom of the graph and comes back around the top).

- Make a data table like Table 1.
- Count the number of times your bristlebot went through a full revolution in a ten-second period and record the value for Trial 1.
- Repeat steps 3-14 for each additional trial and record the results in your data table.
- Calculate the average number of revolutions in 10 seconds for each bristlebot.
- Which bristlebot spins faster on average, the one with a higher moment of inertia, or lower? Does this match your prediction?
- Can you use what you learned to design a bristlebot that travels (on average) more straight instead of spinning in tight circles?
| Revolutions in 10 seconds | ||||
|---|---|---|---|---|
| Bristlebot type | Trial 1 | Trial 2 | Trial 3 | Average |
| Low moment of inertia | ||||
| High moment of inertia | ||||
Ask an Expert
Global Goals
The United Nations Sustainable Development Goals (UNSDGs) are a blueprint to achieve a better and more sustainable future for all.
Variations
- Choose a different variable to change, such as the robot's total mass or location of its center of mass. How do your results change?
- Can you experiment with the angle of the bristles? You can purchase different toothrbush heads with angled bristles, or try using scissors to trim the straight bristles from your kit.
- Measure how far your bristlebot moves in one-second increments, then calculate an average for the entire video. Which robot moves faster on average? Include a ruler in your video frame and then add a "Calibration stick" in Tracker to measure in actual distance units instead of pixels.
- Calculate your bristlebot's average angular velocity (the change in angle per unit time) as it spins. How is it different for the different designs?
- Science Buddies has many projects about robots powered by vibrations, including vibrobots, which use the same motors and batteries as bristlebots, but use other materials for the robot's body. There are also larger variations like art bots, junkbots, and brushbots. They all work using the same basic principle. Can you do this project using a different robot design? How do things like motor orientation (for example, vertical for an art bot versus horizontal for a brushbot) affect robot movement?
- Add more bristlebots to your experiment (they are also available in 5-packs and 20-packs). Do they move together in flocks or swarms, as demonstrated in the video above by Harvard University researchers? How does their collective behavior change as you change their physical design or the number of robots?
Careers
If you like this project, you might enjoy exploring these related careers:
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:
- Include your Home Science Tools® order number.
- 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












