A wifi connected light for vivid colours in the wild.
Finally soldered that QFN package. It wasn't so hard after all!
All the LEDs run at 350mA as verified by my lab supply. Here are some colour outputs:
Next up is verifying that charging works, writing some simple battery management firmware, implementing PWM, make some drivers and services and then hooking the unit up to our WiFi.
Mounted the battery holder and the heatsinks and took some better pictures.
I'm pretty happy with the construction so far. Still haven't had the time to solder that QFN, so since it distributes power, I cannot run the system through the battery quite yet (without cheating). My mistake with the QFN was making the ground pad on the footprint too small. That way, the surface tension of the solder won't align the package properly.
PCBs arrived, and are halfway soldered up. Here with pure white LEDs.
All the LEDs work as expected. Turning them on in succession has now left bright white spots in my vision.
Next up is getting that tease of a QFN package soldered on. I've given it several tries with solder on the ground pad, but it doesn't quite align as I want it to when the solder melts. Will cheat with a bit of thermal double sided tape next.
Some things are new since last time
I've not changed the LEDs for Cree LEDs yet, but I might give it a go later.
You see that ISP connector? The holes are disaligned to make the header act as a snap-in component, inspired by a test by Sparkfun. The yellow rectangles are bare copper without solder mask to ensure low thermal impedance to heatsinks.
Some thoughts have been put into how it all fits into a casing -- let's see how that resolves. I left some space around the heatsinks so that the casing has some PCB to hold onto.
Ordered at Seeedstudio for $10 / 10 pcs.
Took some time to clean up the project, but here ya go:
I originally thought to design the Lys with RC filtered PWM driven BJTs to drive the LEDs as described in this post.
HAD member warhak-avg gave the great tip of using the dead simple AMC7135 linear LDO 350mA current regulator as a LED driver. These can be connected in parallel to increase the current with 350mA increments, and are therefore widely used in cheap, but powerful flashlights. Using BJTs as LDO LED drivers would work as well, but at the cost of causing a fair bit of grief on routing the PCB. These just work, without occupying 6 ADC channels on my micro :)
Multiple AMC7135s populating a LED driver board in a flashlight. Photo by Slacker @ Budgetlightforum
This IC has no input to regulate current, but a work-around is to PWM the power supply pin of the regulator to adjust the total amount of light that is output. We'd like to have a high as possible PWM frequency to avoid flicker, also as seen by a camera. As the IC spends some time stabilizing the output, as demonstrated in a blog post by Pratik Panda, we cannot switch it too quickly. According to his findings, 6kHz with a minimum duty cycle of 5% is the best approach. As far as I can find out, that should produce no visible flicker on cameras.
Pulse response of the AMC7135, by Pratik Panda.
Oh, and I'll soon post the hardware files to GitHub. The PCBs are on their way in the mail.
As I wrote in a project log in the Lys Bright project which this light is pretty identical to, an update is needed for the cheap arse LED drivers to provide stable luminous output and quick response. There are also some other updates to power management that will solve some potentially time consuming technical challenges, at the expense of higher component cost.
Meanwhile, here's a gif showing off the colour output on the current version at 70%. The exposure settings are contstant: