Introduction: Light Painting With a Raspberry Pi LED Robot

Picture of Light Painting With a Raspberry Pi LED Robot

Did you know that you can make light paintings with a long exposure camera? Light painting is a photographic technique in which exposures are made by moving a hand-held light source while taking a long exposure photograph. We take this a step further by finely controlling the light source's movement with a stepper motor driven rover. The results are stunning. The project consists of a Raspberry Pi 3, two stepper motors, and a Neopixel LED matrix. It can easily be recreated with a 3D printer and all of the code is provided.

Step 1: Materials

Picture of Materials

You will need the following materials for this project:

2× Nema-17 200 steps/rev Stepper Motors

2× Stepper Motor Drivers

1× Raspberry Pi 3

1× Neopixel 8x8 LED Matrix

1× Female Jumper Wires

1× Cell Phone Charging Battery

1× 12v Step Up Chip

2× Might Need a Couple USB Splitters

Step 2: Instructions

We created this step-by-step video about how we built the robot.

(More details about 3d printable parts and the code we used are posted in the next step)

Step 3: Resources

Picture of Resources

Some resources for this project are provided below:

Find all the 3d printable parts for this project on our page:

All the code can be found on Github:

Raspberry Pi Neopixel library:

Thanks for viewing our instructable!
Aaron @ Hacker House


Jordy2610 (author)2017-04-05

This is such a great idea, one thing isn't quit clear. Are you hardcoding pictures or are you importing them and slicing them up into sections?

Jordy2610 (author)Jordy26102017-04-05

Maybe I will one day try to do this with arduino, if you guys don't mind

HackerHouse (author)Jordy26102017-04-05

Go for it. Just be wary that the program memory space on an Arduino is really small, so a high resolution image won't fit. I would stick to vector drawings with an Arduino.

Jordy2610 (author)HackerHouse2017-04-05

It might be possible to slice the pictures with a computer and then send the individual pieces to an sd card that's connected to the arduino. also i thought it would be possible to make a fixed size and then use it like a cnc machine, with sliders. then you only have to map the locations of the individual squares instead of making it as big as you want.

HackerHouse (author)Jordy26102017-04-05

That's a good idea. If you have hardware that needs to be controlled by an Arduino, you could also probably send image data from a Pi connected through serial.

HackerHouse (author)Jordy26102017-04-05

We're slicing them up into sections. You can specify your own picture with the code we wrote.

About This Instructable




More by HackerHouse:Light Painting With a Raspberry Pi LED RobotRaspberry Pi Smart Phone Connected Door LockRaspberry Pi Motion Tracking Airsoft Turret
Add instructable to: