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.
- 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.
- 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.
Originally published at Happyinmotion. Please leave any comments there.