Build a heliostat for solar heating and lighting


My solar tracking mirror array or “death ray” as it is affectionately referred to by my friends is actually a heliostat. A heliostat is technically any device that tracks the movement of the sun, but most often the term refers to a device that orients a mirror to reflect sunlight continuously onto a specific target.

My heliostat consists of an array of 7 mirrors, each 1’x4′ in size mounted to a 4’x8′ plywood backing reinforced by a 2×3 frame to prevent warping. The frame is supported by a welded steel gimbal mount allowing rotation about both horizontal and vertical axes. Each axis is equipped with a stepper motor and leadscrew to adjust the position. In spite of the size of the heliostat, relatively small motors can be used because the system is well balanced. Using two stepper motor controllers wired to a laptop inside my home, I can control the orientation of the mirror array to reflect sunlight continuously onto a specific target on the north side of my home.

Heliostats are not a new concept. They have been used for very large projects such as two 10MW solar thermal electric power plants, Solar One and Solar Two. See The Solar Project for more details. I’m also aware of their use in some residential water heating applications; however, I have not seen any reference to their use for heating a home’s interior by reflecting sunlight directly into the home as I am doing.

Ads by Google

Heliostats provide both light and heat (much like the sun itself… go figure). On warm days, I target a relatively small office window, providing plenty of natural lighting for the occupants (normally electric lighting would be used all day). On cold days I target the glass sliding door of my bedroom. The door is large enough to accept all the sunlight reflected from the heliostat. On a clear day at solar noon, this amounts to just under 2kW of power, and lights up the room like nobody’s business. It’s quite a surreal experience waking up to sunlight streaming in through a north facing window. One of the benefits I hadn’t anticipated is the device’s use as a solar alarm clock.


Here’s an image of the front of the heliostat. This is about all you ever see from inside the house. One thing that surprised me about the project was how pretty it turned out. People who see it for the first time often don’t realize they’re looking at mirrors.


This is the back of the array showing the gimbal mount and the motors. Note the gimbal mount is fixed to a 2×4 with a point cut on the end that I simply pounded into the ground with a sledge hammer. This is just a prototype. Were I to install it permanently, I’d use something a little more rigid (the 2×4 tends to wobble a bit in the wind).

This is the back of the array showing the gimbal mount and the motors. Note the gimbal mount is fixed to a 2x4 with a point cut on the end that I simply pounded into the ground with a sledge hammer. This is just a prototype. Were I to install it permanently, I'd use something a little more rigid (the 2x4 tends to wobble a bit in the wind).

Here is a closeup of the drive system showing the stepper motors and lead screws. The stepper motor controllers are built into the same black boxes that contain the stepper motors. I build my own stepper motor controllers (my business is motion control, so this was the easiest solution for me) but they could have been purchased off-the-shelf too. Because the array itself acts as a roof, I haven’t found it necessary to provide much in the way of water proofing, though this may prove to be an issue over the long term. I do keep the lead screws well greased so they don’t rust


Here is an image of the initial software I wrote quickly in VB for Applications in MS Excel. For initial testing, I just calibrated manually by adjusting the mirror on target at a few different times during the day. I then matched a 3rd order polynomial to the calibration points to calculate proper motor position for any time of day. Every 10 seconds, the computer sends an instruction to each motor controller to move to the calculated position. This type of calibration doesn’t account for seasonal variation so I had to re-calibrate every few days as the heliostat drifted off target. Eventually I added all the proper math to calculate desired motor position based on the linkage geometry and solar position so the system doesn’t require any adjustment. See the software section below for more details.


Here are two images showing what it looks like near mid day when I’m targeting the upstairs office window.

heliostat_6_office_outside heliostat_7_office_inside

This is a picture of a smaller solar project, my solar hot dog cooker, with the heliostat visible in the background, targeting the sliding glass doors of my bedroom at the right of the image.


And last but not least, here’s yours truly, standing next to my solar house cooker to give a better idea of scale.



This article isn’t meant to be a detailed set of instructions for building a heliostat. I built mine with parts that were available or easily sourced by me, which may be very different from the parts available to others. However, since a few people have asked where they can get the components, I will provide some information.

Support Frame

The support frame for mounting the mirror in such a way to allow rotation about horizontal and vertical axes was welded from 1″ x 1″ square tubing with 1/16″ wall thickness as well as some round and flat bar. Below is a rough sketch showing the way I cut and assembled the pieces.

Heliostat Gimbal Mount Drawing


The motor I used for turning the heliostat left/right is an ordinary size 17 rotary stepper motor with a piece of 1/4-20 threaded rod attached to it’s shaft. This is the lower of the two motors in the images. A suitable motor is Jameco part number 155460. This is a little weak for the application, though it is adequate. For a little more thrust, try Jameco part number 238538. The price for either of these is under $25/ea US. These are not the exact motors I used but they are the least expensive I’ve found that are available to the average consumer.

You could use the same part number for the motor that tilts the heliostat up/down, but I found it more convenient to use a motor with non-rotating leadscrew. This is essentially a motor with a threaded hole through it’s center and a matching leadscrew. Rotating the motor pulls the leadscrew in or out (assuming the leadscrew is prevented from rotating by some means). A suitable motor is EAD Motors part number L1MGE-H12XX-0. This part number is for just the motor with no leadscrew. The leadscrew required is an ACME 1/4-20 leadscrew, which I already had (you cannot use 1/4-20 threaded rod). Since the average joe probably doesn’t have ACME 1/4-20 leadscrew lying around, you’d likely need to order a different part number that includes a length of leadscrew. Price for this motor is around $70 US.

Note the “tilt” motor is a lot more expensive than the “turn” motor, so if you’re on a tight budget, you might consider using a rotating leadscrew for both axes. If you do you’ll have to change design a bit. In the current design, I mount both motors to the T-frame. If you use a motor with rotating leadscrew for the “tilt” motor, you should mount that motor to the back of the mirror array and mount the leadnut to the T-frame. Then as the leadscrew extends through the nut, it won’t interfere with anything else.


I used my own controller designed for my work (my company specializes in precision motion control products). This controller isn’t available as a stand alone product. It’s built-in to various products we sell. However many stepper motor controllers can be purchased off the shelf. To work with the above motors, you will want something capable of driving a 12V bipolar stepper motor with up to about 750 mA per phase. You also want something that can be interfaced to a computer via serial port, USB, or some other means.

A suitable controller that I’m aware of is the Allmotion EZ10EN. It sells for $175 US each. You can also try a Google Product Search on Stepper Motor Controller.

Ads by Google


The guiding principle behind my mirror sourcing efforts was “cheap cheap cheap”. For this type of application, precision and/or flatness is not much of a concern. I found some 1’x4′ mirrors on sale for around $8 each and snapped them up. I’ve since seen similar mirrors go for as little as $5 each. Mine are glass, which is not the most durable material (an array of mirrors may make a tempting target for any kid with a slingshot). If you can find mirrors made of acrylic or polycarbonate or another more durable material at a reasonable price, go for it.


I automated my heliostat by adapting this program which is an Excel workbook with custom functions for calculating dawn, sunrise, solar noon, sunset, dusk, solar azimuth, and solar elevation. It’s based on formulas from This program only calculates solar position so I had to adapt it to calculate the mirror position required (essentially aiming the mirror exactly half way between the solar vector and the target vector).

Update 2009-03-02: In the comments below you can also find reader contributed code in BASIC and C for calculating solar position and mirror position based on time and target position. See the comments for more information.



On a clear day, the solar power available at the earth’s surface is about 1  kW/m^2 assuming a collector oriented towards the sun. Where I live (around the 49th parallel) the sun reaches a maximum of about 60° above horizontal at mid day in the summer. The sliding doors of my bedroom are about 20° above horizontal, relative to the heliostat. Therefore, when the heliostat is targeting the bedroom, the mirror surface is about 20° ((60°-20°)/2) from perpendicular to incoming rays. Therefore, the captured area of sunlight is about cos(20) times the area of the mirror array. The area of the mirror array is 1.22m*2.13m=2.6m^2.

Therefore, the power available to the array is:

Power Available = cos(20) * 2.6m^2*1 kW/m^2 = 2.44 kW

The array is constructed of common glass mirrors which typically reflect around 90% of the light that hits them. Ordinary window glass typically reflects about 4% per surface (ie it transmits 96% per surface). A double-paned glass door has 4 glass surfaces (two for each pane). Therefore, the transmitted power can be calculated as:

Power Transmitted = 2.44 kW * 0.90 * 0.96^4 = 1.87 kW


The efficiency is simply the power transmitted divided by the power available.

Efficiency = (1.87 kW)/(2.35 kW) = 80%

Note that flat panel solar water heaters (which are the most common method of active solar heating) have an efficiency of only 30-40%; less than half that of a very simple heliostat. In addition, most flat panel collectors or passive solar heating methods don’t track the sun, and therefore the “power available” per m^2 of collector area diminishes more rapidly on either side of mid-day. A heliostat, on the other hand, can capture early morning and late evening light, and multiple heliostats can be used to reflect light through a single, relatively small, north facing window. For these reasons, heating a home by this method could be an even more efficient process than passive solar heating through large south facing windows. A home designed to take advantage of such a solar heating system would have multiple heliostats reflecting sunlight through a single relatively small north facing window onto a thermal storage and distribution medium (ex a brick wall or a large water tank) inside the home.

Ads by Google


I originally posted this article on a different site. It recieved a number of comments which I have included below. -Rob

Clay said … 01:49, 25 March 2008 (PDT)
Have you considered running the heliostat from a PIC or something similar? Do you have low e windows, and does that kill the heat gain? Also, how’s the finish on your office ceiling holding up to the sunlight? I really enjoy your website, btw!

Rob said … 09:50, 25 March 2008 (PDT)
I’ve considered using a PIC (that’s what we use in our motor controllers), but I’m currently making manual adjustments every couple weeks for seasonal variation in solar path so the laptop is much easier. I’ve also considered using a cheap Palm III (from back when they had serial ports). Currently it’s heating season here and I heat with electric so the 50W or so consumed by the laptop is not a concern. My windows are not low-e. There are low-e windows designed both for increasing solar heat gain or for decreasing it. Which type of window you want depends on the relative intensities of your heating and cooling seasons. My office ceiling seems to be holding up so far (after 1 summer). I’m currently targeting the bedroom. I did get a hot spot one day on my bed frame (which is a dark color so it absorbs well) and blistered the finish a bit.

Chris said … 13:29, 30 March 2008 (PDT)
Love the idea. So, are you able to heat your entire house or just your hot water? What was your final cost for the project?

Rob said … 18:16, 9 April 2008 (PDT)
Chris, no, this deosn’t come close to heating my entire house. In Vancouver, where I live, direct sunshine is rare in the winter so this is only really useful for heating in the spring and fall. I’d estimate that it offsets about 750-1000 kWh of energy (heat in the winter and light in the summer) that I’d otherwise be supplying with electricity. That’s only about 1/20th of my total energy consumption, saving me around $50 to $70 per year. Total cost to me (not including my time) was around $300, but it would be much higher buying off-the-shelf motor controllers.

Klaas said … 13:26, 18 April 2008 (PDT)
Very nice. last summer I did put a sheet of plywood, covered with an aluminium coated plastic foil in the garden to reflect the light of the sun into my windows on the north side of my house. Worked lovely. Too bad I had to go into the garden to adjust the crude mirror every 10 minutes or so. Since I live at a lake, I did get three beams of sunlight! One direct at the south side of the house, one beam of light reflected from the lake: also at the south side of the house and finaly the beam from the mirror at the north side!

Dave said … 22:10, 29 April 2008 (PDT)
Two comments: I’ve thought of three ways to mount collectors (or heliostats) so that simple clock motors or constant speed drives could track the sun without complicated steppers, controllers, and trigonometric tables. They would use an altazimuth mount in which the altitude is adjusted manually ~1 per month and a motor drives the azimuth axis on a daily basis. The azimuth sun tracking could be accomplished with 1]a side hinge mount, 2] a curved rack support with the panel on wheels or 3] a center pivot. If the rack’s curvature or the linkage to the pivots were designed with the azimuth curves in mind (e.g. an eccentric gear), a simple (linear) drive should track the sun fairly well. I have made drawings if anyone is interested.

brian said … 21:20, 9 May 2008 (PDT)
Hi, I live in a big old house in a downstairs room that gets no sun. Today I propped up a mirror in the garden and voila – a little bit of sunshine in my room! So that has led me to this page, and I have a couple of questions that somebody might be able to answer. Would it be possible to use a concave mirror fixed in position, so it doesn’t matter which angle the sun is coming from, it will always reflect onto the same spot? I would imagaine if the curve was ‘just right’ then the spot would be too small and concentrated that I’d set my house on fire, but wouldn’t there be some kind of way to make this work? Also I had another idea which is way too advanced for my project, but may be of some use to you science wizards out there. Instead of using complex mathematics to move the heliostat mirror into position, how about using some kind of sundial type system with light sensors that can tell the device exactly where the sun is. It could be set up to give the exact horizontal and vertical position of the sun, and would only work when the sun is shining…. which is handy

Brian said … 23:43, 14 June 2008 (PDT)
Hi, I live in victoria and was wondering about the posibilitys of making arrays of mirrors on appartment flat roofs. These would be aimed at mini “power towers” 6 or 7 ft high that would take in heat for water, or air heating or light for solar panels. They would track the sun too but it should be a manual time based tracking. Perhaps the mirrors would circle the tower during the day, perhaps cams would change the orentation during the day. But whatever works, I think it would be great if a stepper motor could control the entire thing.

david williams said … 14:12, 24 June 2008 (PDT)
I built a computer-controlled heliostat about 20 years ago to illuminate my house. It worked excellently. I wrote relevant software in BASIC which I’ll give to anyone who asks. Yes. It is possible to control a heliostat in other ways, using light-sensors or simple clock drives. Each method has advantages and disadvantages. Computer control is especially good for large-scale machines for power generation. My e-mail address is: [email protected]

Gaiatechnician said … 08:09, 5 July 2008 (PDT)
I think like dave! For uses like lighting, is computer control really necessary? My idea is on appropedia and instructables. It is pretty basic so far. I did a tiny model to see if it was geometrically correct. Anyways, all you need is 2 pointers, one to the target and one that points at the sun. The sun pointer is on equatorial mount so it can be driven by a clockwork. I use a dripper tracker (which can be a waterclock or controlled by a clockwork). The mirror points to halfway between the 2 pointers. I will use 2 strings on a spool or bicycle brake cable. Rob, you got to be really careful if you point 2 or 3 heliostats at the one place! Anyway, a big masonry project is nearly complete and I can try it soon. Brian

