Brian Chuk. Close Project |
Firefly
October 2016

A new method of light painting. Upload images into the Firefly and "print" them out into a long exposure photograph.

HackRU Fall 2016
Python & C developer. Circuit designer.
Raspberry Pi, Hardware tool
Complete

As one heavily involved in CS and tech, I’ve learned to communicate logically and diagraphically, but beautiful code still makes for terrible conversation. I wanted to try an art project and explore other creative pastimes, so what better way is there than to intersect art with technology to create something new and meaningful?

So, I created something called Firefly. It’s a new form of light painting. Before we dig into how it works and what it does and the process of making it, we’ll need to take a step back and see what light painting is in the first place:

When you take a normal picture with a DSLR camera, the shutter opens to allow light into the camera’s sensor for a brief instant, and then slams shut. This is the mechanical clicking sound you hear when you take photos.

In a long exposure photo, the shutter is open for an extended period of time, and all the light recorded during that period is combined into one picture. Bright, moving objects become more visible, while dark moving objects start to disappear. Automobile headlights and stars transform into streaks. Flowing rivers and waterfalls turn into glowing clouds.

Light painting is a photographic technique where you take a long exposure photograph and wave around sources of light to create your artwork.

That's Picasso painting a centaur. I have a hard time seeing it too.

There’s a few problems with it however. It’s difficult to master and you’re limited by drawing out each and every single line of light by hand. As a result, everything seems very hand-drawn or roughly drawn out. Also, expert light painters require a large set of expensive custom tools.

So instead of using all these tools, what if we had a rather long stick with a row of LEDs instead? We can upload an image to this stick, and as we hold it upright, walk around, and move the stick through 3D space, it’ll sequentially display each pixel-column of the image on the LEDs.

The Firefly is made of a 2 meter long wooden stick with a handle, a Raspberry Pi, a custom-made circuit on a breadboard, 288 LEDs, 5 buttons, a phone charger battery, and a bunch of other electrical components and wires.

For instance, to print out the green circle below, the Firefly would start with the right-edge column of pixels and progress to the left.

Input:

Process:

Result:

The code for the Firefly was initially only written in Python, but I realized that part of it had to be written in C to make performance as efficient as possible. The Pi had to read an image and control 288 LEDs simultaneously;if there was any lag, the images would be ruined.

The resolution and brightness of the Firefly were surprisingly fairly high, and my friends and I were able to create GIFs and pictures in well-lit rooms.

It took 26 tries to get this pic right.

The Firefly definitely made it possible to create light images that were impossible to normally create. It was like a printer as traditional light painting was the pen. Or like how photography is to painting. While the Firefly loses the aesthetics of more organic and three-dimensional hand drawn shapes, it’s interesting to think about what new possibilities can be achieved. For instance, can the Firefly be used to implement datasets into artwork?

I had a ton of fun messing around with the Firefly with friends and seeing what we could create. If you’d like to see more photos, you can check out the album here. The DevPost page is also right here. The Firefly won the Best Hardware Hack category at HackRU.