Bombproof battery-powered LED strip drivers (but not playa-proof)


I wanted to give my Burning Man camp-mates LED strips for their bikes/clothes, running unique patterns, so I could find them in the dark. I wanted these to be bomb-proof and to last all night.


They were bomb-proof. You could kick these across the room and you’re more likely to hurt your foot than the drivers. There were not, however, sufficiently dust-proof. The two that were used in people’s pockets or bags worked fine; the three that were on bikes all died due to dust in the switch.

Design specs

  • Power a metre of LED strip, 30 LEDs on the strip, at low brightness for eight hours, so about 10 Watt-hours of battery.
  • Simple battery management, so protected Li-ion cells, Nitecore 16340 cells, three off.
  • Display FastLED noise8 patterns from a physically small microcontroller, so a Teensy 3.1.
  • Run strips reliably, so power the strips with a steady 5 Volts from a dinky UBEC and feed data to the strips at 5 Volts so a 74LVC245 level shifter.
  • Bomb-proof, so a metal case and locking mini-XLR connectors with cable clamps.

What worked

  • Mechanically, these were solid. Metal boxes rule.
  • The cables survived unscathed. The REAN mini-XLR connectors have the best cable clamps that I have found. If you want, you can use these drivers as poi, the connection is that good.
  • The strips survived unscathed. For the joints between cable and strip, two things work for me. Firstly, cover the solder joints in flexible, rubbery adhesive. I used silicone bathroom sealant, other people use E6000. Secondly, cover the glue in lots of heat-shrink. Preferrably the adhesive-lined stuff. I like to build up the diameter of the cable to match the strip, so the outer heatshrink can grip both cable and strip. And do this before the sealant sets, so the shrinking squeezes around the solder joints.

What needs to be improved in the next version

(Of course there will be a next version.)

  • Dust-proofing: I’ll put them in a zip-loc plastic bag.
  • Better charging: These require the cells to be removed for charging. That’s a pain with one driver and I made five. I’ll be exploring charging in place via USB (e.g. using Onehorse’s high power Teensy add-on charger should allow for charging in three hours). This would also allow the use of power from an external USB battery.

  • Better power architecture: UBECs are good if you want to run the 5 Volt strips at full whack, but for anything wearable or battery powered, I’m always dropping the brightness down. Hence putting all the cells in parallel and driving the strips directly is the way to go.
  • Making sure the microcontroller is always controlling the LED strip: A frequent failure mode for me in other projects runs like this: on startup, the microcontroller takes 100 milliseconds to power on, set up all the software objects in sequence, and start issuing commands to the LED strip. The LED strip starts instantly on power up and flashes to fully power, drawing enough power to damage the UBEC or sag the battery to the power where the microcontroller browns out. This is more of a problem with longer strips than this application, but I find myself holding my breath each time I turn one of. The solution is a MOSFET between battery and strip, controlled by the microcontroller. That way, the strip is not powered up until the microcontroller is ready to control it.
  • A better switch: Dust-proof, of course, but also less prominent. These large switches were easy to find with your fingers if they were deep in a pocket. They were also far too easy to switch accidentally, just by random jostling.
  • A better indicator LED: Using an indicator LED in the switch has an unexpected failure mode – the indicator LED can come on when power is reaching the switch but not getting past it. Thus the switch lights on when everything but the switch off. Also, illuminated switches are annoyingly large. I’m thinking that the indicator LED should be separate from the switch and controlled by the Teensy. If I use a red & green combined LED, then that could also report battery status.

  • Better sockets: I’m in two minds about this. I love the mini-XLR form factor. It’s small, the connectors are grabbable, and they lock, meaning you can’t pull them out accidentally. However, they lock, meaning if you do catch the cable on something, they won’t release and something else will break. And the female sockets are huge. I’ve yet to find the perfect connector here.
  • Easier manufacturing: Separate sockets and switches are a pain. Making up the flying leads and fitting those into screw terminals is far more effort and time than just mounting the sockets directly on to the PCBs. Mounting the switch and status LED to the PCB should be easy. However, I’ve yet to find a mini-XLR socket that is board-mounted. And there’s a few other spots where tolerances are to tight for easy assembly. This was fiddly.

What would be nice to have

  • Wirelessly synchronising patterns between drivers when the people wearing them are close. We kept in synch by just turning them on at the same time. The patterns run a random sequence that’s actually the same each time. Clock drift was negligible over a night, but it did mean that if one driver accidentally got turned off, that one ended up out of synch.
  • Audio responsive. Onehorse’s digital microphone shield looks worth a try.

Building your own

I wouldn’t use this design again. Or rather, I’ve learnt enough from building these that I can see all the better ways to do it. But the info here may provide some inspiration and guideance.

Diptrace schematic and board

Order this board from OSH Park, if you must. It’s all through-hole, for easy assembly.

Bill of Materials
The case and switch came from Jaycar; the 16340 PCB-mount cell holders from Mr Positive; the UBEC from Hobby King; the rest was E14.

