Introduction: Dual Axis Tracker V2.0

About: I used to teach middle school science, but now I run my own online educational science website. I spend my days designing new projects for students and Makers to put together.

Way back in the year 2015 we designed a Simple Dual Axis Tracker for use as a fun student or hobby project. It was small, noisy, a little complicated, and provoked a lot of really weird community comments. That being said, three and a half years later we're still getting emails and phone calls from people all over the world wanting to build their own.

Due to the success of our original project post, youtube video, and the kits we were selling we received a wide range of feedback from a wide range of users. Most of it good, some of it annoying, and quite a few that were along the lines of "wiring this thing up is really darn complicated so please spend an hour on the phone with us to figure it out." With that in mind we spent several months redesigning the project from the ground up to make it a much more streamlined and easy activity.

In this write up you'll find information about our upgrades, how solar trackers work, a parts list, links to our Open Source hardware, Open Source code, and links to where you can buy many of these things.

Full Disclosure: We do sell this project and all the parts as an educational kit. You don't need to buy anything from us to make this project. In fact you can use all our resources to get your own PCBs made up, laser cut your own wood at a local Maker Space or University, or even just use a bunch of cardboard and hot glue to create your own awesome creation. This is an Open Source project through and through.

Give Aways: We're trying something new in 2019. Follow us on instructables, facebook, Instagram, and or youtube for a chance to win some free parts (US Residents only). Just like and comment on our postings and videos for this project and we'll pick some winners over the next month. We'll give away a couple batches of PCBs and a couple of few kits.

Step 1: Why Solar Trackers?

Solar Panels are everywhere. They're inexpensive, readily available, and very easy to use. There are tens thousands of small scale solar panel projects found all over youtube and DIY websites.

Most people probably have a couple of larger scale solar setups in their neighborhood thanks to the proliferation of Solar Group Buys and government incentives. In the vast majority of these setups solar panels are fixed onto the roof of a building pointing 45 degrees South (when in the Northern Hemisphere). Fixed solar setups are by far the most simple way of powering a home or building as the require very little maintenance and upkeep. We frequently tell people who contact us that it's much more cost effective to NOT build a solar tracker for your home but instead just add more solar panels to your array.

However, the most efficient way of gathering energy from a single panel is via a solar tracker. This allows the solar panel to be in the optimal position all day long which increases the energy generation by over 20%. This kind of system is perfect for buildings or facilities that don't have a lot of flat roof space or situations where solar energy is inconsistant.

We're going to demo an Active Solar Tracker that moves on both an X and Y axis. This kind of system uses a micro controller, or well designed analogue circuit, and sensors to keep the solar panel in the right position. While this does make for a really slick demo that you can show off using a flashlight in a classroom, it also uses a lot of power and has many moving parts.

A Date Based Tracker or Scheduled Tracker uses date and time information to follow a set path every day since the movement of sun is 100% predictable. One such example of this is the project by Instructable user pdaniel7 and it uses two servos in a novel design to very efficiently track the sun. The key to this type of design is making sure the software is set up to be most efficient for your exact location.

A Person Powered Tracker is one that is powered by people. This can range from something as simple as a person changing the angle of their solar panels a couple of times a year to putting a panel on a rotating platform attached to a weighted pulley that is reset each morning. For instance a local farmer we know has several solar panels mounted on PVC pipes in his yard. Every month he slightly changed the position and angle of them. It's very simple and helps gain him a few more amps of energy out of his system.

Step 2: Upgrades to the Original Design

Our original version was more concerned with physical mechanics than it was about electronics and this proved to be its biggest downfall. When we started redesigning this project we made the decision to change our wiring from a 'bundle of wires' approach to an easy 'plug and play' approach since our audience tended to be students.

