Solar Rover

Introduction: Solar Rover


The idea behind the Solar Rover was to design a rover that could be solar powered and on top of that, automatically move towards the area of greatest illumination. To enable this, I employed the use of LDRs to detect variations in illumination, send feedback to the microcontroller used and finally the microcontroller directs the rover depending on this feedback.

What I came up with is basically a prototype. Contrary to the name though, it is not powered by a solar panel as of yet. For this, a solar battery that can provide 9V is needed.


  1. Pre-assembled rover, preferably an Arduino Duemilanove
  2. 8.5” x 4.5” wooden board( for mounting the solar panel on the Duemilanove)
  3. 4 1” screws
  4. Solar panel
  5. 4 LDRs
  6. 4 1kOhm resistors
  7. Single-core connecting wire
  8. Masking tape
  9. Hand-held drill, or any small drill
  10. 5 zip tags

Step 1: The LDR Circuit

In order for the Duemilanove to move towards the light, it needs to know which direction is the brightest. To achieve this, we used the LDR circuit as shown in the image above.

A wire from each LDR will lead to the analog inputs on the Duemilanove, and also power and ground wires will lead to the respective ports; i.e.

  • front LDR – A3 (red wire)
  • left LDR – A2 (red wire)
  • right LDR– A1(red wire)
  • back LDR– A0 (red wire)
  • ground – ground (black wire)
  • positive – 5V (yellow wire)

NB: The red wires are the LDR feedback wires, the yellow positive and black ground. To keep the circuit “neat”, I taped it to the bottom of the solar panel.

Step 2: Preparing the Duemilanove and Panel Mount

While attaching the panel to the Duemilanove, the connecting wires from the LDR circuit got in the way of the wheels quite a bit. To fix this, the wooden mount was needed.

On the Duemilanove, replace the short screws attaching the tracks to the board with the 1” screws. The extra-long screws will extend beyond the board, providing room for attaching the wooden mount. So drill 4 holes on the wooden board, ensuring that they are aligned with the screws on the Duemilanove.

You could also add a slot on the mount so as pass the LDR circuit connection wires through it to the Duemilanove. This just makes it a bit neater.

Step 3: Attaching the Solar Panel/LDR Circuit to the Duemilanove

So now here comes the final step of the hardware related section of this instructable, putting everything together. First, attach the connecting wire of the LDR circuit to the Duemilanove either to the side of the mount or through the extra hole on the mount.

Next, push the mount onto the screws of the Duemilanove, leaving about 1/8”or 0.5cm between the mount and the end of the screws. Using the zip tags, firmly tie the solar panel to the mount. Depending on the size of the solar panel, the number of zip tags used will vary.

Step 4: The Code

Now that we're done with the hardware, it's time to do some coding. The code used here checks the values received from the LDRs and changes the speed of rotation of the motors so as to change direction; i.e.

  • Left and Right motors full speed – forward
  • Left motor full and Right motor half speed – turn right
  • Left motor half and Right motor full speed – turn left
  • Left and Right reverse – back.

The code used can be found attached.

Be the First to Share


    • Big and Small Contest

      Big and Small Contest
    • Game Design: Student Design Challenge

      Game Design: Student Design Challenge
    • For the Home Contest

      For the Home Contest