Drilling the case

  • Use the PCB as a template for locating where to drill the PCB mounting holes. Fix the mounting screws in place with nylon nuts between the PCB and the metal case. There isn’t room to turn the nuts to hold the PCB in place where the screws are next to the cell holders. I used spacers on the mounting screws so that the nuts where above the cell holders. This does mean you’ll need 25 mm long mounting screws. I used counter-sunk heads so the bottom of the box could be flat.
  • Mounting the socket needs careful alignment if the screw holding the socket isn’t to clash with the screw holding down the lid. I made up a quick drilling guide but it was still tight. And the lip of the lid needs filing to clear the retaining ring on the switch.

  • The lid has just enough space underneath that there’s room for the cells to pop out of their holders if you whack the box hard enough. Two layers of thin yoga mat foam glued under the lid prevent this from happening by keeping the cells in place.

Burning Man panoramas

Deep playa, one morning before it got too hot and dusty:

Burn night, just inside the circle of art cars:

Sunrise the morning after, from the top of a Robot Heart art car in a heap of blankets and warm people:

Ambling home, complete with bonus Temple. They burned that one too though:

Burning Man: we survived

In short, coz back in Vegas:

Burning Man – I was aiming to survive and I succeeded. I’m told this year was particularly hard. There was lots of this:

Highlights being camp mates, surprise tackle-hugging Kiwi, the Temple of Mazu burn, the deep playa, and all the pretties. Low points being the brutal dust storms, the heat, and the wind.

As for my LED projects:

  • The Mitochondrion lasted long enough for plenty of spinning and I didn’t see a better glow staff out there. Strips slowly failed, until only one of the four was working, at which point I put it away. Lesson: rebuild the power architecture to run strips direct from the batteries, no UBECs.
  • The Too Bright Hat was still working by the end, but the battery life slowly dropped from five hours to one. Playa dust is conductive enough that the isolation from the strip power supply to ground dropped from unmeasurably high to 30k Ohms. Lesson: lacquer the traces and seal the strips.
  • LED Strip Drivers: Bombproof, except for the switches. These were not dust proof. The two drivers that sat in people’s pockets were fine;the three on people’s bikes died. Lesson: Seal against dust, even if that’s just a ziploc bag.

When I get home, I’ll do detailed write-ups of the Hat and LED strip drivers. For now, we have to wash and then fly a fair chunk around the world.

Further into the heart of the American dream…

…or something like that.

I got bad culture shock in SF (and still have more to write about that).

Then we went to Vegas. Oh Jesus.

So now we’re going to Burning Man…

Best part of Vegas was chilling with an old friend who works here. In her pool, in the ‘burbs.

Vegas pool party 20150830_184347

Totally chilled.

Oh, and if you need to contact me, it’ll have to wait.

Birthday thoughts

…after a Vegas birthday that took in two circus shows, one training session, and one visit to Walmart – it is connection that I value, not spectacle.

Also warmth.

Hence I am delighted by this present from Andrea, helped by Shyamtara, from a photo of me spinning the Mitochondrion Mark 4 at Kiwiburn in 2013 by Kellective.


I shall be wrapping myself in this at Burning Man.

Random SF thoughts while I try to clarify how I feel about this place.

SF Toast 20150826_104354

We caught up with a wonderful surfer/aerial friend at some cafe down by Ocean Beach. They had toast, apparently causing everyone to blame the techies. In their defense, it was very good toast.

It was like this:

As Andrea says, “you never see that the other way around – surfers carrying their skateboards”.

Saw sand dollars and a syringe on the beach.

Caught up with another lovely friend and went to the cafe at the de Young art gallery. It is entirely clad in bronze, because someone had too much money.

SF copper 20150823_155143

On the wall of the de Young was a huge copper slab ten foot tall listing their major donors. I could try to claim this as a piece of art that asks questions about the place of Art in America, but I have enough culture shock already.

Achievements unlocked!

SF 20150824_174444

✔ Drive in the USA
✔ Get cut up by a BMW
✔ Get cut up by a Lexus
✔ Get cut up by a white van
✔ Get cut up by a pickup with a bed full of rusty engine parts
✔ Catch a bus in the USA
✔ Catch a bus going in the right direction in the USA
✔ Be mistaken for a Canadian

Last minute Burner soldering

Jez 20150823_194737

With Kellective.

SF looks like it does in the movies. The cultural presence is such that, even from far away as NZ, you kind of know what to expect, or at least there’s a pre-existing set of stereotypes that mediate your experience here. For example, the vegan cafe in Berkeley that’s full of hippy attitudes, the eye-wateringly expensive art gallery in the park, the white homeless people ranting about spirituality, the black homeless people giving you the side-eye.

The trick is going to be getting past that. Or is that the reality and does SF just have a global cultural presence because that’s where so much global culture comes from?

San Fran

Incoherent jetlagged thoughts from Oakland:

