Energy | Solar project | ITP spring 2024


This solar-powered project operates like a camera that captures the passage of time through sunlight and culminates in a series of prints that trace the sun’s intensity and movement throughout the day.

At the heart of Light Room is a mechanism featuring a shutter-like and a rolling film-like system, all powered by solar energy. We're using solar panels that not only power the device but also dictate its operations. The device houses a Cyanotype-covered paper that changes its color when exposed to sunlight. As the shutter periodically opens throughout the day, this paper captures the sun’s trajectory, creating prints that reflect variations in solar intensity and patterns over time.

The rolling mechanism activates when there’s insufficient sunlight, essentially “rolling the film” in preparation for the next exposure. Additionally, we use a microcontroller to manage the opening and closing of the shutter at regular intervals during peak sun hours.

Light Room is a nod to the traditional darkroom used in photography. However, instead of developing photos in the dark, it invites the sun in to "develop" images of itself.


The process can be divided into three parts that represent three aspects of the project: The paper; The Mechanism; The Electronics. We worked on all parts simultaneously, starting with testing, iterating, and progressing towards creating the final piece. For a more week-by-week progress report view Tom's and Jasmine's blogs.

The paper

Lightroom is based on using cyanotype-covered paper that is sensitive to light and changes its color after it is exposed to sunlight for about 15 minutes. We opted to making our own cyanotype paper that fits the needed dimensions to produce the results we were looking for. Using a mix of Potassium Ferricyanide and Ferric Ammonium Citrate, we created a liquid solution that we could apply to any surface and have full control of. This has allowed us to easily test different kinds of paper, exposure times, exposure strengths, and effectiveness.

Ideally we would use a watercolor-like paper that is texturized and is made to be able to withstand a substantial amount of liquid. This ability is important because the paper needs to be able to not break apart or become wavy when dyed with several layers of the cyanotype solution. It becomes quite crucial when taking into consideration the fact that the exposed paper has to be thoroughly washed in order to "develop". Unfortunately, a nicely-textured watercolor-like paper does not bend and roll nicely and requires quite a lot of torque power to turn when rolled.  

After testing various kinds of papers (courtesy of ITP Design Lab) we found one that was able to do both: hold onto multiple layers of dye, and be light and flexible enough for rolling using our solar-powered DC motor. That said, the visual quality of that paper is significantly reduced due to it being very light and more on the glossy side.

The mechanism

One part of the mechanism controls a shutter-like behavior that is made up of two layers of paper with matching hole matrixes. A servo motor is used to push one of the layers back and forth, letting light go through when the two layers are aligned.

The second part of the mechanism is in charge of the film-roll-like behavior, and consists of a right-angle DC motor, dowels and the paper.

We 3D printed a mount, a cogwheel, and a rail to convert the servo motor's rotational energy into a linear one. We also printed pillow block bearings and a mount for the DC motor. Dental rubber bands were put on the wood dowels to increase the friction with the paper and help it roll with ease.

The electronics

The shutter mechanism is driven by an Arduino nano 33 IoT. The Arduino is connected to a WiFi network, and runs a program that sleeps and wakes up in regular intervals (~10 minutes). Every time it wakes up, the program fetches the time, and if it is daytime, it drives the servo to either open or close the shutter.
Every sleep and wakeup cycle, the program also sends a signal that we are able to monitor on our computers in order to make sure it's still operational (Thank you networking team!)

The rolling mechanism is driven by a custom made analog circuit that is trying to act like a small battery — charging when it's sunny and discharging when it's not. After many many attempts and iterations we weren't able to make this work exactly as we imagined, but ended up making a circuit based on the "Miller" solar engine with a few minor adjustments like adding a voltage detector instead of using a diode. This configuration makes it so the motor is activated with short spurs of energy under less-than-sunny conditions.

The Arduino is powered by an IoT battery pack that is connected to a small solar panel. The analog circuit is powered by an additional small solar panel and is driven directly from it.


Lightroom was installed at Newlab, Navy Yard, Brooklyn on April 18th, 2024.

Aside from sealing the wood with varnish we also added some tape around the edges of the top part as well as around the cable hole to give them some extra shield from the rain.

3D printed custom rail mount

Voltaic's custom battery enclosure also housed our Arduino (pictured taped in the bottom right corner)

The last signals sent at the moment of writing these words

Because it was meant to live outside for a few weeks, the project needed to be enclosed in a container that is weather-proof. It also needed to be light-proof aside from our controlled shutter.  

We designed and fabricated a box that houses the mechanisms, the paper, and the circuitry. The box has to be both resistant to weather conditions such as wind and rain, but it also has to be easy and convenient to handle. Every few days we must physically go to where the project is located so we can replace the already-exposed roll of paper with a new one.

The IoT battery pack and the Arduino are contained inside of a specially-made enclosure that is watertight.

From the moment we installed it on site, up until April 27th — the project was running continuously and was sending us a signal every ~10 minutes. Then, on April 27th we received a signal on 12:07AM, then another one ten minutes later, and then, we suspect, the battery ran out. The next signal was on 2:21PM the following day. The Arduino seemed to be working again for about 40 minutes, and then stopped communicating again. It has been coming and going ever since. We suspect that the battery is pretty much depleted and that the sun hours in the last few days weren't enough to fully charge it.

Unfortunately it appeared like there was an issue with the rolling mechanism where the paper would get stuck and not fully roll. As this is an analog system we couldn't really monitor it from afar and only realized this was the case when we came to retrieve the first print.

Power consumption

Original measurements

Arduino + servo (with battery):
Max: 0.25 amps * 5 volts = 1.25 watts
Min: 0.04 amps * 5 volts = 0.2 watts
Avg: 0.145 * 5 volts = 0.725 watts

DC circuit (connected directly to solar panel):
Max: 0.07 amps * 7 volts = 0.49 watts
Min: 0.01 amps * 3.3 volts = 0.033 watts
Avg: 0.04 amps * 5 volts = 0.2 watts

Battery's capacity is 13,400 mAh if full, so:
Min run time = 13.4 / 0.25 = 53.6 hours
Max run time = 13.4 / 0.04 = 335 hours
Avg run time = 13.4 / 0.145 = 92.4 hours

In reality

The Arduino seemed to be running continuously for 8 days and 10 hours without any issues, so we can assume our power consumption was below the anticipated average.

We know the voltage is a constant 5V, and a fully charged battery lasted for 202 hours. The battery's capacity is also known: 13,400 mAh. Hence we can approximate the average hourly current to be 0.066 Amps, and the average power usage over that specified period to be 0.332 watts.

The original calculations were made before we introduced time check — the servo would have been still active during night, which doesn't matter in terms of the paper exposure but does matter in terms of power consumption. Instead, the servo is now only operational between 9 to 4 which is just 7 hours a day. Powering a motor is the one action that takes the most energy, so not doing that for the remaining 17 hours of a day makes a huge difference in power usage.

Moving forward

We are planning on showing Lightroom during ITP's Spring Show this May. Hopefully we are able to power it using specialized lights so we can have it working in real time. Ideally we would like to produce prints during the show itself as giveaway postcards for people. We were thinking of writing down the power consumption or something around that on the back of the postcards to serve as a reminder of all the energy that's around us, whether used or not.

We would have to create more prints in less than ~6 days each, so we might need to increase the exposure time. We aim for about a print per day or two between the semester's end and the spring show's beginning.