Introduction: 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
You will need the following materials for this project:
2× Nema-17 200 steps/rev Stepper Motors https://www.adafruit.com/products/324
2× Stepper Motor Drivers https://learn.adafruit.com/adafruit-tb6612-h-bridge-dc-stepper-motor-driver-breakout
1× Raspberry Pi 3 https://www.raspberrypi.org/products/raspberry-pi-3-model-b/
1× Neopixel 8x8 LED Matrix https://www.adafruit.com/product/1487
1× Female Jumper Wires https://www.adafruit.com/products/794
1× Cell Phone Charging Battery https://www.amazon.com/Anker-PowerCore-Ultra-Compact-High-speed-Technology/dp/B0194WDVHI/ref=pd_cp_107_4?_encoding=UTF8&pd_rd_i=B0194WDVHI&pd_rd_r=6KNMRQXWWWW73HPVV7E6&pd_rd_w=XTSLf&pd_rd_wg=eT0DL&psc=1&refRID=6KNMRQXWWWW73HPVV7E6
1× 12v Step Up Chip https://www.amazon.com/Qunqi-XL6009-Adapter-Booster-Step-up/dp/B01E4YERBU/ref=sr_1_6?ie=UTF8&qid=1489673917&sr=8-6&keywords=5v+to+12v+step+up+chip
2× Might Need a Couple USB Splitters https://www.amazon.com/Cute-USB-2-Port-Splitter-Black/dp/B00FJG5T4W/ref=sr_1_11?ie=UTF8&qid=1489673957&sr=8-11&keywords=1+to+3+usb+splitter
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
Some resources for this project are provided below:
Find all the 3d printable parts for this project on our Hackaday.io page: https://hackaday.io/project/20365-light-photograp...
All the code can be found on Github: https://github.com/HackerHouseYT/Light-Rover
Raspberry Pi Neopixel library: https://github.com/HackerHouseYT/Light-Rover
Thanks for viewing our instructable!
Aaron @ Hacker House

Participated in the
Robotics Contest 2017

Participated in the
Microcontroller Contest 2017
6 Comments
6 years ago
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?
Reply 6 years ago
Maybe I will one day try to do this with arduino, if you guys don't mind
Reply 6 years ago
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.
Reply 6 years ago
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.
Reply 6 years ago
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.
Reply 6 years ago
We're slicing them up into sections. You can specify your own picture with the code we wrote.