Flashlight Firmware Repository

Does it have to be Anduril, and not Anduril 2 (A2)?

I know I did this: built a FET only version, possibly even on a TA driver, but not sure if it was Narsil or Anduril - definitely pre-A2.

I'm really only active with A2 now.

Just use the no-FET version and switch the output pins?

Not sure what the no-FET version is. Is that done for a straight 7135 bank? If so, probably works with the I/O pin re-config, just not as smooth ramping as high amp/output FET, then the thermal reg. might not work too well.

Yes, no-FET versions are for single channel lights, like 7135 bank or single constant current regulator. Instead of modifying the driver you can change the hw-config file, of course. Then use a single channel config as a template.

The resolution depends on the MCU (is it 8 bit or 12 bit PWM?) and the curve might need some tweaking to make it look linear. Not sure how thermal regulation behaves on a FET-only light as lower levels are expected to not need thermal regulation AFAIK, but I might be wrong. There are some parameters you can tweak in the config file, but I’d wait for ToyKeeper, who has tested so many different lights and might have a better insight of how to change these parameters.

Agree, TK would be best. I've generated my own ramping tables using the Python script she wrote - works well.

Getting it to run on a FET-only light probably isn’t difficult, but it’ll depend on the exact hardware, and in particular, there are difficulties at the low end as already noted.

With a tiny1634-based driver, the low end can be improved (lower and smoother), but on a tiny85 there’s little to nothing which can be done, depending on the exact hardware and pinouts.

If it’s this driver, and if I read the diagram correctly, it looks like it uses an attiny85 and the pin mapping is something like…

  • pin 5: 1x7135
  • pin 6: 8x7135
  • pin 3: FET

The easiest way to run this FET-only would be tell FSM it’s a 3-channel driver, and put zeroes in the ramp tables for channels 1 and 2. I haven’t made the tiny85’s pins reassignable yet, so the FET would be treated as a third channel.

The t85 has a maximum resolution of 8 bits, so the lowest level will be fairly high. It also has the ability to change the “TOP” PWM value, so dynamic PWM is probably possible… but I haven’t done it that way before so it’d need some extra work and experimentation. Or it could potentially be improved by implementing delta-sigma modulation in FSM, but that’s a fairly deep change… and pin 3’s PWM circuit isn’t buffered, so the DSM output would be a little glitchy. It only works cleanly on pins 5 and 6.

Alternately, it could just have coarse resolution for low modes. That’s the easiest solution.

If possible, I’d recommend using the 7135 channels for low modes. It goes lower, is more precise, and is more stable. But if it’s a higher-voltage light, like 2 or 3 or 4 cells in series, the 7135 chips won’t work.

Thanks for your replies, Tom E, SammysHP and Toykeeper. :beer:

Anduril or Anduril 2 are both fine. It is the 30mm TA driver that you linked, Toykeeper. I’m planning to use it on a 4 cells in series flashlight. It did work fine with a single 6V XHP70 but it failed with a few XHP70. That is why I’m asking for a FET only version so that I can remove the 7135s from the driver.

A coarse resolution for low modes would not be a problem, it doesn’t need to be too complicated.

Yeah, same problem here, same reason for me. The 7135's can't take high amps at 6V.

Can somebody please help me to find a momentary (e-switch) firmware that works with BLF A6 driver?

I need something really simple, 1 click on, 1 click off (and maybe a long click to change mode)

If it doesn’t exist I would really like to pay someone to help me with that.

Try looking at the sticky threads like STAR at the top of the modder forum,

https://budgetlightforum.com/forum/otherled/mods

for attiny13a firmware. Without having looked at the code I don’t know whether the UI you want is there already, and/or whether it would be difficult to do. Either way, you will need some special hardware to reflash the chip on the driver board.

May I use “anduril.2021-08-31.ff-pl47g2.hex” to upgrade my pl47 MU nichia?

Check out toykeeper’s baton FW in the ferrero rocher folder. Not sure if it is 2-channel, but it is for the attiny13a.

https://bazaar.launchpad.net/~toykeeper/flashlight-firmware/trunk/files/head:/ToyKeeper/Ferrero_Rocher

Toykeeper’s baton FW is a single channel FW.
Attiny13A Diagram

Not Used - |1 8| - VCC
E-switch - |2 7| - Voltage ADC
Red LED - |3 6| - PWM
GND - |4 5| - Green LED

I’m not sure if that still uses the same firmware or if it’s a newer light with one of LoneOceans’ drivers. If the firmware is recent, you should be able to find out by using the version check function as described here. If it blinks out a product ID, use that. Otherwise, if it doesn’t list a product ID, it’s probably old enough that it uses the firmware you linked.

Gen1 Emisar D4S Driver issue:

Hi all.

I have an older D4S that’s using this driver, with this type of flashing pads:

For some reason i can’t update it beyond “anduril.2019-12-17.emisar-d4s-219c.hex”

New’er builds beyond that, or Anduril2 doesn’t work on this driver.
My best guess is that some pinouts changed ?

Just got this in an email from Microchip/Atmel, EOL notification on our old gem Atmel Tinys:

https://www.microchip.com/product-change-notifications/#/16686/GBNG-14CATI014

Ouch!!!

Ooops! False alarm...

Hello,

I recently upgraded the firmware of a Sofirn SP36 BLF LH351D 4000k (old version without powerbank-functionality) to Anduril 2 (and added two 5.1kohm pulldown resistors to the USB-C CC1 and CC2 pins to “ask” USB-PD compliant chargers for 5V using C-C cables). I also changed the button LED colors to red and yellow instead of red and green. The yellow LED’s seem to have a higher Vf than the green LED’s though, so the button LED is now unfortunately only visible on “high”. I tried decreasing the on-board current-limiting LED from 1k to 500ohm but that didn’t really do much… Is is possible to change something in the firmware to increase the lower button-brightness? Thanks!

(I flashed the “anduril.2021-12-13.sofirn-sp36.hex” file btw, and so far I noticed that SOS is missing from the Sofirn SP36 (Pro) & Q8 (Pro) diagram, but I won’t miss that haha)

No, that’s not possible. The low brightness is determined by the internal pull-up resistor of the microcontroller.

SOS was not enabled for most targets until recently: ~toykeeper/flashlight-firmware/anduril2 : revision 640

I see, thanks for the quick response! Could I change the 1k resistor to maybe 100ohm to get a higher “low” brigness? The lowest I went to was 400ohm I think… Although when changing resistors the “output” voltage didn’t seem to change all that much so I doubt that’s going to give the desired effect, I suppose I just need to find yellow/amber LED’s with a lower Vf…


I see, thank you!

Which anduril 2 file should I use to refresh the FWAA? This is fet+1 with tiny85. Emisar D4 makes the most sense for me.