Derek Wrigley said … 01:11, 16 July 2008 (PDT)
From Derek, Canberra, Australia, Lat 35ºS . Hi Rob. Just seen your blog on heliostats. I have been experimenting with southern reflectors since 1991 (now up to Mk8 but have run out of windows to try them on! My first Mks were static panels which reflected about 3kWh/day into our cold, gloomy southern rooms, raising the room temperature by ~8º above normal. We all agree, as you seem to, that the light and cheerfulness is worth the effort on its own.

I have used polished stainless steel panels 1.2mm thick, about 1m high x the length of the window with the centre about gutter height and with the panel about 1.5 to 2m away from the window. This allows you to see out of the window unimpeded and without glare – the further away from the window, the more glare you will get due to thelower angle of reflection. As the sun gets higher in autumn the reflection recedes back to the window sill at floor level and in summer (when its not needed of course) it remains entirely outside the house.

My Mk 2 in 1998 was a large sculptural heliostat which uses an electronic (not optical) timer and windlass on the roof using S/S cables to rotate it at 1.875º every 15 mins which tracks the sun beautifully. It returns to zero around 6pm ready for a start up next day at 6am. I am now working on a louvred heliostat version suitable for sale in a hardware shop, but I haven’t got all the bugs out of it yet. Its still in the realm of DIY !

When I get my website organised properly I will put some info. on. In the meantime I can email a peer reviewed research paper I gave at our ANZ Solar Energy Society Conference in 2006 which gives all the calculations and growth of the project. Your efficiency ratio of 80% may be right on a power in/power out ratio, but I have calculated it at 47% efficiency (ie 47% of the sunlight entering a similar northern window using direct sun) – allowing for losses through glass, dirt on the window, early and late losses due to reflection missing the window (with static panels). However, there is no electricity used and virtually no maintenance. So far, absolutely zero interest from the housing industry which is stuck in the Middle Ages.

<[email protected]>

davea0511 said … 09:54, 23 July 2008 (PDT)
Has anyone tried using these to boost the output of existing solar panels? I’m not talking about pre-configured CSP – I mean using existing PV setups to only increase electrical output by 50%. I wouldn’t expect that 2X suns would cause overheating issues on standard panels.

david williams said … 16:24, 3 August 2008 (PDT)
A couple of people have asked for my heliostat program, so I’ll post it below.

In the late 1980s, I designed, built and programmed a computer-controlled heliostat. Its mirror reflected sunlight into my living-room, making it much brighter. It worked excellently with almost no attention for many years, until a neighbour’s tree grew and blocked sunlight from reaching the mirror. The computer was a Commodore VIC 20, which was old even then, and had only 4.5 kilobytes of memory. The program I wrote, in Commodore BASIC, fitted into that space and handled all the control functions. It even included a few “bells and whistles”. For example, at night-time the mirror was automatically parked face downward to reduce the buildup of dust.

That particular program would work only on a VIC, and I haven’t seen any of those for many years. However, I have recently taken the astronomical and trigonometrical parts of the program and made them into a new program which I’ll append below. It calculates the position of the sun in the sky, as azimuth (true compass bearing) and angle of elevation, as seen from anywhere on the earth at any time on any date. It also calculates the required orientation of a mirror if it is to reflect sunlight in any desired direction. With the addition of some code to enable the computer to control motors, this could become the software for a computerized sun-tracker or heliostat.

I’ll append two versions of the program. The first is in QBasic, and contains quite a lot of explanatory comments. The second version is in a very generic BASIC, and has been tested on many implementations of the language. It even has line numbers! Personally, I prefer the QBasic version. The coding is more elegant. However, the generic version is likely to be useful to more people.

It’s public-domain. Use it for any purpose, even commercially.


sunalignqbasic.txt (Version for QBasic and similar dialects)
(Generic BASIC Version)
Note: These files are in .txt format for ease of online viewing (click to view). They must be renamed with .BAS extension before use.

Ed Davies said … 15:32, 10 August 2008 (PDT)
At 22:10, 29 April 2008 (PDT) Dave said: “They would use an altazimuth mount in which the altitude is adjusted manually ~1 per month and a motor drives the azimuth axis on a daily basis” I think you mean a polar mount. The device Rob has built is an altaz mount. I agree with you, though, a polar mount would be easier and cheaper as there would only need to be one motor.

david williams said … 10:21, 11 August 2008 (PDT)
A sun tracker can work by just rotating once a day around a polar axis, with manual adjustments every few days to compensate for the sun’s seasonal movements. But a heliostat mirror has to bisect the angle between the sun and the target, and that isn’t easy to do mechanically.

A simple solution is to use a second mirror. Set up the rotating mirror to reflect sunlight along its own axis of rotation, i.e. toward one of the celestial poles. Then put a second, stationary, mirror to intercept the polar beam of light from the first mirror and reflect it in any desired direction. A bit of light is lost in the second mirror, but the whole machine is extremely simple.

Rob said … 13:05, 12 August 2008 (PDT)
Hi Ed and David, I toyed with the idea of building a “polar” mount with a single motor and adjusting the polar angle manually every few days. However, I did not want to restrict myself to a single target. I wanted to be able to push a button on my computer and change from lighting my bedroom to lighting my upstairs office.

Peter said … 16:58, 17 August 2008 (PDT)
Somebody else has done the math for you:
There are also commercial ones:
Cheers, Peter

david williams said … 11:41, 18 August 2008 (PDT)
It’s much more satisfying to do the math yourself. Then you really know what you’re doing.

jai said … 10:49, 23 August 2008 (PDT)
hey guys, its my first ever msg to u ppl. plz help me out. i have undertaken a project in which i need to TRACE the SUN through a HELIOSTAT and REFLECT all the rays to a SOLAR PANEL. n for this first of all i need the program which i can fetch in some microprocesser, n also want to know which microprocesser shall i use for the same, and other such details. guys m waiting for ur reply. plz reply me soon

david williams said … 11:40, 23 August 2008 (PDT)
Scroll up this page and you’ll find a program I wrote that will calculate how to point your mirror so as to reflect sunlight onto your solar panel. The program is in the BASIC programming language, so you’ll have to have some implementation of that. Implementations exist for pretty well any kind of computer. The earth turns slowly, so even a very small, cheap computer can do the calculations fast enough to keep up. Buy the cheapest one you can find on which you can run BASIC. Incidentally, I know of someone who has translated the program into Perl, and may soon put it into other languages too.

david williams said … 12:40, 26 August 2008 (PDT)
A guy named Bill Stewart has converted my SunAlign program (above) to Perl. He has posted his version on, and says that he will also put it here and in other places when he gets time.

Nancy said … 11:09, 2 September 2008 (PDT)
Hi David, i think it,s wonderful that you are sharing your SunAlign program with everyone. One thing tho’I have no idea on how to use it, how do i put this program into the laptop and where exactly in the pc does it go ie:- Control Panel or where. I have a great desire to build a strawbale home, and I am very interested in solar power etc, tho’ I need to learn ALOT of things and would appreciate any information anyone can help me with . Many Thanks

david williams said … 10:48, 3 September 2008 (PDT)
I’m afraid SunAlign isn’t really for novices. It is intended for people who want to build their own heliostats or sun trackers and who know enough about programming to be able to write software for their own machines. Every machine will be different, so I can’t write the code to run it. Only its designer can do that. SunAlign just shows how to do the astronomical and trigonometrical calculations that are involved. Try scrolling up this page. There’s a fair amount of information on it. Other sites such as also carry stuff about heliostats. Or just Google “heliostat”.Have fun!

Anthony Kaluta said … 06:15, 23 September 2008 (PDT)
David Williams wrote in part August 11. “a simple solution…set up a rotating mirror….” could David or anyone expand on the specifics,do not quite understand the concept? thanks Anthony

Rob said … 11:11, 23 September 2008 (PDT)
Hi Anthony, David was discussing a heliostat design that requires only one axis of automated rotation (this is desireable becaue it could then be automated by any motor or clockwork that can rotate at a constant speed of exactly 360° per day… no computers required). But the only way that a single mirror with just one axis of rotation can be used to reflect sunlight in a fixed direction continuously is if the fixed direction is parallel to the axis of rotation of Earth (i.e. “toward one of the celestial poles” as David put it). The reason why is difficult to explain in words but becomes obvious if you try to build it. So, if you want only a single axis of rotation, you are limited to two possible target directions. But using a second stationary mirror, you can reflect the sunlight from the rotating mirror towards any target you want. The rotating mirror still requires manual adjustment every few days to compensate for seasonal change.

david williams said … 13:50, 25 September 2008 (PDT)
Thanks for explaining it, Rob.

Dmitri said … 07:36, 26 September 2008 (PDT)
Neat page. There is also a good design that uses only an analog tracker and two gears called the “receiver axis” heliostat. is one. Also check out and and A different type another did

david williams said … 10:19, 27 September 2008 (PDT)

I may write a book someday about all the different designs of heliostats. Yes, the “receiver axis” (I prefer to call it “target axis”) design has some good points. It doesn’t need a computer, but it does need light sensors and electronics. It never needs re-adjusting unless the user decides to change the target direction.But it is nowhere near as simple or cheap to build as the rotating-mirror one we have been discussing.

Dmitri said … 19:14, 4 October 2008 (PDT)
Thanks for the code, David and Peter!!! I took and added in C code for the heliostat aiming portion that I copied from David’s QBasic program. I compared the results and they’re pretty close. I’m assuming the SPA program is more accurate. Cool beans!! Here’s another heliostat program by Duane that I found: I’m thinking about using old 5.25″ floppy drives for the steppers. They’ve got all the electronics already and are very easy to control through the parallel port! This guy is using a newer 3.5″ floppy drive that has a smaller motor though.

david williams said … 13:28, 5 October 2008 (PDT)
It is true that my program contains approximations. It does not compensate for refraction of sunlight in Earth’s atmosphere. It assumes the Earth is a perfect sphere. And it takes no notice of fractional days or Leap Years. The errors may amount to a few tenths of a degree. However, since the angular diameter of the sun in the sky is about half a degree, the errors are of little significance. Which *part* of the sun’s disk are we considering?! For solar-energy purposes, SunAlign should be accurate enough. And it is *much* simpler than other programs I have seen. I used old steppers I bought at a surplus store for my heliostat, and made the electronics myself. But if you can use the mechanism from an old disk drive, that would probably be simpler. Good luck with your project.

david williams said … 10:54, 7 October 2008 (PDT)

Dmitri: Would you be interested in translating the whole of my SunAlign program into C? Someone has already translated it into Perl, and I have received requests for a C version.

Dmitri said … 13:57, 10 October 2008 (PDT)
Windows executable:
Any problems, let me know.

david williams said … 10:37, 11 October 2008 (PDT)
Thanks Dmitri. For those who are scratchig their heads, Dmitri has translated my SunAlign program into C.

david williams said … 10:12, 14 October 2008 (PDT)

Dmitri: Have you tested the BASIC heliostat program that you got from Duane Johnson’s site (although it was written by someone named David Wells), either by comparing its results with those from other programs, or (better) with the real sun? I tried looking at its coding, and discovered some major approximations. For example, I don’t think it includes anything to calculate the Equation of Time or an equivalent angle. Without that, at certain times of year especially early November and mid-February, its predictions of the position of the sun would be wrong by about four degrees or eight solar diameters! At other times of year the errors would be less, but usually still significant.I have sent an e-mail to Duane about this, but have not yet received a reply.

david williams said … 11:00, 15 October 2008 (PDT)
I ran a check of that heliostat program by David Wells (modified by Duane Johnson), and found that its calculations of the sun’s position are substantially wrong, by about the amount that would happen if the program does not take account of the Equation Of Time. The program dates from the mid-1990s. I don’t know if anyone has noticed this problem with it. If not, nobody can have been using it for anything serious.Anyway… I suggest that nobody here should use it.

Wayne said … 22:13, 28 October 2008 (PDT)
I am trying to build a heliostat for lighting and heat to a room with a north facing window. I have modified a Sun Switch to track a reflection off of a mirror rather than the sun directly. Combining it with the rotating mirror idea seems to provide a elegant/cheap/simple… solution but I would like to also compensate for seasonal adjustment. Take a look at the sun switch on

david williams said … 10:27, 29 October 2008 (PDT)
I took a look at the Sun Switch info. It seems to be a sensor-controlled sun tracker. Unfortunately, it’s not easy to turn a sun tracker into a heliostat, which is what you want in order to reflect sunlight into your north-facing window. (I assume you are in the northern hemisphere, so the sun is more or less in the south. I recently made the same assumption and got the guy thoroughly confused. It turned out that he was in Argentina!) You might be better off to start from scratch with either a target-axis sensor-controlled design or with one controlled by a computer. Simple mechanical heliostats with two mirrors also work well, but need manual adjustments every few days to compensate for the sun’s seasonal movements.

Rob said … 01:01, 2 November 2008 (PST)
Hi David, I finally automated my heliostat based on actual calculations instead of curve fitting based on known reference points. I adapted this program which is an Excel workbook with custom functions for calculating dawn, sunrise, solar noon, sunset, dusk, solar azimuth, and solar elevation. It is based on formulas from This program only calculates solar position so I had to adapt it to calculate the mirror vector based on the solar position and target vector, but that wasn’t difficult. I have been using it for a couple months now and it seems to be working well. I’d appreciate hearing any thoughts you have about the program.

Ed Steg said … 09:49, 2 November 2008 (PST)
This is all very fascinating. I’ve been reading about solar one and two, heliostats in general, and other solar power initiatives when I stumbled across your page. This may be a stupid question, but it has been bugging me, so I’ll ask anyway. In a large commercial project, like Solar One/Two, based on your experience, what do yo think would happen to the economics of the project if the mirrors were fixed, but the target moved? I’m thinking of a large flat target that had long pipes side by side that were heated by the reflection from the sun and each pipe generated steam. At times, I realize that some of the pipes would be out of commission due to not being within the reflection zone. I’m trying to weigh the costs and benefits of moving/maintaining one large structure that has a lower energy efficiency versus moving and maintaining 100s or 1000s of smaller structures (the mirror mounts). I realize this is a bit off target for this page, but you have drawn a lot of good comments from thoughtful people of this subject, so I thought I would ask.

david williams said … 10:33, 3 November 2008 (PST)
Unfortunately, there’s a problem with maintaining focus. For example, if you have a paraboloidal dish and light is coming at it along its axis of symmetry, then all the light, after reflection, will be concentrated at a single point, the focus. However, if the light comes to the dish from some other direction, then after reflection it will not all go to one point. The focus will be blurred, often extremely blurred. Basically, the same applies if, instead of one big mirror, you use a lot of small ones. You can align them so they will all reflect light to the same point provided the light arrives from one particular direction, but if it comes from another direction the light will not be properly focused. So this boils down to the fact that, as the sun moves across the sky, the mirror(s) *must* move so as to keep the reflected light properly focused. Keeping the mirror(s) stationary and moving the target won’t work, at least, not well.Interesting idea, though, and it would work approximately for short periods of time, when the sun wouldn’t move very much.

Ed Steg said … 14:48, 4 November 2008 (PST)
David. Thank you. I had the feeling that I was missing something in my thinking and your comments on focus and why many small mirrors are used helped me understand this missing link. Ed.

Vaughn said … 12:52, 4 December 2008 (PST)
I am so glad I procrastinated on my solar trough setup. I was fretting over the cost of flexible line and insulation that could handle the heat. Using a heliostat (even a 1:1) to focus on my stationary parabolic trough removes the complexity and problems of the hot fluid transfer. For anyone interested, I intend to use the superheated oil from the trough to head a sand store in my basement and provide a few days of backup heat to my house. Great info guys!

Ralph Marlow said … 21:34, 10 December 2008 (PST)

I am thinking of something very similar. I am thinking of using aluminum flashing in place of glass mirrors. Flashing has a coating that must be removed before you can polish it. It is not easy to remove however. More work, but cheaper and wouldn’t break.

spider said … 17:58, 17 December 2008 (PST)
great article. 20 or 30 years ago I saw an article in a magazine called “Mother Earth News” . it used a double piston powered by freon to auto track the sun. basically it had a 4″ pipe cut in half length wise and lined with a reflective coating and mounted on each side of the collector A tube holding freon in each tube collector was piped to opposite sides of the cyclinder . as the sun heated one pipe it moved the other pipe out of the sun allowing it to cool. thus one side was pushing while the other side pulled. The north to south adjustment was on a manual screw and was only adjusted weekly.

Vaughn said … 11:09, 29 December 2008 (PST)
Hi Ralph, this past summer I actually made the trough to convince myself this was worth the investment. I did polish aluminum flashing using varying grades of sandpaper until I got down to 2000 grit then I finish polished using rubbing compound. A length about 5′ took around 45 minutes to go from ‘raw’ to polished and worked well. Very good mirror finish. I acheived 200 degrees F holding a meat thermometer at the focal with one hand and the trough in the other.

My full-blown design uses a tempered glass shower door (no UV treatment) to cover the trough and galvanized pipe (solder will not hold up to 600+ degrees)to transfer the oil. Approximately 25 sq/ft of trough area with only direct sunlight would have barely kept the house warm overnight after a sunny winter day. Add 4-5 heliostats and now we are talking!

My rant about the numbers – I like to hear myself talk 😉 — <rant> I usually try not to get too anal about calculations. Most items are rated to 80% of engineered value. So my general WAG is to go to 50% for homebrew, and any better is a bonus. 25 sq/ft is ~2 sq meters. Each square meter receives ~3Kw sunlight at my lattitude so ~6Kw received but an efficiency of 50% for a total 3Kw. Each Kw is ~3,000 BTU so I can collect ~9,000 BTU/hr without the heliostats. Using 5 heliostats with 25 sq/ft each (I can ignore the reflective losses since this is all WAG on the low side) I am now at 45,000 BTU/hr collection, which is more than my house loses over 8 hours on a zero degree day. So each hour of sunlight can now store enough heat for 8 hours – on December 21st if I get three hours of sun (ignoring any previous heat store) I will be good through the next 24 hours. </rant>

Thanks again to all that have posted for their ideas! Now to go find the heat transfer pump that can handle 600+ degrees farenheit…

david williams said … 11:14, 28 January 2009 (PST)
There’s a popular myth concerning trough reflectors: that they will keep sunlight focused onto their (linear) collectors throughout the day, so they have to be adjusted in the north-south direction only every few days to compensate for the sun’s north-south seasonal movements. In fact, this is true only at the equinoxes. At other times of the year, it can be badly wrong, except for a few hours around mid-day. For example, suppose the reflector is at latitude 50 deg. North, and the date is June 21, the summer solstice. At noon, the sun is 63.5 degrees high in the southern sky. So the trough is aimed in that direction. However, just before sunset the sun is low in the *north-western* sky. There is no way that the trough, aligned toward the noon-day sun, can focus sunlight onto the collector near sunset, nor at most other times of day. It will have to be rotated northward, about its east-west axis, during the afternoon, and southward during the morning.

Troughs that aren’t rotated during the day do work for reasonably well for a few hours close to noon, but not at other times. Their overall effectiveness is not good.

60 comments on “Build a heliostat for solar heating and lighting

  1. Hi, I have been working on something similar. I need mine to be ten times bigger. That would be ten 4×8 sheets of insulation covered with aluminized mylar to heat my 4,000 sq ft house by 10 degrees to last through the night. Each 2 kW reflector like this costs $25 for the mylar and insulation board. There is probably not a more efficient $/Wh solar system. You can strengthen the insulation boards to withstand maybe 80 mph winds using duct tape followed by 2 layers of 3M packing tape that covers 1/3 the 4×8 surface. This way, the boards completely and reversibly bend in strong winds so that your support structure only has to withstand winds on a much smaller wind-exposed area. Maybe 1/3 as much area. Otherwise, large flat arrays like this would require serious plywood and steel structures because of wind. I plan on my final design to be taken down and stored in less than 5 minutes, all ten 4x8s. The insulation boards weigh 4 pounds. So I would like to have 20 kW system and it should cost less than $1000 with support structures and tracking. $0.05/W is not bad. Since it will have tracking, that’s about $0.03/Wp. Compare that to Nanosolar and First Solar at $1/Wp.

    Like Rob, I estimated about 2kW per 4×8 and about 80% efficiency. The mirror glass surface reflects 4%, but it will be directly towards his target, so it’s not wasted. But then the light hits the actual mirror which loses maybe 5% and then it hits the air-to-glass interface again which will lose 4% so I come to about the same 10% loss for the mirror like Rob said. His comments on double pane are correct, except for maybe 1% better because of back-reflections. Also, a commenter stated at certain angles reflections is more. True, but only if you get close to 30 degrees angle of incidence. After that it gets bad very quickly.

    Here is a picture of my test set up:

    Here is my excel spreadsheet that is very accurate on sun intensity, and knows sun position within 1 degree for all locations, at all times, including leap years. Go to “tools” “macro” “visual basic editor” to see the equations. I have not yet modified it to be directly useful for heliostats. It helps to know the angle between an arrow pointing towards your target and an arrow pointing towards sun is = arccos(cos(sun_altitude – target_altitude)*cos(sun_azimuth – target_azimuth)). The direction your mirror is pointing is an arrow that is perpindicular to the surface and is half way between the target and the sun. Using this info, you can modify the equations.

  2. PS, a problem with heating your whole house is that you have to concentrate the mirrors on a window. I have used my three 4×8 sheets on a 6×6 window for about 6 days with great results. It is not completely safe. Under some circumstances, it might be able to cause a fire. The mylar has wrinkles that causes hot and cold spots in addition to being about 2.5 times the strength of the sun. 2 times the sun is very safe if you have perfect mirrors because there are mirrors all over the world accidentally causing 2x the sun’s intensity on all sorts of random surfaces (the sun plus the mirror’s reflection). I have tested up to 5 times the sun (actually 5*0.80 = 4 times) with the mylar for 2 days and it’s really serious business. The are solutions. I need 5 times the sun through two 6×6 bay windows to completely get off our gas heater for 24 hours on cold sunny days. This will get the house up to 78 F and down to about 68 F the need morning when the sun comes back. Only 3 times the sun (actually 3*0.80=2.4 times) in each bay window might be enough. Certainly only 3 boards decreased our heating bill by at least 30%.

    The reflectors need to be as close the window as possible so that less concentration occurs inside the house. This also means less adjusting is necessary if you’re ddoing it manually like i am in my tests. At anly 9 feet away, 3 adjustments per day are all i need with these boards because they are a little bit too long and too narrow. Any light coming into the house will age anything it hits. You can set up a black tile-on-plywood light-blocker inside the window to receive the heat and protect the inside. Some people complain about the heat reflecting back out the window, that represents a fairly small amount of surface area if the light makes it far enough into the house before hitting something off-white.

    The focal point will be the window, so any exposed material around the outside window needs to be white to prevent aging or possibly even a fire.

    An alternative is a black-box air heater set up outide the house with ductwork and a fan. My tests indicate these can easily be made at least 70% efficient without having to reset to the aluminum can method….just use a black-painted sheet of aluminum.

  3. Hi zawy,
    I used silvered mylar for my prototype but found it too difficult to get a flat enough surface. My heliostat was originally about 50ft from the house (to get out of its winter shadow) so it needed it to be quite flat to reflect light on target with any accuracy. Yours is much closer to your house so you can get away with it. Nice idea using foam insulation panels. I’ve been considering trying that out on my heliostat. If only I could figure out a way to get silvered mylar to lie pefectly flat, or find some other lighter mirror material than the glass ones I’m using now.

  4. Hi again zawy,
    I’m curious how you plan to add automatic tracking. I noticed in your picture you have 3 panels mounted on a large vertical stand. Is your plan to rotate the entire stand about the vertical axis and adjust the tilt of each mirror independently, or to somehow create linkages to synchronize the tilt of the panels so you can implement tracking of the entire setup (3 panels) with only two motors?

    PS. Even with my relatively flat mirrors I get hot spots and on one occasion blistered the stain on my bed frame. I’d be reluctant to aim more than two mirrors at any one window (except perhaps for temporary demonstrations for friends… “just go stand here or a minute” ;-)).

  5. If you were closer to your window, 3 mirrors would be safe. I believe one of your mirrors was not perfectly flat and at that distance, a very slight bend meant a strong amplification. Also, you’ve got a lot of possible overlap in vetical dimension so you could have had more than 2 on the same spot. I would estimate that it would take at least 4 times the sun’s strength, through the double pane, to blister a stain. For example, set the same stained wood in the sun, then use 2 mirrors to triple the sun’s intensity and i bet it would not do it. Nevertheless, aging furniture and carpet will cost more than the energy savings. I once used a $5 walmart “full length” mirror, about 1×4 feet, and smoked the stain on a dining room chair. Left alone, there would have been a fire.

    I do not plan on using the stand as a permanent solution. It’s for playing and testing. It was fairly easy to build and weighs only 11 pounds and can be disassembled. Here’s a pic.


  6. My window frame itself blocks 12%

    If my neighbors could see my back deck, this is what’d see on a cold sunny day right now:

    I have 4 dumbells at each corner to hold it down in the wind, so it’s a lot of trouble to adjust those 3 times per day. I once forgot the front dumbells and it flipped over backwards off the deck. It broke one of the 1×2 legs but otherwise no harm done.

    The mylar is supposed to reflect 95%. I don’t know how many winters it can last, but it can pay for itself in 1 winter, here at atlanta latitude. I spend $1,000 a year on natural gas heating and that’s not even keeping it at 72 F. R-50 in attic and about 2/3 are R2 windows. My goal is $200/year heating (cloudy days) and averaging 72 F.

    You can use concentrators or hot-air boxes to do air conditioning, but i have not seen any DIY systems. What you have to do is use the heat to dry out desiccant that is in a slowly rotating wheel. As it dries, it rotates into your house airstream to dry out the house air. This heats the air up a little, so you need to then send it through a heat exchanger and then send it through a swamp cooler that adds water back to the air and cools it off 15 F. Theoretically it can even be used for freezing. The problem is that the heat exchanger and desiccant wheel add complexity and the desiccant wheel may not be easy to build or it might be expensive to buy. You need on the order of 100 pounds of desiccant in the wheel. The COP factor is about 0.9 under best conditions. Theoretically it’s like a heat pump, but practically COP <1.

  7. Yes… there is overlap of the light reflected from adjacent mirrors in my heliostat design. I wouldn’t be surprised at all if there was a 5x concentration when the stain on the bed frame blistered. But it’s exactly because I haven’t figured out a reliable way to prevent those types of concentrations that I would be reluctant to add more panels reflecting into the same window. It’s difficult for me simply to move the heliostat closer to the house since it’s a two story house with the north facing windows on the bottom floor (ie I need some distance to get out of the shadow from the 2nd story). The plywood sheet on which the mirrors are mounted is not perfectly flat and produces unpredictable focal lengths. I may try a welded metal frame to avoid this. Then I would be more comfortable adding more heliostats.

    Looks like you have a great project. Please keep us updated.

  8. Hello,

    thanx for working on harvesting the sun. I took the C-Code from Dimitri and changed it a bit so that the algorithm will compile with the ‘primitive’ Compilers for Microprocessors like Atmega16 (AVR-Compiler).

    This C-Code has some output-source. If you want to use it for Atmega or so, simply remove the stdio.h-include and the printf’s in the main-function.

    I will try to learn some basics in maths so that I can understand and perhaps improve the algorithm. (Even if it is so good already!)

    The Source:

    All (=) Love, Ernesto ~:)

  9. the freon thing spider talked about was an invention of a company called zomeworks, headed by steve baer .
    they did some really nice inventions and are still around.
    the free program for sun tracking is one of the best things i have seen in many years, perfect!
    all i can hope for is to see the day that there is a version for dummies like me.
    hope you will put the program and its devopments in many places so that more people can work on it .
    looks like you are initiating the solar linux………..btw guess you all know the box by practical solar?

  10. Hey everybody,

    I’ve been visiting Rob’s heliostat project and the other projects that he has on and off for the last year. This is a really cool site. : )
    For the same amount of time, I have been working on a heliostat of my own and finally have it up and running.

    The hardest part was figuring out how to program it. I’ve noticed that a lot of people seem to be stuck at this spot also, so I decided that I would contribute my time in order to write a program that would make it easier for them.

    The link to it is

    This program will do all the calculations necessary for up to two heliostats and will also send signals through the computer’s parallel port for controlling the stepper motors that will adjust them to the correct orientation.

    In addition to that, you can hook up limit switches to your machine and the program will automatically seek them out and reset its position at the press of a button.

    It’s been working well for me, but it is still just a beta program, so be careful. I think I’m about finished working on it though because I can’t really think of anything else to add. At this point, I mostly just need people to test it out and confirm that it works on computers other than my own. For example, I don’t think it will work on a 64bit Windows OS. If someone needs it, I might be able to fix it, but I don’t have one of my own to test it out on and need someone who does.

    Anyway, I hope that someone finds this useful. In the mean time, I will keep working to try and make heliostats more accessible for people. I still have a lot to do though, so I had better run. Right now, I’m off to see if I can’t put together a set of plans for building one. : )


  11. Hi Gabriel,
    Your program is the most comprehensive I have seen. Thanks for contributing it. One consideration is that depending on the drive mechanics, there may not be a simple constant gear ratio between the stepper motor position and the heliostat angle. In my design, for example, the stepper motor rotation is converted to linear motion via a leadscrew which pushes on a lever arm to rotate the heliostat. The stepper motor position is related to the heliostat angle by a sine function rather than just a constant. Designing a program to meet the demands of ANY drive geometry without allowing modification of the source code is a challenge.

  12. Oh Yeah. You’re right! I didn’t think to mentioned it, but this program wouldn’t work for your particular heliostat design without modification. I need to bring that up somewhere in the program’s documentation (Which still needs some work anyway). Thanks!

    I’ve been making my own worm gears out of threaded rod and plastic, so a simple gear ratio would work in my case. My heliostat is based around a gimbal design, so the mirror is pretty well balanced, which is why I can get away with using cheap homemade worm gears.

    I will have to look into the lever arm design sometime to see if I can include it in the program somehow. I’m sure that it can move a much heavier load than my worm gears.

    Oh, and if someone did want the source code, I can put it up on my site for download. It’s something that I was planning to do eventually anyway. I just need to add some comments in the code and probably clean some things up.

    Thanks again!

  13. Maybe mylar film glued to the front of a piece of plate glass would work? Certainly two trips through the glass of a normal mirror can’t be helping efficiency.

  14. Hi Jon,
    I think two trips through the glass of the mirror makes little difference to efficiency. I believe you get about 4% reflection at any glass/air interface, but as long as the front surface of the glass is parallel to the back mirrored surface, both surfaces will reflect the light in the same direction, so it doesn’t matter.

    I’ve tried gluing silvered mylar to different surfaces in an attempt to make a panel that is lighter and cheaper than using glass mirrors. The issue with that is thermal expansion. Just about anything it might be useful to glue the mylar to will have a different coefficient of thermal expansion and as the temperature outside changes, the mylar will wrinkle scattering the light. An option I’m considering is using mylar bands about 1ft wide stretched across a metal frame with a tensioner (bungy cord) to take up the slack as the mylar expands and contracts. That could reduce the weight a lot, but I’m not sure how it would react in the breeze. It may resonate, scattering the reflected light.

  15. Hard to find good data, but I think cheap glass with iron in it actually absorbs about 5% per pass. But I agree, not a big factor.

    I wonder if mylar stretched across a flat surface would work? If there is nothing behind the mylar, I would expect the wind to change the shape (ie, depress the center).

    A thin sheet of of polished aluminum over some stiff flat surface might also work,

    My small heliostat is coming along – uses a glass mirror, vertical pipe, threaded rods, geared DC motors, a hinge, hardibacker.

  16. I should also mention that I have purchased foam insulation boards that already have a reflective film attached. One was white beadboard and was very shiny, the other was a stronger, stiffer foam but not as shiny. Never tried them in the sun, but never saw the surface wrinkle either.

  17. Looks like aluminum foil would be a better fit than mylar in terms of temperature expansion. I’ll try some on Hardibacker (using spray adhesive).

  18. I will try one for a friend. I will use a programmed clock and add motor motion depending on time and month. Kool website!!!

  19. The best way to position a heliostat is a good question, especially with DC motors where you aren’t sure how far it moved. I’m leaning towards a low cost webcam to see where on the wall the sun is directed.

  20. Hi Jon,
    A webcam with custom software to track the position of the reflected spot is a workable idea for a single heliostat which I think is your plan, but controlling multiple heliostats to reflect sunlight onto a single target would be more difficult. In that case an open-loop positioning system of reasonable accuracy is required, though a camera can still be used for periodic calibration of the open-loop system (ie one heliostat at a time is moved to reflect light onto a calibration target). This is the method used by some friends of mine working on an engineering/art project called The Heliomatrix which consists of an array of independently controlled mirrors that can be programmed to paint a surface with sunlight (like a laser light show… only bigger and slower).

  21. On thing I have discovered is that if the heliostat is close to the house, the system is not very sensitive to position. Ie, my 1’x4′ mirror is on a deck, 12′ from the house, facing large windows. I’m not picky about where it hits inside the house. +/ – 15 degrees is ok. So some simple system without feedback or sun position might be fine, even with DC motors.

    I expect to use some solid state relays to control four 12VDC/500ma power supplies.

  22. The lowest cost control I have found is to use an Arduino with the Adafruit motor shield. It has H bridges, so needs only one power supply to get forward and reverse for two motors. Motors were from

    Rob, I hope I’m not misusing your forum for discussing other systems.

  23. My system is great for putting a very bright rectangle on the wall, but I would prefer something a little more diffused. Something like a pebbled mirror, although I can’t think of where one would get that.

  24. I used the spa.c program to get an accurate sun position plus a little trigonometry and it works well with an arduino, adafruit motor shield and DC motors.

  25. Hey Rob cool idea, currently I’m trying to make a Heliostat that is stand alone…..I have looked at the basic program but would still like to see the formula’s so I can convert easier.

    Thanks for your time

  26. Hi
    Im impressed with your heliostat, it seems one of clearest and most straight forward designs on the net.
    I have a question.
    With high winds would it survive? Wind loading would obviousely be large as it is a pretty big sail. since the stepper motors are part of the supporting ‘stays’ via the threaded rods, are they able to withstand the pushing/pulling force – i havnt used stepper motors before and wondered whether they are designed to handle that force.
    I have installed a few Satellite dishes over the years and the wind loading figures for a 1m (40inch) diameter dish are pretty high.

    Thanks very much for your time

  27. Hi John,
    Balancing the pivot point to reduce motor thrust requirements has the side benefit that a constant pressure applied over the mirrored surface results in very little force on the leadscrews. Most of the force is transmitted to the frame rather than the leadscrews.

    Also, the design pictured uses a single sheet of plywood as backing which results in quite a nice sail, but I have since switched to a metal frame with a 1/4″ gap between each mirror which I find reduces the wind load considerably compared to a continuous surface.

    If the linkages are built well with no backlash, wind loads are tolerable. If there is any backlash in the system, then the wind load is amplified by inertia and will do more damage at lower wind speeds. My metal frame design has survived continuous operation for the past 2 years with gusts up to 50km/h. The only adverse effect has been loss of position reference (wind loads are enough to stall the motors, but not to damage them). The motors run for a fraction of a second every 10 seconds. If that happens to correspond with a high wind load, then the motors will stall and a small amount of expected motion will be lost. Over a long windy period that can result in the heliostat lagging behind it’s target position. In that case, it’s relatively simple to make a manual adjustment and push a calibrate button in the software to accept the current position as the correct one.

    Still, don’t expect satellite dish robustness from this design. It is a relatively cheap design built by someone (me) who was willing and able to tinker with it on an ongoing basis to keep it operational. Building for a consumer market is a different thing altogether.

  28. Hey cool..

    Err Um “ok, I think weve got a business here” lets form a company, chip in .. and go with what works so far..

    ie; standardized 8mm toughened Glass mirrors, no frames, corners rounded and sanded safe for kids, bonded directly to a Plazma Screen type motorised tracking brackets, independently powered from its on board PhotoVoltaic cells, wirelessly N networked and GPS position aware, totally controlled via the Home PC software.
    its so easy to visualize.

    Sell em at Wal-mart, simply dig six or eight postholes in the yard, concrete in the posts, plonk the hi status Branded units on top, and aim 2 or three at each window, load up the software, and thats it, it works! The air conditioner moves the heat around inside to balance room temperature and when you come home from work around 6:30 pm, the house is cozey and warm enough to coasts into the next sunny day.

    No more heating bills! And with PhotoVoltaic Solar Cell Trackers added to the system later on, no electricity bills either! Yeah!

    Ok, whos in, and whos is top class a International Patent and Trademark expert??


  29. Regarding Nrel Spa.algorithm Could use assistance with my slight understanding of C,finally have the program outputting azmith and zenith. need advice on how to change the output to a ratio in C, for driving a stepper motor,for instance azimuth is now 271.525644 how would I multiply by 860?,For any advice please note,have been using Linux, ubuntu mostly, for the past few years do not have any windows available. Thanks.
    Off subject comment: For several years ,have been using,receiver axis mounted electro mechanically controlled, twenty five, one square foot mirror tiles focused on high mount bathroom window, within the bathroom past the focal point have convexly mounted mylar reflecting and spreading heat to concrete bathroom floor. That bathroom is now a most pleasant room even being situated on the north side of the house.
    Nice forum,Best,Anthony

  30. Very cool idea. I’ve been collecting parts the past year of so to someday do this… in the mean time I’ve been playing with the concept and using the mirrors around the house to either bounce in more light from within the house or simply up my lumens by reflecting light bulb on textbooks I’m reading using a desk size make up mirror. Sounds hokey, but all this adds up to learning more about what I can do with the resources I have at hand. It does make a difference.

  31. Hi Rob
    Love your design. I have constructed a double parabolic mirror 40″, system solar furnace mounted on a equitorial
    powered mount and wonder if your heliostat would do away daily adjustment to efectivly track the sun.
    Ilook forward to hearing from you with your thoughts.



  32. I like this idea of heating rooms and also providing some indoor light. i have tried a similar “heliostat” made with cardboard ‘ covered with Reynolds heavy duty aluminum foil which I keep in the balcony to reflect solar heat into my bedroom. I live in Bangalore [13 deg parallel] which gets cold in winter months.It is effective.Thanks for your design and promoting this soalr energy applicataion.

  33. For a heliostat to work on its own without the computer. Could you put two photo censors on it X Y then manul calibrate (aim it at target) then let the photo cells run it. I do like your design looks good.
    i am new to this and planing to build solar furnace.

  34. It is more difficult to do that than you might think. Using photo cells, it’s relatively easy to get something to point directly at the sun but it is not so easy to get something to reflect sunlight onto a target. That is because the mirrors don’t need to point toward the sun or toward the target. The mirrors need to point to a virtual location in space that bisects the angle between the sun and the target. It can be done but it is mechanically and electronically complicated. Using a computer or microprocessor with suitable software or firmware, programmed with the current latitude, longitude, time, and target vector is quite a bit simpler.

  35. I just stumbled into this web site.
    I use 3 plastic K mart mirrors mounted on a fence to direct the sun to the entire back of my house during the winter. neighbors thought I was crazy at first but for the past three years but it does make a big difference. the sun hits the two rear windows ans the entire outside wall. I know the back of the house is warmer as a result, and I I have direct sunlight against the front of the house all day. the heat does not come on for the better part of the day and it is warm.
    this site has me thinking of targeting just the windows for a more concentrated “effort”

  36. Rob; in your post 2011-02-18 at 10:33 pm you mentioned it was easy to get something to point direcly at the sun. Could you explain how that can be done simply? Also, what are your thought about doing the simple and using a Frensel lens to collect the energy?


  37. Hi DownThePaint,

    I only meant that it’s “comparatively easy” to get something to point directly at the sun. Depending on your electronics experience it can still be difficult.

    Here’s an example of the easiest way I know to do it without a computer: For each of your two axes of motion (azimuth and elevation control) you need two detectors aimed 90 degrees apart from each other (4 detectors in total). The example above just shows one axis. Each pair of detectors is wired in parallel but with reverse polarity to make what’s called a split detector. A split detector will output positive or negative current depending which of its two detectors is receiving the most light. You can use that positive or negative current to drive a motor that will turn your device until both detectors are receiving exactly the same amount of light, which will be when the line bisecting the two detectors points directly towards the sun. The example above uses PV cells for detectors. Those may output enough power to run a motor directly. If you want to use smaller detectors like photodiodes, you will need an amplifier circuit to drive the motor. See. Easy peasy!

    Using a fresnel lens is a simple solution if your goal is to heat up a small object (ex a cooking pot or frying pan) to a high temperature. But if your goal is to move the energy somewhere else (ex to heat a home) I think you’ll find a fresnel lens is no simpler than other methods.

  38. I am looking to create a Heliostat, I am looking to do it without circuitry, I have just finished my solar tracker and will try and use the principles I learned making it to make a helistat. the tracker has no circuitry it basically relies on a difference of power to track the sun.
    Has anyone attempted to make a heliostat without using computers circuitry or anything other than a sun tracker as guidance for moving the mirror?

  39. After a lot of vector math, I finally found out how to do real single-axis tracking based on turning the mirror 15 degrees per hour instead of electronics or optical tracking. You simply point the axis of rotation half way between the celestial south pole and the target. Amazingly, it all works out. You use another axis on top of the perpendicular axis to adjust the mirror depending on the season as the sun’s position changes. In the diagram below, the radius of the inner circle is determined by this second axis.

  40. hey most of my windows in my house are facing south where there is a 3 storied house! due to this my home hardly receives any sunlight in the south direction!…can i incorporate the above design by mounting the heliostat to my neighbour’s wall?…can u help me with ur suggestions? i will also post the necessary photos if u ask for it!!!!

  41. @zawy
    Good to see you back. Thanks for the links.

    If sunlight hits your neighbour’s wall then yes, in theory you could mount a heliostat to it to reflect the light into your house. In practice it may not be easy. Sorry, I don’t think there’s much I can do to help.

  42. Just built a miniture louvered heliostast. It can be driven by a lamp timer. It focusses 5 suns onto a vertical tube which could run a miniture Stirling. Love your design and plan to build one. Yours in Solar, Phil

  43. Hi Rob & All,

    Thanks a lot for sharing this article , it is very usefull.

    I found this video:

    it is describing a heliostast solar generation project on a large scale ~ Mega Watts for a company called esolar.

    they said the project cost was more than 110 million $ !!! why did the project costed all this ?

    also what is the difference between the technology they are using and the technology used here by all of you guys to make a heliostast at home.


  44. Hi Adany,
    Nice video. I can’t comment on the cost. The only real difference in the technology is they are heating water to generate steam to turn a turbine to produce electricity. That’s what you need to do to distribute power from a single location. But for the backyard tinkerer it is much more cost effective (and more efficient) to put the heat straight into your home in the form of reflected radiation, especially if you have well placed windows already.

  45. Hi Rob –

    Inspiring stuff! You might find LightManufacturing’s Heliostat (the H1) interesting – see We’re using a tensioned membrane mirror for light weight and other advantages.

    We’re using the heliostats for general purpose heating and lighting, but also in our Solar Rotomolding Systems. These make plastic objects like water tanks, entirely off grid. See

    Our aim is to apply solar thermal / heliostat energy directly to manufacturing processes, with the aim of lowering costs and reducing greenhouse gass emissions.



  46. I finally am getting close to getting really good designs for my heliostats. I would have failed if I had not seen the way you used screws to turns the axii. Axii? Axis? Anyway it’s only $20 worth of PVC and $2 for the 3 foot 1/4″ screw rod from Lowes, and $12 for each DC motor. My instructable ( ) will be finished in a couple of weeks showing details. My next design will be a small one from 1/4″ copper tubing for fun, or maybe to shine on a prism hanging inside a window. I am placing LED’s as sensors on each side of the 4 sides of the windows to control the motor. Only 8 other electronic parts to control 2 axii in both directions using an AC motor….an amazingly efficient circuit from

  47. was glad to see zawi’s post about having done the math to confirm that an axis oriented halfway between the latitude angle and the polar(“equatorial”) axis works. didn’t want to learn spherical trig, so I was going back to designing a linkage bisecting the sun-to-target angle. it actually seems that it would have been better than to lose 10 percent to a second mirror: a device like a three-legged version of a drawing compass with a slider on the middle leg connected to fixed gimbals on the outer two. actually, the target-pointer would be a fixed gimbal, and the sun-pointing gimbal would be mounted on an arc, concentric with the main pivot, for seasonal adjustment. the center leg of course would be fixed perpendicular to the mirror, with the main pivot in the center of the mirror frame, in one of the wind-pressure-relief gaps. hope this is reasonably clear. thanks to zawi the design will be even simpler; a single-axis with manual adjustment of seasonal tilt to sweep out the correct cone. might even make the mirror two-sided, and let the clockwork run at night to save manual resetting.

  48. This site is so inspiring. I think I’ve seen it in the past but a lot has been added in the last few years.

    I’ve experimented with solar heating via mirrors. I work cheap and so went with 1′ x 4′ mirrors designed for interior use. My learning curve has had many parallels to ‘zawy’s’ work. I too have learned by humbling experience that 2x solar concentration is about all that can be allowed reflecting through a window. I use vinyl “L” extrusion on the edges to keep the mirror from going concave.

    We have casement windows and sliding glass doors on the North side. No data on shgc or emissivity. I couldn’t even consider a permanently mounted heliostat as the homeowner association would not allow it. All of my experiments have been with equipment I can store overnight. There’s too much manual effort so I don’t have anything to recommend to others. Sometimes it’s fun for playing, however. (If you can manage the dangers.)

    I watched the video showing the hinged insulation boards covered with Mylar. You’ve indicated the problem with the concentration was solved by making the boards convex. I’m a little worried about the 200F temperature on the furniture and the carbon black interior target. With my mirrors I haven’t recorded any temps like that but I do have one sensitive area next to our deck through a glass French door. In that location, I have to be careful of several furniture items. I’ve had one incident but with no real damage. Anyway, I installed a diffusing grate interior of the glass door. The lightweight grate is removable and stays in place sandwiched between the curtain and the glass. The grate is made of 2′ x 4′ egg crate diffusers of the type found in fluorescent lighting fixtures. The egg crates are cut and spliced to fit the door glass. A frame of vinyl covers the perimeter. The opening cells are 1/2″ x 1/2″ and 5/8″ deep. Splicing establishes depth as well as area. The grate is polystyrene, white. Reflected sunlight striking the grate reflects again with visible light mostly continuing while infrared is mostly absorbed. The diffusing effect creates indirect lighting instead of concentrated glare. Since using these grates (the door is in 2 parts) there have been no more ‘incidents’. The grates are easily stored and maintenance is nil.

    As a side note, the grates are used in summer to reduce air conditioning electricity. Grates are installed exterior to the window and have proven quite robust. The grates are “install and forget” until a/c season ends. In that application, the room is quite bright with diffused light while most of the unwanted heat is released to ambient. Electricity usage for a/c is substantially reduced.

    For your sliding glass doors the area is large enough to want 2 grates per door, each about 2′ x 5′. Anyway, it’s an option that might help. The grates will warm some but will stay much cooler than the darker surfaces in the video.

  49. Would you be interested in manufacturing it and take it to Shark Tank later on, who knows? I would be happy to be a partner. I have built similar things without motors.. just manual stand ..

  50. Why not build a separate tower-like solar collector as to avoid burning the house down? Rustoleum paints appear to be awesome for absorbing solar radiation and heat transfer is decent as per a website i found elsewhere.

  51. Hi guys.
    I have recently built an autonomous heliostat. I have used a 3D printer for the gears and some other parts. It uses a 30 cm x 30 cm mirror. I can point it with precision 100 m away. I can control it with a remote too. It’s quite confortable to manage it. Everything, every internal parameter, … can be adjusted with the remote.
    Do you think it could be interesting?
    I am thinking of selling it quite cheap.

  52. Also the code that Gabriel posted would be extremely helpful! Hoping against all odds ?

Leave a Reply

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