For the past year, on and off I have been working on an automated light painter system. The project finally culminated in testing at this years National Trust Festival of Light at Mount Stuart house.
What is light painting?
Light painting is using a long exposure photograph (usually 5 seconds+) with the camera on a tripod where you use a bright light to “draw” in the image.

There are a number of ways you can do this, by far the simplest way is find a pitch black area and draw with a phone torch.
The above image was done in a pitch black forest around 11pm at night.

You can also get super accurate with hand held light painting using phones, in the photograph above, Polly, Dean and Daniel were even able to sign their own names. On top of this, Dean made use of a technique where if an object is lit up light enough, it will also appear. He simply pointed the light at himself.

The background does not need to be completely black. As long as the objects in the background, don’t move then should be fine.
Handheld light painting
It is actually super easy to get started with simply light painting.
Light painting is an awesome activity to try out with big groups of kids, as all they need is some form of light source.
While this could be a torch on a phone, for young kids or those without a phone with a torch, a simple answer would get them creating a “throwie”! A throwie requires a coin cell battery, an LED and some tape to tape it together. By mixing and matching LEDs, you can create some very cool images.


On top of your light source, you also need a camera and a tripod. It is important to check that your camera supports manually editing the shutter speed and aperture. It is recommended to manually set all the camera light settings (shutter speed, aperture, ISO) as the camera will most likely think the image will be too dark and compensate, causing issues.
You must use a tripod!
Digital light painting
As a maker/inventor, I decided to take light painting one step further by of course, adding a microcontroller!
My first prototype back in 2014 made use of x24 breadboardable Neopixel LEDs and an Arduino Uno.
@boeeerb :) Done slightly differently pic.twitter.com/bUixYZabmO
— Andrew Mulholland (@gbaman1) October 25, 2014
More light painting with an @arduino Uno, 15 @adafruit Neopixel LEDs and a DSLR. Code coming soon. pic.twitter.com/85QxDqxBJP
— Andrew Mulholland (@gbaman1) October 21, 2014

And resulted in some pretty cool pictures. But, I needed to go bigger!
Introducing the Arduino light painter version 1

Using a 1m Adafruit Neopixel strip with 60 pixels, a piece of scrap wood and an Arduino Mega, the first proper light painter of mine was born.
There is full documentation on its Github repo on making your own that you can find here.


Arduino Micropainter version 1

Between version 1 and 2 of the main light painter, I also threw together a “Micropainter”. Featuring x5 full RGB Neopixel LEDs, it is driven by ATTiny85 chip and is powered by x2 AA batteries. It is soldered onto a custom designed and milled singled sided PCB.
Arduino light painter version 2!

This year, for the Festival of Light, I thought I would go even bigger! What could possibly go wrong, right?
Building upon version 1, I switched out the 1m strip of 60 LEDs, for a 1m strip of 144 LEDs! This dramatically increases the resolution available, but also dramatically increased the storage space required. With version 1, I had used the program space on the Arduino Mega to store the program, but unfortunately there is nowhere near enough space for the bigger images required, so I also added a MicroSD card slot. This allowed me to store multiple images so I also went ahead and built a menu system, allowing me to select the different images. The menu system simply used the LEDs on the stick as numbers, so image number 8 would be when LED 8 was on in the menu.
Another major adjustment I made over version 1, was adding 3 inputs. x2 buttons for the menu system (next item and select) plus a small potentiometer, allowing me to adjust the brightness of the pixels.
Bar these changes, most of the rest of the system stayed the same.
The light painter uses a Python script to convert the images to an easy to read format for the Arduino, then an Arduino program reads the image file line by line, outputting these onto the light painter. All you have to then do is move the light painter across the frame slowly and smoothly to display the image. In the case of some of the photographs below, the opposite was intentionally done to create the wave effect.
The results though were pretty amazing from this years Festival of Light at National Trust Mount Stuart.
The plan is to hopefully have a building guide up for the new light painter this side of the new year.
Which picture is your favourite?