Flashlight Firmware Repository

Toykeeper,

Thank you so much for your time. Unfortunately I do not believe that is what I have going on here. I have a steady hand and good eyes with plenty of quality light. I have been able to update other lights since, and have attempted this one over 30 times with the same result. I had previously used multiple versions on the 9.3, however as soon as that failed upload occurred there have been no signs of life.

Update:

Have rebooted my pc, and left the adapter unplugged for half an hour. Reflashed a D4V2 first try. Then attempted 20 additional times, carefully repositioning and verifying connection each time with no success. Then to verify the adapter status I reflashed the D4V2 again in 1 try.

That is unfortunate. I have a couple lights which are extremely difficult to flash, so I don’t do it very often because each time takes dozens of attempts. In one case, I had to try over 200 times before it finally worked. I never did figure out why exactly it has issues while others don’t, though.

It’s also possible that the flash could have sent exactly the wrong data, causing it to underclock itself or something at boot time, which would make reflashing fail. But in several years of reflashing chips rather a lot, I haven’t seen that happen.

OTOH, I have an old FW3A dev host here which was fine for years, and worked fine last time I reflashed it… it even boots up and runs Anduril normally. But I can’t get it to flash any more. It acts like it’s not connected. I haven’t tried cleaning it yet though; it could just have dirty contacts.

I suppose I will give it some more attempts each day until I break down and order a replacement. Wife is not enthused that I broke “her torch”.

My sympathies. If I ever find a practical way to revive it, I’ll let you know… but so far, the only method I’m aware of is to unsolder the MCU and use a high-voltage programmer on it. Or just keep retrying and hope. :frowning:

It might help to twiddle the 3.3V/5V jumper, but it’s kind of a long shot.

Thujone, I have a spare D4V2 driver board that I can sell you for what I paid for it ($12 I think). But, I am told that replacing it is difficult because of having to solder a lot of wires in a small space. ToyKeeper’s idea of unsoldering the MCU to do the HV (high voltage = 12V) reflash method might be easier. I have never done this and don’t know whether you’d really have to unsolder the entire MCU or just the relevant pin. It’s disappointing to hear that this can’t be done through the 6 pin interface without removing the MCU from the board. What a pain.

I notice illumn.com has some D4V2 in stock in California if your wife doesn’t want to wait for a replacement to arrive from China. They ship pretty fast.

There are probably people on this board who can fix your light by unsoldering the MCU etc .if you’re not up for that yourself. It will definitely be quicker to get a new light, but if you fix the old one afterwards, then you have a spare. I’d offer to give it a try, but I don’t have the tools for it (SMT hot air rework gizmo).

That doesn’t help.

About the high-voltage thing, it’s almost certainly not an option. It requires special equipment to do the reflashing, and getting the MCU off/on is rather difficult due to its form factor. Even just getting the K9.3 driver out is difficult, since there is so much hardware packed into a tiny space.

If reflashing via pogo adapter fails to revive it, Thujone doesn’t have any good options.

Ah whoops, somehow I got confused and forgot what model of light this was. It’s a real pain if the HV reflash can’t be done in-circuit. I guess the pogo pin programmer doesn’t have the 12 volt output anyway. Thujone, don’t throw out your light, it is likely repairable with some expense and hassle. Meanwhile though, yeah, it sounds like you better buy another one. Illumn does have some Noctigons in stock, and fwiw my D4v2 took only around 2 weeks to arrive from China, much faster than I expected.

I’d say the K9.3 is one of the less difficult Emisar/Noctigon to repair, driver cavity has a lot of depth (~10mm) compared to the ~2.5mm of the D4v2/D4Sv2/KRx, which allows to use longer wires, the solder pads on the MCPCB and AUX PCB being more spread out makes soldering the wires significantly easier than on a D4v2.
Still not exactly an easy job and it depends a lot on one’s skills.

Hank sells drivers as spare parts.

I would need to reflash a driver to use only the FET. Is there any FET only Anduril HEX file? How would it be possible to compile one?

Hhmm, I think I did this a while back. Depends on your driver/hardware and what issue(s) you can live with, or not. If it's like a FET+1 but without the FET (i.e. direct drive FET), then at low PWM the smooth ramping is not so smooth, so if you could live with it being rough, or raise the low end of the ramping. I think even the lowest possible ramping level for a FET is still not that low. I don't know if TK's new "better low modes" changes could make this work better or not.

It's fairly easy to generate Anduril / Anduril 2 for 1 channel, and create a FET only ramping table - that's basically all you need to do. I don't have a working, tested version handy. Again, at a minimum, I/we would need specifics on the driver - I/O pin assignment for the FET channel, etc.

Thanks for your reply, Tom E. It would be a 30mm Texas Avenger driver that I bought on Oshpark.

It would not be a problem if the low end ramping is a bit rough and not too low.

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.