thefreeman’s HDR Anduril 2 high efficiency drivers - update : FWxA boost driver

Great Job on this!! Watching closely.

My general hw request was to bring out some extra i/o pads, but in particular, it occurs to me that it would be good to have one with a (say 2x) voltage divider between the pad and an input pin, so you could put +5V on the pad and the pin would see 2.5V (I think it’s not ok to send a 5V input when the cpu itself is powered at 3.6v or whatever).

The feature I want this for is a “strategic flashlight” (as opposed to a tactical flashlight), inspired by an old CPF thread about the concept and a more recent one about power failure lighting. A strategic flashlight is one that is plugged into AC wall power and turns itself on in the event of a power failure, so you can find your way around instead of stumbling in the dark. Those old emergency stairwell lights powered by a SLA battery in a box are a classic example.

The implementation method here is that there are already some Anduril lights with built in USB-powered chargers, done by having a USB charging chip independent of the Anduril driver board. So the idea is to route a wire from the +5V usb power line to this voltage divider input pin. That would allow Anduril to detect whether the USB charger was plugged in and delivering power, even though Anduril itself currently doesn’t understand USB charging.

Anduril would then have a strategic mode where if the USB power is present and then disconnects, the light turns on at a medium (configurable) lumen level, and stays on for say 15 minutes or until power is restored. The 15 minutes (also configurable) lets you manually turn the light on or off without the timeout, and would stop the light from draining itself if it turns on when you’re not around. So you’d leave a light with this setup in your living room when you weren’t using it. If you wanted to use it (unplug it) without having the strategic feature activate, you’d just unplug it while holding the button down.

[Added: Hmm I guess a light with a charger would probably put everything on one board, or anyway the voltage divider could go outside the board, so all that’s really needed here is an input pin, which is good for other things anyway.]

In the long run I hope we can build USB charge control into Anduril itself, allowing getting rid of the separate charging chip, but that is out of scope for now.

Okay that sounds all well and good, but when do ya use all them EDC lights that folks are always talkin ’bout? Are EDCs considered tasticle or stratestical?

I have one. Will send you on thursday. And i’ll meassure FW driver cavity.

Acebeam uses those leaf spring loaded contacts in their tail e-switch lights, I no longer have a TK16 or TK18 to provide pics unfortunately. But their tail e-switch lights are the only ones I have found that have no reliability concerns at all, so I think this is a superior general design concept. Much better than a free floating tube a la FW series or the large coil springs a la Noctigon KR series.

> Okay that sounds all well and good, but when do ya use all them EDC lights that folks are always talkin ’bout? Are EDCs considered tasticle or stratestical?

We all have so many lights that it’s more like we’re having an arms race with ourselves. We have enough lights to elim— I mean _illum_inate everyone on Earth 37 times over ;).

ain’t that the truth—i have to order pants with extra pockets added just to carry all the EDC flashlights and knives that have to be carried.

It seems to me that most flashlights with USB charging have the USB circuit on the driver board, that’s the case on the Anduril flashlights that I saw disassembled (or disassembled myself, IF25, FF E12R), I think that’s how it is in general. So basically this feature would require making a specific driver for one host with USB charging, which is a whole lot of work, at this point adding a solder pad and a voltage divider is trivial.

But assuming a separate USB board, on my driver here there isn’t much space arround the MCU to add a voltage divider (most of the seemingly empty space is needed for the thermal vias and copper pour for thermal dissipation) , unless I move a lot of thing, or use smaller AUX led pads, or remove one. But if the voltage divider can be outside the board then there is space for a small solder pad next to R8, I can add that it’s simple enough.

Yep, I added an edit a few hours after posting, on realizing that the voltage divider could be outside the board. I’m just hoping for enough pads to handle several sensors and/or auxiliary leds, of which the USB power detection could be one. I haven’t looked at any of the boards with USB charging and in case it isn’t clear, I’m an ok programmer but I’m not that clueful about hardware. :wink:

Oh but it would need to be on the front I guess, I would need to squeeze the AUX pads closer together to fit another one.

I made two of the new version, one for a D4v2 and one for a KR1.

I started with the KR1 :

To have sufficient height for the 3mm inductor I used 0.8mm (0.9mm actually) boards with a spacer, as bonus they have 2oz copper weight.

Eurekatronix B35A boards have the holes at 90° so I drilled two new holes for the wires.

B35AM 4000K 9080 installed and at the lowest level (3μA) :

With the Ledil Olga RS


I haven’t yet made an AUX board for it, which is a good things because I planned to have the optic sit on the 0.9mm AUX boards, except after testing I see that raising the optic by 0.9mm degrades the beam quite a lot, a small but obvious egg yolk on the spot and the ghost LED image at the corona that JaredM talked about. I’ll have to make a big hole for the optic in the aux board.

