Our light painter (or light stick) is a bit of electronics affixed to a rigid support. There can be huge variability depending on what skills, tools and materials you have access to…improvising is a common theme in these projects…but for this one there’s three specific items:
- Adafruit CLUE nRF52840 Express — a small CircuitPython board with screen and buttons we can use for a rough user interface.
- A length of DotStar LED strip. Either one-half meter of high-density (144 LEDs/meter, 72 pixels total) or one meter of standard-density (60/m, 60 pixels total). Not NeoPixel strip…we require the DotStars’ speed here!
- 3 AA battery pack with JST PH connector and switch. Alkaline batteries are old school, but this simplifies the electronics considerably. No level-shifting needed.
I’ll mention some of the other bits that went into my build…but keep in mind there are many opportunities to change things up, depending what you have around…
- STEMMA QT / Qwiic cable (100mm or 200mm) — uses the CLUE STEMMA port to transfer data to the DotStar strip. But you have options here. With a small change to the code, CLUE pins 1 and 2 could be used with alligator clips. Not rugged, but might be adequate for a one-evening project before rebuilding into something else. Or there’s STEMMA QT cables with jumper header ends, or even alligator clip ends, whatever suits your skills and plans.
- A 4-pin JST SM connector lets you easily disconnect the DotStar strip and use it for other things.
- Alligator clip test lead — for this project, whenever files or code on the board need editing, pin 0 must be connected to GND. Any temporary connection could work, even a bent paper clip, but the ’gator clip is convenient.
- Soldering iron and related paraphernalia, some wire and such.
- Heat-shrink tubing in various sizes.
- Something to make a rigid support/handle. Could be a square dowel, some PVC pipe, a sacrificial yardstick. Improvise!
- Crafty bits and bobs like tape, glue, paint, Velcro…read on for ideas and suggestions.
Here’s a schematic diagram of how the electronic parts go together:
Keep in mind this is a schematic…it shows all the connections clearly but doesn’t represent the components real positions or how the wiring will actually look or be spliced. Plan out the physical placement of everything on your light stick, then make connections using the schematic for reference.
Also, DotStar strips have been known to change from time to time…the pin order at the ends of the strips might be different. It’s always a good idea to load up a minimal DotStar test program and verify which pins are clock and data.
Connection |
Endpoints |
Ground |
|
+4.5V |
Do not connect to the STEMMA red wire! You will destroy the CLUE board! |
LED Data |
|
LED Clock |
|
* As mentioned earlier, it’s also possible to build this using alligator leads and not need the STEMMA cable.
** If using DotStar-compatible (APA102) LEDs from another source, the wires be a different color, or you might be soldering to a bare strip.
If you have access to a 3D printer, the Ruiz Bros’ CLUE Slim Case lets the board sit flat against the battery pack or square dowel with some double-stick foam tape. Entirely optional, work with what you’ve got…it’s just a nice-to-have addition.
Reiterating a prior point: the STEMMA red wire must NOT connect to the battery! This will wreck your CLUE board!
I went so far as to pluck the red wire out of the STEMMA connector to avoid any possibility of making that mistake. Maybe that’s a bit obsessive.
The Support Structure
Let’s keep this short as it’s been covered many, many times before in other projects. Here’s pages you can skim for ideas:
- A yardstick can be re-purposed, as in this HalloWing light painter project.
- The NeoPixel Painter and DotStar Pi Painter projects used 3/4" square dowel and 1" aluminum square tubing, respectively.
- An early Pi light painter used PVC pipe and a hula hoop! That’s right, there’s no law that you have to light-paint with a straight line.
- What else do you have around? Even a flap from a large cardboard box, cut and folded into a triangular tube, can provide adequate support.
Other things learned from prior projects:
- Unless something is really shiny and metallic, you really don’t need to paint everything black. It also makes no difference if using black or white DotStar strips. As long as it’s in motion, it won’t register in a long-exposure photo. Mostly, black looks cool.
- A diffuser over the LEDs helps blend them into a cohesive 2D image instead of light streaks. Haven’t found a more convenient material for this than 1" white elastic.
- The waterproof sleeve on LED strips is difficult to attach to anything. Hot tip here is two-sided carpet tape. Alternatives include using cable zip-ties at the ends, or carefully cut off the waterproof sleeve and glue the strip down with hot glue.
A closeup of the elastic diffuser, and using some zip-ties to hold the ends.
This is an old DotStar strip I had around, with the waterproof covering removed and held with double-stick tape. If you’d prefer to keep the covering on, that’s probably for the best…more options to re-use these parts in other projects later!
If you don’t have a mating JST connector, or forgot to order one with the other parts…one trick is to cut the connector off the “out” end of the strip, and use it to connect to the “in” connector, though this does mean you can no longer chain this strip to others. Also, be super extra sure you’re cutting off the OUT end! Look for the arrows on the strip showing the data direction.
Fresh DotStar strips also have extra power wires at both ends. If you’re not using some of these wires, clip off the exposed tips and/or insulate them with some heat-shrink to prevent electric shorts.
Skimming through the prior light painter projects, most of those tended to have a stick and diffuser the same length as the LED strip. Tried something different here since it’s a small half-meter painter: there are hand-hold spots at either end, providing more options for moving it around in photos. Not a requirement, just an idea.
Text editor powered by tinymce.