Emisar D4V2 Flash Kit Instructions (Official How To)

I believe i have the Cool White - XP-L HI V3 3A, 6500k

anduril.noctigon-kr4.hex

And the updated firmware is at your link?

Anduril 1 hex files can be found here (development for Anduril 1 seems to have paused for the moment, as TK is concentrating on Anduril 2):
http://toykeeper.net/torches/fsm/?C=M;O=D

Anduril 2 hex files are here:
http://toykeeper.net/torches/fsm/anduril2/?C=M;O=D

I think this might be my first time trying the reflashing kit bought from Hank, though I've used 2 other custom made pogo pin adapters successfully before. I'm trying to get it to work on a K1 and D4SV2 and not having luck (not working).

I'm using AVRDUDE v6.3 from Win 10 with this command:

avrdude -p t1634 -c usbasp -n

This is the result I'm getting every time:
avrdude: Warning: cannot query manufacturer for device:
avrdude: Warning: cannot query product for device:
avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'

avrdude done. Thank you.

I'm getting the pins aligned, the red LED on the USBASP lights up, and even the LED's on the D4SV2 head light up when holding the pogo pins down.

Anyone with ideas?

I can try swapping the USBASP (I got plenty), and buzz out the pins.

Ok, it's working! Swapped the USBASP and working now .

Not good the one it came with doesn't work though...

Great job Terry!
I would like to suggest the same procedure in simple mode with an android phone and an OTG usb adapter with pogopin
I think there is no problem. I have upgrade some flashlights days ago

Wasn't this covered in the second post (after my original instructions)?

Ops, sorry, I don’t see the second post.
But sometimes i remember it for new customers
I hope not to bother

How do you know what MCU to use with different lights?

D4V2 uses ATtiny 1634

What does the D4SV2 use? Or does that vary by driver?

Hmm. That’s a good question. There isn’t currently an easy way to find out.

The process, at the moment, is … use the version check function to get the 4-digit product ID code. Look that up in the MODELS file to get the name of the firmware build file. Then look in the matching build file to see if it specifies an attiny type. If so, it’s the type it says in the file. Otherwise, it’s attiny85.

Or… ask someone on the internet.

Neither of these is really a good solution.

As for Emisar products though, the V1 lights (like D4, D4S, D1, D1S) were all attiny85, and V2 are all attiny1634 (like D4v2, D4Sv2). All the Noctigon products have been attiny1634 too. But this info should probably be easier to find.



Edit: I modified how the MODELS file gets generated, so now it lists the MCU type along with the model number and build target name.

Thank you.

My D4SV2 has an older version of Anduril and doesn’t report a version number. At least not from 15C. I want to flash it to Anduril 2.

There is also a slightly weird thing with the d4v2 driver configuration: the builds (at least in the old version of the MODELS file) labelled “d4v2” were for the fet+1 driver, and the newer constant current driver uses the KR4 build.

D4v2 have 2 possible driver. Fet+1 and CC plus fet driver.
If you have CC you have to install KR4 firmware and NOT d4v2 firmware.
D4v2 firmware is only for Fet+1

The models file lists 3 firmware for the D4V2
d4v2
d4v2-219
d4v2-nofet

Those 3 firmwares are for the Fet+1 versions of the d4v2, i.e. older boards. Current ones use a CC driver that is the same as the KR4, so you want to use a KR4 build.

To see what you have, click 15 times (fifteen!), then count the flashes to get a date and version code, then look in the MODELS file to find the build matching that code. My fairly new D4v2 gives version code 0212 which in MODELS says KR4-nofet. See the Anduril manual for more info.

Light Veteran is correct. The build target names don’t always match the product names. This is mapped out in the PRODUCTS file, but that file isn’t always completely up to date.

So the most reliable method is to use this process: Ask the Version Check function what is installed on the light, and then use that to decide what flash during upgrades.

Thank you so much Toy!

I have one D4V2 (xp-l hi v2 5d 4000) that is model #0113 with A2 dated 2021.05.07. That should be the emisar-d4v2.hex file.

My second D4V2 (SW45) is model #0212 with A2 dated 2021.05.07. That should be the noctigon-kr4-nofet.hex file.

My latest Hanklight is a D4SV2 (W2). 15C does not provide a code. So we’ve concluded it has an older version of Anduril 1 that does not provide that code. I’ve downloaded the emisar-d4sv2.hex file for it so I can upgrade it to Anduril 2 when I receive my reflashing kit.

I’ve also downloaded later versions of the D4V2 firmware so I can upgrade those lights.

Is there a change log anywhere so I can know what to expect on the D4V2 lights after I upgrade them?

Edit: I plan to order another D4SV2 light but am still debating emitters. I might go 219 SW45, 219 SW35, or maybe a combo SW45/SW35. Regardless, I assume the firmware needed to update that to the latest Anduril 2 will be emisar-d4sv2-219.hex. Is that correct?

The only change log is the repository’s revision history:

https://bazaar.launchpad.net/~toykeeper/flashlight-firmware/anduril2/changes