About the driver, I configured it to 3A for the B35AM, it can take more (up to 4A) but I prefer a longer turbo.
That said I’m wondering if the thermal regulation is actually working, I haven’t tested that before because it was only on my test bench with the LED on a heatsink, the temperature reported is also low, I wonder if I messed up something in the code, when modifying the VREF maybe ?

The little flash that I mentioned at turn ON with the MP3431 is still there but greatly reduced with the hardware delay on the HDR FET, I’d say it makes a very short ~0.5mA flash now, hardly problematic.

This is starting to look pretty good ngl :smiley:

Omg

Heavy breathing….

This is still your attiny1616 board? Is there a UPDI connector? I will spend some time looking into the GDB interface for UPDI. It will be great if we can interactively debug the flashlight. Then you will be able to look at the reading from the internal temperature sensor from the debugger, for example. Meanwhile, is there already a way to blink the temperature measurement in at1634 Anduril. If you had to port it to the 1616 and aren’t sure of it, it seems straightforward to test it with a heat gun and/or some coolant spray.

Pretty good? That looks incredible. Great work
(pics removed from quote)

:smiley:

Yes I’m only using the t1616. There is a UDPI pad for flashing, on which I can solder a wire if I need to do more stuff. But for most of the firmware debugging I can just use my xplained nano dev board (I replaced the 416 by a 1616 on it). Yes I shoud look into the temp sensor reading via UDPI debugging.

The Anduril temp reading is weird, it does one flash, pause, then a series of flashes, pause then another series of flash. Like the temp is in the hundreds or something…

Thanks, there are still some stuff to iron out but mostly firmware now, improve the ramp, check the temp reg, and I’d like the dual sense HDR to be properly supported.

That quote though, can you edit and remove the pics?

Done, took some doing on mobile

For D4v2, do you think you can include a series resistor to limit current to the pushbutton led? The low standby mode right now uses the pullup included in the MCU, but it is still way too bright in my opinion. It should be about 10x lower, equivalent to a small tritium marker. Just bright enough to find the light in the dark.

Very nice work!!!

Well firstly it lacks a fourth aux led pad, I thought about adding one when drawing the board but decided to place well spaced not too small pads for easier wire soldering.

Secondly there isn’t much space left for aux led resistors, if I had used 0402 passives I would have had plenty but decided to use 0603 for easier building, I also don’t want to squeeze the components more, I built Mike C 17mm boost driver and I though the components where packed a little too close together, I would have find it easier to make it if it used 0402 actually.

Once there is full Anduril support I can remove 4 0603s so I’ll have a bit more space on the back for adding resistors (I’ll need to shuffle things arround so it depends how that turns out).

That said is it really necessary? the button led resistor can be changed, the retaining ring needs to be popped out but I saw people complain about it popping out on its own so it must not be very hard to remove.

I’ll see if I can use slightly smaller, closer pads to include a 4th one on top, which could serve as a miscellaneous pin as you suggested, when not used for a button led.

Thanks.

Aside from that I finished drawing a smaller one with 14mm clearance diameter :

It uses a TPS61178 which I can run at a higher switching frequency so that I can use a smaller inductance and capacitance. It will be limited to 20W (e.g. 3A at ~6.5V).

I also modified the TPS61288 version to hopefully eliminate or reduce enough the noise at low current :

Capacitor coupling and increase of capacitance as mentionned in the article about MLCC noise I linked previously.
I added a lot more vias for better thermals.

I just realised something though, the output of a boost converter is always connected to the input via the high side FET body diode, meaning any kind of resistor load on the output will always draw a current… like the resistor I added to prevent the TPS61288 switching frequency going too low, for example 10k (500 uA at 5V) resistor will have a 370~230uA parasitic drain, not great. A solution would be to wire it to a NFET and only turn it on when necessary. Which means another ramp controlled pin (I only hacked support for one (HDR FET) in Anduril).

I may have misunderstood but I thought you could only select between low and high current to the button led. The high current is controlled by a resistor on the board that can be changed, but the low current is controlled by the on-chip pullup that can’t be changed. So making the current even lower requires adding another resistor.

Or do you mean change the resistor that currently controls the high, to make it lower than the existing low? I didn’t realize that was possible, but if it is, that is good enough imho. I don’t feel that the high mode for the button led is really good for anything in the d4v2.

As a matter of preference (i.e. this is just me, others may feel differently) I find the button led great as a locator, but the aux leds for that purpose aren’t that useful. So I don’t mind giving up the ability to light the aux leds during standby. By giving that up, maybe the board can be simplified by replacing the RGB aux leds with digitally controlled ones (APA102). That might eliminate some wires, and also allow controllng the aux leds individually from software.