During the summer of 2011, I was near my home when the power went out. At first I figured it was temporary and we waited for the power to come back on. After a few minutes and some checking, it was clear the power wasn't coming back on any time soon. The outage ended up lasting for nearly 12 hours at my house, with an outage area covering most of San Diego County.
The lessons learned were clear- we lost nearly everything in our refrigerator and much of what was in our freezer. We didn't have enough flashlights, batteries or even candle holders. The one portable solar charger I had didn't seem to work very well and took most of the day to charge.
The next day, power was restored and things returned to normal rather quickly- but it was clear we were ill-prepared to deal with another outage without some major changes. We didn't go off the deep end and modify our cars for the zombie apocalypse, and we didn't feel the need to go buy large amounts of firearms either. We were left with the clear message that we needed another way to generate power during the next outage.
The idea seemed simple enough- get a solar panel and attach it to a battery and inverter. After doing some research I quickly found out a key weakness for small solar panel arrays: they are most productive when they are pointed directly at the sun. This meant that with my simple experiments, I had to constantly re-position the panel to keep it pointed at the sun and charging the battery.
I thought that it would be a great idea to automate this with a computer- possibly one that’s very efficient. It was a good idea- and I wasn't the first to think about it. There are many of these devices and inventions out there- usually called “2-axis solar trackers” or just “solar trackers”. Many of the devices I saw were by hobbyists and students- proof of concepts made with small servos or medium sized ones made of plywood and set on tabletops.
I wanted one that I could leave outside- a truly outdoor solar robot.
The core of the idea was a GPS-driven device that could calculate the position of the sun and point a single large solar panel at the sun.
I bounced around ideas and sketches of what it would look like for several months, usually in the early morning hours before work. I knew that the concepts would be a tilting and rotating solar panel, some sensors to track position, and a small computer to do the math. The math is something that set this approach apart from others- many other builds focused on sensing light sources. I wanted one that would need no calibration by the user and wouldn't get confused by reflections.
Early build ideas started out with wood mock-ups for a frame- one that would hold as many as two full-size car batteries. The trouble with this size is that it was too heavy for most people to move. I divided the work into three key groups: a base, a computer module, and a tilt bracket to hold the panel. I wrote down the key requirements for the project:
- Easy to use
- Very power efficient (the device had to generate more power than it used)
- Capable of using full-size solar panels
When I was able to take my sabbatical from my job, I jumped head-first into tackling these problems. I knew of Arduino and even owned an early version, but I never really did much. I started tackling my problem on three fronts:
- Calculating the position of the sun
- Finding the right motors for the job
- Designing a frame to hold it all
I ended up going through major iterations on each area- sometimes major changes in the design. The motors I needed to use changed as I learned about strengths and limitations of some. The computing platform changed- I tested out the BeagleBone from Texas Instruments, an Intel Atom configuration, and later I even tried using an Arduino Yun with bash scripts. Each had its own unique challenges, but I ended up using the humble Arduino UNO. You can see a gallery of my early builds here.
The frame itself went through major changes- I started out modeling sheet metal with plywood. Plywood was easy to cut and work with, and relatively cheap. It taught me volumes about how something can look good in a sketch, but can be impossible to assemble.
After more than a year of iterations, it was clear that I had a new goal- to keep the number of parts to a minimum. I knew that a successful project wasn't going to be something I had to build once, but something that could be built cheaply as well. The number of bolts in the design shrunk from more than twenty to a handful. The number of parts shrunk as well. If you’re interested in reading more about the engineering aspects of the build, check out my detailed description here.
One of the key questions for me loomed throughout the process- how would I handle the completed project? Would I attempt to make a business out of the product, or would I somehow share the project with the world? Surely anyone would like to be compensated for their work, but this was intended to be a learning experience and a way to benefit others. Simply put, if I could help people use solar panels more efficiently, maybe more people would use solar panels.
A key element to the success of the project is because of the kind, supportive and helpful community that surrounds much of the Arduino community. The most helpful by far is the Adafruit forums, where I frequently sought out help ranging from simple Arduino help to complex subjects. The forum members were always kind, patient and helped me work in the right direction, even when they didn’t have the answer. One thing that sometimes hindered me was that I was unsure if I was making a commercial product- so I didn’t know if I wanted to share my whole sketch. I am certain now that if I had shared more early on, I would have saved myself lots of headaches.
About a year into my project I realized I needed to assess the business viability of the project, something I’ll admit I should have started with. After doing some research, I found many different approaches to tracking the sun- all of which required calibration and assumed a fixed installation. It also appeared there were many players in the field, but none of them seemed to be very successful. Since I already have a great job, I was reluctant to pursue this as a business opportunity. I decided instead to make this entire project open source- everything from the code to the hardware designs.
As I iterated through the many designs, I found some members of the official Arduino forum to be helpful- and some to be fairly typical, grumpy members who were quick to criticize and pick fights. I’m used to that to a degree, but it was in stark contrast to the Adafruit forums. To the Arduino forum’s credit, one user messaged me directly to help solve a problem that I had been stuck on for more than a week. This project introduced me to several key tools that Makers will recognize quickly- Github for sharing code releases, Fritzing for sharing breadboard designs, Arduino IDE for sketch programming, and Adafruit’s Show and Tell to name a few.
The possible uses of this product are quite diverse- while this product was never intended to be for a large solar array, it has many uses for portable deployments:
- Rural villages in developing countries- reducing the cost by reducing the number of solar panels or increasing the output of the same number of panels.
- Emergency use by home owners or renters- a small panel can be enough to power a refrigerator to keep food from spoiling.
- Long term camping where a generator would be too loud or require too much fuel.
- A green solution for those wanting to camp or power a cabin with something that doesn't rely on fossil fuels.