Build a Solar-Powered Bristlebot

Build a Solar-Powered Bristlebot | Science Project

Materials and Equipment

  • Advanced Bristlebots Robotics Kit, available from  us. You will need the following materials from the kit:
    • Mini breadboard
    • 2xAAA battery holder
    • AAA batteries (2)
    • Mini vibration motors (2)
    • Toggle switch
    • Mini solar cells (2)
    • 1 inch red jumper wire
    • 1 inch black jumper wire
  • You will also need the following materials, not included in the kit:
    • Identical toothbrushes (2); be sure the longest bristles on the brush are all slanted in the same direction. See Figure 3 in the Procedure for details.
    • Scissors or wire cutters
    • Double-sided foam tape
    • Optional: Craft materials to decorate your robot (such as googly eyes, colorful pipe cleaners, etc.)
    • Outdoor area with direct sunlight. This project will not work with artificial light.
    • A smooth surface you can take outdoors, or outdoor furniture, on which to test the robot; for example, a smooth piece of wood, plastic, or glass, or a large textbook. The robot will not travel very well on rough surfaces (like sidewalks or dirt) because the toothbrush bristles might get stuck.
    • Objects to create walls to make the robot go straight; for example, two rulers or two textbooks you can place side by side.
    • Stopwatch
    • Lab notebook


Assembling Your Robot’s Body

Follow the steps in this slideshow to build your robot’s body. Make sure you read the captions below each image for important notes about each step.

chassis slideshow holder

Assembling Your Robot’s Circuit

If you have never used a breadboard before, you should refer to the Science Buddies resource How to Use a Breadboard before you continue. Build the circuit on your robot’s breadboard by following along with the slideshow. Make sure you read the captions below each image for important notes about each step.

slideshow solar circuit holder

Comparing Solar and Battery Power

  1. Use household materials to set up a “chute” to force your robot to go straight, like the one shown in Figure 2. Make sure you use a smooth, flat surface (the bristles will get stuck on rough surfaces like carpet).
Two rulers on a plastic lid create a path for a bristlebot to travel along
Figure 2. An example course for the robot to drive on. The lid of the plastic container provides a smooth, flat surface, and the rulers act as walls to help the robot go straight.
  1. In your lab notebook, set up a data table like Table 1. You will use the data table to record how long it takes the robot to go from one end of the course to the other in seconds (sec).
    1. The exact weather conditions you are able to test may depend on the time of year and the climate where you live. However, remember that you need to test the project outside, in natural sunlight. The solar panels will not work under artificial light.
    2. The order in which you do the following steps might also depend on the weather. For example, if you build your robot on a cloudy day, you can do the cloudy day trials first, and then the sunny day trials later.
Power SourceWeather ConditionsTrial 1
Trial 2
Trial 3
BatteryFull sunlight
Solar panelsFull sunlight
Solar panelsCloudy
Solar panelsNighttime

Table 1. Example data table to record how fast your robot can drive through the course.

  1. Take the robot and your test course outside on a sunny day.
    1. Get your stopwatch ready.
    2. Slide the power switch “down” (toward row 17 of the breadboard) to set the robot to battery power.
    3. Set the robot down on one end of your course. As soon as you do, start the stopwatch.
    4. Watch your robot as it goes down the course. If it gets stuck against one wall, quickly give it a gentle nudge to knock it loose. If your robot consistently turns sharply to one side and always gets stuck as a result, see the Help section for suggestions.
    5. As soon as the robot reaches the other end of the course, stop the stopwatch.
    6. Record the time in your data table in the row for “battery power” and “full sunlight”.
    7. Repeat step 3 two more times and record the data in the appropriate trial columns.
  2. Switch the robot to solar power by sliding the power switch “up” (toward row 1 on the breadboard). Important: Make sure the robot’s solar panels are aimed directly at the sun, as shown in Figure 3. This will ensure that they receive the maximum amount of solar power possible. The wires connected to the solar panels are flexible, so you can bend them slightly to aim the panels toward the sun.
Diagram of a solar panel on a bristlebot being aligned perpendicularly to the Sun's rays
Figure 3. Make sure the solar panels are pointed directly toward the sun.
  1. Repeat step 3 with the robot set to solar power instead of battery power.
  2. Wait for a cloudy day, and repeat steps 3–5.
    1. Optional: If you live in an area with a lot of sunlight during certain times of the year, it might not be feasible for you to wait for a cloudy day. Instead, try doing your test very early in the morning or very late in the evening, when the sun is low in the sky and not as strong as it is during the middle of the day. Adjust the labels of your data table if necessary (for example, from “cloudy” to “early morning”).
    2. Do your best to aim the solar panels directly at the sun through the clouds. You can guess where the sun is based on the time of day (ask an adult if you need help).
    3. Make sure you record all your results in the appropriate row of your data table.
    4. If the robot does not move at all, write “did not move” in the appropriate cell of the data table.
  3. Take your robot and test course outside at night, and repeat steps 3–5. Remember to record all your results in your data table and write “did not move” if the robot does not move at all.
  4. Analyze your data.
    1. For each row of your data table, calculate an average for the three trials. For example, if the trials were 8 s, 10 s, and 12 s, the average would be (8 + 10 + 12) / 3 = 10 s. Do not include “did not move” data points in an average, since they do not have a numerical value. If the robot did not move for all three trials, also write “did not move” for the average.
    2. Make a graph for the battery-powered data with the weather condition on the x (horizontal) axis and the average time to complete the course on the y (vertical) axis.
    3. Make a second bar graph for the solar-powered data with the weather condition on the x (horizontal) axis and the average time to complete the course on the y (vertical) axis. If the robot did not move for all three trials for a certain data set, write “N/A”, which stands for “not applicable,” meaning you could not record any times.
    4. Answer the following questions:
      1. Did weather impact the robot’s speed using solar power? If so, in which weather condition did the robot move fastest? What about slowest?
      2. Did weather impact the robot’s speed using battery power? If so, in which weather condition did the robot move fastest?
      3. What are the advantages and disadvantages of running the robot on solar power compared to with the battery?
    5. Now, it might be tempting to think about which power supply is “better” just based on the results of your experiment, but remember, there are some other factors to consider.
      1. Which power supply is renewable? (Note: You did not use rechargeable batteries in this project, but even if you did, such batteries are not considered renewable because they need electricity from a wall outlet to be charged, and that electricity likely came from a power plant using fossil fuels.)
      2. What challenges would you need to overcome to use different energy sources at night or when it is cloudy? Could you build a robot with rechargeable batteries that can store energy for later use?
      3. In this project, you are restricted to using the solar panels and battery pack that comes with the kit, but do you think you could use larger solar panels or battery packs to make the bristlebot run faster? How could this change your results?

Leave a Comment

Your email address will not be published. Required fields are marked *