The Cerebral Forum

Solar Projects => Heliostat Projects => Topic started by: clickbangboom on February 02, 2015, 12:52:54 PM

Title: A Description of the Sun - CNC-cut heliostat art installation in Houston, TX
Post by: clickbangboom on February 02, 2015, 12:52:54 PM
Hi Everybody!

This is my first post but I have been reading this forum and this website for some time now. I wanted to share a project that I've made using Gabriel's circuits and code. I also want to take this opportunity to thank Gabriel for all his amazing work and all the people who contributed to this forum and made my life easier. I am an artist– not an engineer– and having this amazing resource was the only way I was able to make my project happen.


A Description of the Sun uses a lead-screw driven system and a series of adjustable convex mirrors to create a light projection in the shape of halo into a fixed point on one wall of the space. The three mirrors' halos separate over the course of the day and create various patterns on the wall. The idea was to make a project that resisted photography, that required the viewer to be present for a length of time to see the piece. It started with an idea for nondestructive "light graffiti". It ended up in an entirely different space as I realized the various challenges of manipulating reflections and the limitations of the machine. I consider the projection of the sunlight the work, the machine is the tool which makes the work possible. This is a test of the projection I did using an LED lamp in my studio:


I designed this heliostat based on many of the projects I saw here. The version in the above GIF was Heliostat Mk. I– I have since improved it so every part is CNC cut, the latest is Mk. III which includes CNC-cut gimbal/pivots for the steppers and the lead screw nuts. Almost every aspect of the machine is adjustable in order to allow me to tweak it work in a variety of spaces without having to do a bunch of math that is over my head.

I will post up-to-date documentation once I have it; I'm currently installing the piece at Rice University's emerging artist space, the EMEGEncy Room ( ( They made a wonderful poster which has an essay written by a professor. I have attached the PDF of the poster to this post or it can be viewed through the above link.

I have created a build log that contains a lot of the research and shows the progress of the project over the last several months. It will continue to be updated as the project continues. Check it out: (

A couple of iphone pictures from today in the gallery space:


Soon I'll have better documentation including a few timelapse videos of the project in action. Also, I plan to post the Aspire and Autocad files of the piece on my build log in case anyone wants to use them.

Cheers from Houston,

Title: Re: A Description of the Sun - CNC-cut heliostat art installation in Houston, TX
Post by: Gabriel on February 03, 2015, 05:23:26 PM
Dude! That thing looks awesome! I just watched the time lapse, it looks like it is tracking pretty well too. I would have thought that it would be able to move a bit faster with those leadscrews, although I may have misjudged the size / weight of it from the pictures. I definitely know your pain of waiting for these things to reset. :)

I really like the way those mirrors look, and how the reflection looks. I always thought that there are probably a lot of different art projects that heliostats could be used for. There is a lot of, well, light (when compared to artificial lighting) in sunlight, so there is really just so many ways that it could be split apart.

You should definitely keep sharing. :)

Title: Re: A Description of the Sun - CNC-cut heliostat art installation in Houston, TX
Post by: clickbangboom on February 04, 2015, 10:15:59 AM

Thanks for the kind words!

The fact that the tracking in the timelapse looked ok was just luck, I hadn't really started playing with customizing your code. I've since messed with it and I think I've got it close but I'm having trouble understanding how I input a target. Is there a spot in the code where I can just type an altitude / azimuth? I can't seem to find a good explanation of this on the website. Maybe I'm missing it.

I've updated the settings for the servos and they are moving at a much better speed now. At first I had it going too fast and it was pretty scary– those little guys can go.

As for other art projects, I totally agree with you. Right now I'm still stuck on figuring out how to manipulate the plexiglas to get the reflections to do with I want. I'm using 1/8" mirror plex and it's pretty fickle. At first I tried a field of adjustable "pixels" of mirrored plex but getting each pixel to do what I want in relation to the others was very difficult, so then I moved on to the convex circle idea. Even those were difficult– at first I was cutting screw holes into the plex circles on the CNC machine and even those little holes totally warped the shape of the reflection. Finally I created frames in which the plex gets sandwiched. This allowed me to get a more perfectly circular reflection.

I really like the halo that this thing makes, but I'd like to be able to make other shapes. The next piece I want to figure out is how to make a "line" of light that can be projected onto a wall using a heliostat.

Any advice on targeting?

Thanks again!

Title: Re: A Description of the Sun - CNC-cut heliostat art installation in Houston, TX
Post by: Gabriel on February 04, 2015, 05:56:24 PM
Hey Logan,

The "official" explanation for setting targets is at this link. (

You basically just set the target by either using the joystick or manual control through the serial monitor and the Arduino will remember it for you.

If you are interested in hard coding the altitude and azimuth into the program, open of the Arduino programming interface and go to the "Target Control" tab. You can ignore most of the code on this tab. Scroll down to the bottom and uncomment the following by removing the "//". (Doing this will "break" the target setting methods mentioned above.)

  //MachineTargetAlt[0] = 0;
  //MachineTargetAz[0]  = 0;

The default is (0,0) for the alt and az, but you can of course change these values for other targets. This is just the simplest example, but you could in theory have the target constantly change over time to trace out a pattern. I've never tried this, so I don't have any example code, but this is the place where you would put it.

Something to keep in mind is that a heliostat that has a mirror which has been adjusted away from the "correct" altitude and azimuth will inevitably have a reflection that drifts around over time. I have a old simulation that I wrote that shows this. There is a video of me using it here. (
I suppose this could be a problem depending on what you are trying to do.

One advantage that heliostats do have is that they take the light from the sun and make it so that it is always coming from a constant direction for the entire day. This makes it so that you have the time to figure out how to manipulate the sunlight into something interesting. I've always thought that it would be cool to "paint" something on a wall using a bunch of prisms or similar. It's would take a lot of experimenting though I'm sure. It's on my bucket list.

Hope that helps.
Let me know if you have any other thoughts.

Title: Re: A Description of the Sun - CNC-cut heliostat art installation in Houston, TX
Post by: clickbangboom on February 05, 2015, 11:07:11 AM

Thanks for the speedy response. I ended up figuring it out yesterday evening– I hadn't realized that the potentiometer was a necessity and I totally skipped it. I soldered it in and the targeting works as far as I can tell. But the only way I can see to verify it is tracking correctly is through a time lapse video, which I'm taking right now.

The exhibition is opening is tonight and I only got it working properly yesterday so today is really the only chance I have to get timelapse and it's super gray and rainy out... despite what meteorologists have been saying all week. The opening is at night so I was hoping to have a cool timelapse to show the heliostat in action but I guess for tonight the object itself will have to do.

The possibilities of art projects with the heliostat are endless. I like your idea of painting, that's sort of what I had in mind when I started this project, but manipulating mirror reflections is difficult. Lenses would be required to get more advanced with it, which could also be cool but would need a lot of experimenting. Like a sun-powered "magic lantern": (

Another idea I've been toying with: I was thinking about various ways to make "sun prints" or perhaps some sort of other record of a day's sunlight. One idea I had is to build a weak fresnel lens and melt wax or another substance with it. I bet it wouldn't be that hard to tweak your code to make the target of the heliostat move slowly in a set pattern throughout the day, creating a line of melted/ not melted wax depending on cloud movements and sun intensity. Once the contraption is built the art practically makes itself!

Title: Re: A Description of the Sun - CNC-cut heliostat art installation in Houston, TX
Post by: clickbangboom on February 05, 2015, 11:14:09 AM
Oh yea I forgot--

I took a pretty cool timelapse once I had it working last night of the sun going down. It's super subtle, but I think it's quite beautiful: (

Also a couple of photos of the piece all finished with the wires organized and looking good.


Title: Re: A Description of the Sun - CNC-cut heliostat art installation in Houston, TX
Post by: clickbangboom on February 12, 2015, 10:01:32 AM
Here's a good wide still from the gopro timelapse, which I'm still working on.