SF is biz jets and crappy public transport.
Time from getting off a plane to seeing a hand gun: less than two minutes.
Hipster mac and cheese?
Sunny parks as lounges.
Lots of homeless people, mostly black, mostly not begging but just hanging around.
Drivers stopping for pedestrians and lots of bike parking.
This American flag towel wasn’t American enough, so they added an extra American flag in the eye of the eagle:

Namespace clash, or why these jumping Germans are using #happyinmotion?

My alert for “happyinmotion” has been going nuts, with numerous German women jumping up and down:

A photo posted by Carolin (@caroli_in) on

A photo posted by @thats.the.secret on

Seems a deodourant company in Germany is running a competition called Die Rexona motion challenges, as explained by this German blogger. Hence they’re all over Twitter and Instagram.

Clearly, this is unacceptable, so I’ll be changing the name of this blog to

A easier and more reliable way to join 144 LED per metre strips – sewing

The 144 LED per metre LED strips are stunning. The LEDs are close enough that they blur into a single bar of light. Sadly, the LEDs are close enough that joining the strips is a nightmare. The pads are tiny, joints are sketchy, the LEDs too close together to get an iron in there, and it’s easy to overheat and damage the LEDs. And I’ve had to make up four 1.4 metre lengths for the Mitochondrion LED staff, requiring joints in each.

So after much swearing and head-scratching I’ve come up with a better technique for joining them – sew them before you solder.

This applies to both NeoPixel and DotStar (APA102C) strips.

First up, cut the strips to leave whole pads. Don’t cut in the middle between LEDs, cut to one side. Yes, this means that the first LED on the part of the strip you are cutting off is now useless, but hey, you only lose one LED. I found cutting with a knife on a chopping board worked for me, my snips are far too large for this. The strips I’m using had adhesive on their backs, I scraped this off. The ends should look like:

Then make up a jig to hold the two ends in position, leaving both sides free. The ends of the strips should just butt together, for reasons that will become obvious. I only have one vice, so I used a clamp and some blocks from the workshop:

The next step is the fiddly one. I cut a length of multi-stranded hook-up wire, stripped the insulation off, and pulled out a single strand. I fed this through the holes in the pads and wove it back and forth. You could just make a simple loop, but that would leave the strip ends free to move and overlap. Instead, I wove some of the loops in a figure of eight pattern, with the strand crossing sides between the ends of the strips. This pattern can be tightened onto the pads and holds the strip ends against each other. Tweezers help. A picture is probably clearer than words, click to enbiggen to make it even clearer:

Getting the strand between the ends is easy, provided you start the sewing at one side of the strips and work across. That way you can hold the strand tight and pull it between the strip ends. Once I’d done a reasonable wrap, I took both loose ends of the strand to the back side, twisted them together a few times, cut them short and bent the ends down:

Now that the strips are held to each other and there is wire between the pads, soldering is a piece of cake:

And this is with a dirt-cheap, no-temperature control, medium-size soldering iron. I’ve yet to have a failed joint with this technique:

Bonus notes:
1) This technique does require an additional 1 mm between LEDs. This leaves a tiny, tiny gap. When the LEDs are on, I can’t spot the gap. If that isn’t good enough, then you could use the wire technique to overlap the pads directly and tie them together, but that’d require more complicated knots.
2) These joints are still just solder, so I wouldn’t bend them too much. Thick tape on the back of the joint seems like a good idea.
3) I really should write up my bombproof LED driver design.

LED strip drivers for the Flying Carpet

Driver boxes for the Flying Carpet, Marks 0 and 1. You could call this the march of progress, so long as progress is defined as smaller and tidier:

In fairness, I did the Mark 0 in a day’s rush before Kiwiburn, hence the horrible jumble. The Mark 1 is tidier, but of course building it revealed a bunch of extra tweaks to make assembly easier, like making everything through-hole, adding screw terminals, and shifting the sockets for easier access to the mounting screws. So there’ll be a Mark 2 and I’ll share that design.

The goal is a family of bomb-proof LED strip drivers, in a selection of sizes.

Specs for this version are: Teensy 3.1, level shifter, 34 Watt-hours of Lithium-ion cells, and 15 Watts to run NeoPixel or Dotstar strips. Will run 50 LEDs white and full brightness, 150 LEDs at single colour and full brightness, or many if your patterns are not full brightness. And a solid metal case that you can step on, and locking connectors so the cable won’t fall out.

Or maybe we just like to put googly eyes on all the things. This is the soft case for the hard case for the Mark 0 driver:

Mostly, I’m perturbed to be making plans for 2017

Spent today cutting and stacking about three cubes of mostly Japanese Cypress from some friends, with added mahoe from another fried, and mac and pine from our land. This will do for winter 2017, but when the hell did I start making plans that long?

And a shed full of bought pine for this winter, and pōhutukawa cut last year in piles for 2016, and we’ve now run out of space to store and dry any more wood. We were going to get some of the sycamores taken down this year, but that will have to wait until we’ve either burnt what we have in hand or made some more storage. Given we live in the side of a cliff, that’s tricky.