The first thing we did was create a custom Arduino Shield for plugging in the servos and sensors. The original design used a generic Arduino Sensor Shield that worked well for the Servos but not well for the Sensors. Our Shield is nothing special overall and it was by far the most simple aspect to design. (We've also used it for other projects where we needed to plug in a simple sensor and a servo.)

To keep the sensors in place we designed a very simple sensor holder that could easily screw down to the wood. A set of pin headers then allowed us to connect the sensor PCB to the shield with female jumpers. Trouble shooting this setup is far easier than our original 'bundle of wires' or a breadboard.

Lastly we went over our design and changed quite a bit of the wood from quarter inch to eighth inch to cut down on weight. While we never had any reports of people having issues with their 9G Servos burning out the less weight they were moving the better. This also cut down on cost and shipping weights for us since we tend to ship a lot of kits internationally.

Step 3: Parts Needed

To build this project you're going to need the following items:


  • Screw Drivers
  • Computer
  • Laser Cutter or CNC Router if you're cutting out the parts yourself


  • Arduino Uno
  • Solar Tracker Shield (Pin Headers and 10,000 ohm Resistors)
  • Sensor Holder PCB (Pin Headers and Light Detecting Resistors)
  • Female to Female Jumper Cables
  • 2 x 9G Sized Metal Gear Servos


  • Laser Cut or CNC Wooden Parts
  • 4 x M3 Screws + Nuts in around 14-16mm length
  • 4 x Size 2 Wood Screws at a 1/4th inch length, or some M1 Screws of similar length
  • 21 x 8-32 Screws at 1/2 inch length
  • 1 x 8-32 at 3/4th inch
  • 1 x 8-32 Screw at 2.5 inches in length, and an optional nut
  • 24 x 8-32 Nuts
  • 4 x Rubber Feet


  • Solar Cell (6V 200mA is what we use)
  • LED Volt Meter
  • Wire to connect the two together

Most of these parts are pretty easy to find. If you want to get your own PCBs made up you can do so through or other PCB services. Make sure you get Metal Gear 9G Servos for the extra torc they provide.

Lastly, we do in fact make and sell a kit for this that includes everything. We also sell just the wooden parts and just the electronics as we received a lot of requests for option. Our kits are already soldered up, include all the parts you'd need to build this project, and we provide customer support.

Aaaaaaaaaand before we start getting lots of angry weird comments from people, this is a 100% Open Source project. Feel free to make your own using our directions.

Step 4: Preparing the PCBs

If you're using our kits or parts the two PCBs will already be soldered for you.

If you want to get your own made up you can find our PCB files on our GitHub Repo and then use a service such as OSHPark to get some PCBs made up. You'll also need some 10,000 Ohm Resistors, Pin Headers, and Light Detecting Resistors to populate the boards.

In general this is pretty easy through hole soldering. Be sure to use a soldering iron with an appropriate tip on the end.

Shield Soldering: Solder the Servo and Sensor Pin Headers facing Up and the Arduino connecting pin headers facing down.

Sensor Soldering: Light Detecting Resistors face Up, Pin Headers face down.

We also have a PCB designed that uses an Arduino Nano, but it's untested. If someone does make one of these we'd love to see it in action!

Step 5: Preparing the Wooden Parts

We're lucky enough to have both a Laser Cutter and CNC Router in our workshop which makes cutting out parts very easy for us. Most people will need to seek out a machine at their local Maker Space, University, or Library. Any desktop laser cutter or CNC router will be able to handle the 1/8th and 1/4th inch wood we're using. We've had several student groups successfully build this project with hand cut Foam Board or Cardboard.

One thing we DO NOT recommend using is Acrylic. It's very heavy and dense which may overpower the two Servos.

PDFs with vector lines can easily be found on our GitHub Repo. Throw these into your preferred laser cutter software, inkscape, or other drawing software. Please note that we do have both CUT lines and ETCHING lines in our files.

If you wanted to simplify this project you can try eliminating the Y Servo controlling the solar cell platform and then just manually adjust the Y Axis. This would turn it into a pretty nifty Single Axis Tracker.

We do have a lot of requests for JUST the laser cut wooden parts. We do sell them as an option on our website and make sure to send all the appropriate screws along as well.

Step 6: Attach the X Servo, Legs, and Base

Note: There are lots of way of putting this project together and the order in which you build it doesn't really matter. If you'd like to view some line art style directions you can do so with the directions on our website.

When building the first step is to attach one of the servos to the Circle Servo Mount.

Use the screws that come with your servo and attach it to the bottom of the wooden piece. This is the side WITHOUT etching on it.

Then attach the four Legs with one 8-32 Screws and nuts. Don't screw them in all the way, leave some wiggle room.

Lastly connect the four legs to the large wooden Project Base piece with four more 8-32 Screws and Nuts. Once they're secure tighten up the other four screws on the Circle Servo Mount.

This would also be a good time to put rubber feet on the bottom of your Project Base wooden piece so the screws don't scratch up your table.

Step 7: Attach the Y Servo and Build the Center

Use the above diagram to build the Center parts.

Attach the servo using the screws that came with it. It doesn't matter which side of the wooden piece you use, just that the servo body is pointed inside.

Next, loosely connect the two long Rectangle Pieces and the two Long Screw Guide pieces.

Step 8: Attach Servo Horns

Note: This is by far the most annoying part of this build. If you break a servo horn don't worry, you have extra for a reason.

Attach one of the X shaped Servo Horns, that came with your servo, to the large Center Circle piece. You'll be screwing it into the underside, which is the side without etching on it. To do this use two of the small #2 wood screws.

Do the same thing with one of the two Triangle Wings using another Servo Horn.

Step 9: Connect Center and Base, Home the X Servo

Connect the Center Circle piece you just attached a horn to and connect it with the Y Servo Center pieces from before. Connect the pieces and use four 8-32 Screws and nuts to hold it together.

Then, place it onto the Base using the Servo horn as your connection point. DO NOT screw it into place yet.

Homing the X Servo

Using the servo horn now connected to your servo, rotate the servo all the Clockwise. (You can also use one of your left over Servo Horns for this as well.)

Pick up the Center and place it down in what would be it's furthest counter clockwise position. Use the corner of the Project Base as a reference point.

Lastly use the very small screw that came with your servo to screw the horn into the servo. It helps to have a screw driver with a magnetic tip if you can.

Step 10: Building the Face, Home the Y Servo, and Connect Everything

First, screw the Sensor PCB into the Face Plate using your one half inch (or a 3/4th inch) 8-32 Nut and Screw. Then attach the two dividers around it using more 8-32 Screws.

Next, screw the two Triangle Wings into the Face Plate.

Make sure the Wing that has the Servo Horn matches where your Y Axis Servo is.

Homing the Servo

We're doing the same thing here. Turn the Servo all the way Clockwise using a servo horn.

Then attach the entire Faceplate so that it is nearly vertical, yet not knocking into any other wooden parts.

Connecting Everything

The 2.5 Inch Screw connects one side of the Face Plate with the Center via the large laser cut hole.

Then use the other very small servo screw to screw the horn into the Y Axis Servo.

Step 11: Attach the Arduino and Connect Wires

Lastly we need to screw our Arduino into the Base Plate using some of the M3 Screws and Nuts. We typically only use two screws but we added holes in for four. Then attach the Shield to the Arduino.

Plug in the Servos to the Shield. Be sure to connect the Horizontal Servo to the X Axis connection and the Vertical Servo to the Y Axis Connection.

Match up the five connections between the Sensor PCB and the Shield, they're both labeled. Connect all four wires.

Note: If you're going to have problems, it's going to be because you wired something up wrong. When in doubt double check the sensor wires and double check that your servos are in the correct spot.

Step 12: Upload Code

Our code is quite simple. It compares the light hitting each of the four Light Detecting Resistors and tries to make them even. This is also a very inefficient way of doing things and by no means would this scale well to larger projects. The biggest advantage of this code is that it's interesting to watch. The tracker will follow a flashlight very easily. The biggest downside is that it's not particularly accurate and if you leave in the sun all day it won't move very often. You can tweak the code to make it more sensitive, but it's a lot of trial and error.

If you wish to write your own code, or try something different, awesome! Be sure to share a link to it in the comments.

Using the official Arduino software upload this code to the Arduino.

If your servos and sensors are plugged in you'll see it jerk to a 'Home' position, pause for a second, and then move again.

Step 13: Common Questions and Answers

Common Problems people call us with.

Q1) It's in the sun and not working! What a rip off!

