A short while ago, I decided that I wanted to make the most fully-featured EDC pocket-light of which I could reasonably conceive.
After thinking of a few ideas and reading around lots of threads on here and r/flashlight for inspiration, I decided that I wanted an 18650 light
which would output up to approx 1000lm, and that it must have a CRI of at least 80, and be neutral white (somewhere around 4000-5000K). And it must be as compact as I can physically make it.
I decided to go with the most compact 18650 light of which I’m aware, a DQG Tiny 18650, to maintain good portability without sacrificing runtime.
I settled on a Nichia 319A for the emitter, as it would have a sufficient CRI (min. of 83), and according to a graph below, it would output approx 1000lm at 3A. Unfortunately, even at 3A, it has a forward voltage of 3.25V.
Linear drivers are most common in single-cell lights (the S2 above is 7135s, the 2C V2 is an LD2 driver), but with a full charge there would be a 0.95V drop across the driver. At 3A, this results in 2.85W burned in the driver. That would make 7135s VERY unhappy, and would (to me at least) be an unacceptable waste of energy in such a small EDC light.
I decided therfore to use the lowest-dropout buck driver that I could get my hands on. After it became very apparent that 90+% efficient buck drivers designed to work on 4.2V and being smaller than 19mm diameter were hard to find, I settled on an LD-29 driver from Fasttech, and hoped that I could trim it down to 19mm.
HKJ’s review of it demonstrated an approximately 0.5V overhead needed to sustain the 2.8A output. With an XML2/XPL, that would cause high mode to decrease as the battery falls below 4V. With a 319A, however, that drop instead starts at 3.75V, at which point, the battery has very little capacity left anyway.
Unfortunatley, the LD-29 is a power-switch (‘clicky’ type) mode-change driver, and the DQG has an e-switch (‘momentary’ type). Also, the LD-29 only has three alright-spaced modes, the lowest of which is ok in itself, but is far too high to be ‘moon’, and it has no other modes or functions (apart from the low-battery shutoff and an optional blinky mode).
I wasn’t sure what to do, so searched around for info about the LD-29 (in hopes of reprogramming it somehow - it hadn’t arrived from china yet, so couldn’t test it), and I stumbled onto this thread:
https://budgetlightforum.com/t/-/27608
where Wight had poked around the MCU pins while operating, as I had planned to do, and had deduced which pins did what.
So, I knew how to replace the MCU with something re-programmable, but I hadn’t decided on a firmware with a mode set and UI that I’d like.
Once again, I read through the Firmware Repository index file, and saw that many of the nicer more fancy e-switch firmwares were designed for the Attiny85, as it has much more ROM, RAM, and EEPROM space than the standard Attiny13. After some more reading, I decided that the closest to what I wanted was Tom_E’s “Narsil” firmware. (I had previously planned to put a small UV LED in as well, but decided against it after realising that there was not sufficient room)
I had to use the low voltage Attiny85 (the 85V) as the LD-29’s regulator outputs 2.5V to the MCU . This is so that a given PWM output of the MCU will always produce the same average output voltage, as the control input for the buck controller chip is actually an analogue voltage level, and the MCU PWM is fed to an RC low-pass filter - essentially turning the PWM output into an 8-bit DAC. Because the MCU VCC is always 2.5V, the voltage output of the ‘improv-DAC’ for a given PWM value will always remain constant independent of battery voltage.
I programmed it with Narsil a modified version of Narsil which took me two weeks to fully debug and test, and soldered it into the LD-29. To summarise the changes, the ‘brightness mode sets’ and config have been removed (except for thermal limit calibration), and another table has been added to the ramping system, simulating a ramp behaviour but between discreet brightness ‘steps’ (this also involved a lot of modification to the ramp-handling code, which I won’t detail here). The ‘on-board LED’ function was re-purposed to switch an ‘enable’ pin on the LD-29 which puts the buck control chip into a low-power state when the light is off and idle (this reduces quiescent current from 3mA to 0.45mA, which is still not as good as many other drivers, but is acceptable, and is significantly less than it would otherwise have been). I also configured the ‘blinky’ modes to be strobe, 2 sec beacon, and an improvised but somewhat effective ‘virtual lightning mode’. It is set up to always use thermal step-down, and I have tweaked the code so that step-down works with both continuous ramp and step mode, and so that repeated step-downs happen sooner if the temperature does not drop fast enough. Also, for the sake of convenience; the last used brightness level (in either mode), whether ramp or step mode is active, and the thermal step-down limit are all saved in EEPROM, so when I change the battery, it turns back on exactly as it was. EDIT because I forgot: the ‘firmware version blink’ mode after the ‘battcheck’ and ‘tempcheck’ modes was not of any use to me, so I changed that to toggle between ‘continuous’ and ‘step’ ramping modes, with either a short smooth ramp up or three consecutive increasing steps to indicate which mode it had just been switched to (shown in the video).
Sorry, I didn’t take any photographs of those steps, but the finished driver is shown below.
I trimmed a ~20mm Noctigon down to ~18mm with LOTS of filing, and cut a slot in the side to fit the switch in.
I also drilled holes through the DQG’s small integrated shelf and the Noctigon to pass the LED wires through. The smaller wires for the button were passed through a small gap between some SMD components and the shelf.
The switch was filed to size and soldered on, and the shelf and Attiny85 were covered in a thin layer of thermal grease (for heat transfer and temperature monitoring respectively).
The noctigon was installed, soldered, and press fit into place, with the switch fitting snugly in place.
Much fiddly assembling later, and voila! A small 18650 light with good light output (5000K/83CRI), plenty of it (900+lm), and a UI exactly as I like it.
Moon with and without a mild diffusing filter:
Here’s a comparison between a (supposedly) ‘neutral white’ Cree XPL-HI in the S2 from Fasttech (which I’d estimate at 5-6000K with a straw-ish hue), which will have a CRI of approx 70-75, and the DQG, which is an SM503 bin, 83 CRI Nichia 319A (5000K) :
Note that the colour of the stems is ‘light brown’ rather than ‘yellow’, and the leaves are a more true-to-eye shade of green in the right-side photo. Also, the red of the petals is brighter and more vibrant on the right, despite that light being ~150lm less than the left. This is also more true to life, though I personally find the camera’s depiction of the shade of red is not exact, as the petals appear slightly pinker to my eye (though that is under cloudy daylight, which is closer to 6500K). The above photos were taken at night, so the difference between my perception in daytime and the camera’s ’daylight’ white balance should be equal for both photos. The camera’s ‘daylight’ white balance will be around 4500K (for direct sunlight), so that explains why it looks different to a cloudy day. The camera was set to manual, the same ISO, shutter speed, and (daylight) white balance for both photos.
It’s raining heavily at the moment, so no beamshots for today. I’ll take some tomorrow if the weather improves, and update this then. The reflector is from a Jetbeam JET-1 MK, and there is a mild diffusion filter, so if you’ve ever used an AA/14500 light with an XML or XPL size emitter you already have a good idea of what the beam profile looks around the house or outside. It’s a nice balance between the floody spill and some mild but usable throw, with a diffuse, smooth transition between the two.
Here is a short video demonstration of the UI and mode operation (I forgot to show a few things like lockout, but they are the same as normal Narsil, also there are a few 10s pauses in the middle when I demo ‘lightning mode’ the most interesting stuff is after this, so don’t think that the video has ended ):
Thanks and credit where due to:
‘Texas_Ace’
‘Clemence’
‘HKJ’
‘Wight’
‘ToyKeeper’
‘Tom_E’
And anyone else I may have forgotten, for the data/projects that helped me to make this,
and for their continued contribution to making BLF a better place.