Digital technology takes light painting to the next level…dozens of point lights, with color and brightness individually under computer control, weave a swath of awesome across the completed frame.
Adafruit’s NeoPixel strips, combined with the Arduino microcontroller and a supporting cast of parts, make highly refined digital light painting achievable!
Arduino Uno microcontroller (NOT Mega or Leonardo, see below)
Adafruit Data Logging Shield (or other shield/breakout with SD or microSD card slot)
NeoPixel strip, sticks or pixels (up to 170 pixels maximum — a 1 meter 144 LED strip works great!)
UBEC DC-to-DC converter
- 8xAA battery holder and AA cells (NiMH rechargeable recommended)
SD card (or microSD with adapter), FAT-formatted
- Camera with a long-exposure mode, plus a tripod
Imaging editing software that can output 24-bit BMP files (e.g. Photoshop, GIMP, Pixelmator)
Wire: 20 to 22 gauge or thereabouts, stranded
Soldering iron and related paraphernalia
- Optional: JST connectors, power blocks, etc.
- Support frame. 3/4" square pine molding works just dandy, or you can get all fancy using aluminum extrusion if you like.
There’s a frequent misconception with some projects that using an Arduino Mega will make everything just that much better. Some projects can benefit, but this isn’t one of them. The code achieves 100% performance on the Uno; it will not run any faster on the Mega. Much slower, in fact, due to its need to “bitbang” the SPI interface to the SD shield.
The Arduino Leonardo is also not suggested for this project, for similar reasons.
Savvy users could adapt the project for other boards or SD adapters provided there’s a fast SPI connection between the two. Also, some AVR-specific timer registers are used, so the code won’t compile as-is on other architectures. For most of us, the Arduino Uno and Adafruit Data Logging Shield offer the most trouble-free approach.