Via HaD:

Rainbows are revered as religious signs, the subject of ancient poems, adopted by social movements, formally described through science, and spread through memes. The fascination with rainbows is endless, transcends human categories, and embodies intense positivity.

We created the Rainbow Machine to share our joy of light art. We set the machine up at events for people to have their photo taken with it. Those who have their photo taken are given a card with a URL to find their photo online to keep as a momento of the event.

More info at their Github repository and Flickr.

John Baichtal

John Baichtal

My interests include writing, electronics, RPGs, scifi, hackers & hackerspaces, 3D printing, building sets & toys. @johnbaichtal

  • Anonymous

    Interesting project but they dont document the physical build, or the image file format required by the software. Looks like the PC feeds the arduino a line at a time, with no sync on rotation of the POV rod. The images, at least a few canned ones, could be uploaded ahead of time and selected with a simple arduino-only system.

    • Anonymous

      Hey MauiJerry! Check photos of the physical build here:

      Image file format is JPG/GIF/PNG and processed using code here:

      Arduino has only 32 KB of space. In my experience when you get over 16 KB the behaviour of the Arduino gets a little… undeterministic. So the Arduino streams data from the computer and everybody’s happy.


      • Anonymous

        Thanks sean.  I like the project and would like stand on your giant shoulders :-)
        Are their example source/processed images? Its always helpful to see some simple examples.  Maybe the rainbow, rainbow heart.  What are suggested sizes for the pics?  Code looks like it processes down to 78v x 300 h (v = length of led strip).It does not appear there is a motor on the rotating arm. Do you move it manually using a pull cord during photo sessions?  Aluminum frame looks quite robust.  Would PVC piping be too flimsy?

        I was thinking simple files like the rainbow (repeating) could be done algorithmically. Larger files could be kept on an SD card.  The whole rig could then be run off a decent battery w/no laptop.

        • Anonymous

          > Are their example source/processed images?

          Haven’t put any up but good idea! Maybe will add to github later.

          > Do you move it manually using a pull cord during photo sessions?

          We move manually, one operator and one photographer. The video above shows the process.

          > Would PVC piping be too flimsy?

          In hindsight, PVC could probably work. We chose aluminum because we want to keep it open to adding a motor in the future. We have bearings holding up the rotating axle to which the arm is affixed.

          > Larger files could be kept on an SD card.

          Was thinking that too. I have an Ethernet shield with an mini SD slot. But the communication between Arduino and SD card uses SPI which I believe is bound to pins 10 and 11 (could be wrong). We already are using SPI / pins 10 and 11 to communicate with the LPD8806 chips. SPI is great for high speed serial communication, and brought our FPS from 4 to 40.

          > The whole rig could then be run off a decent battery w/no laptop.

          Agreed that this is ideal, but hasn’t come up in our use cases so far. Still have to deal with the ATX power supply, but I’m thinking that beast in our setup is barely utilized (but works ;)).