A1) Is it plugged into a USB power source? The tracker isn't self powering and is entirely run from the USB cable going into the Arduino.

Q2) The head is violently smacking into other parts or the body!

A2) You need to 'home' the servos again. We need to give the Servo limits. (This can also be done in the code as well)

Q3) It's not moving very much, how do I change that?

A3) Try using a flashlight in a low light room. It can be overwhelmed when outside in the sunlight.

Q4) My Arduino won't upload. What am I doing wrong?

A4) Make sure you have drivers for your Arduino installed, make sure that you've chosen Arduino Uno from the boards list, make sure you've chosen the right communication port.

Q4) This is a total rip off! How dare you charge that much for a kit! You guys suck.

A4) Thanks for that insightful comment even though it's not a question, did you come here from YouTube? Yes, we do charge money for a kit version however we give you all the components you need and provide real, live, customer support for you. If you don't want to buy it from us make it yourself with our Open Source Files and this instruction guide.

Step 14: Embellishments

When we do our Kit version of this project we also include a 6V 200mA solar cell as well as an inexpensive LED Volt Meter. This small solar cell won't do a whole lot but you can get some data off of it.

We usually attach the solar cell to the Face using velcro or foam tape. Please keep in mind that while you could technically attach a giant solar panel to this project, you'd instantly crush it. Too large of a solar cell would also add extra strain to the Servos. (Larger trackers would want to use a geared stepper motor.)

In our laser cut files you'll find a simple holder for the LED Volt Meter which can be attached to the Base using two more 8-32 Screws. We use wire nuts to connect the Volt Meter to the solar cell. These types of Volt Meters are powered by their source, in this case the solar cell. Black wire to Negative, Red and White wire to Positive.

Step 15: Enjoy!

We hope that this update helps a lot of people out and gets even more people interested in creating their desktop solar tracker. If you have questions, comments, or create your own please post a comment below. We love seeing what fun variations people come up with.

If you're interested in any of our parts or supplies grab them off And as we've said numerous times, this is an Open Source project, so feel free to use your own parts and supplies as much as you want.

PCB Contest

Participated in the
PCB Contest