Anduril Firmware Flashing - Emisar D4S

Is there anyone in the Dallas/Ft Worth or Austin, Texas area who is experienced in flashing the D4S? I’m hoping to find someone willing to assist or hold my hand for a first-time update on my unit. I’m interested in playing around with some mods to Anduril, but I don’t want to turn my flashlight into a brick in the process.

I’ll buy whatever hardware I need, I’ll travel to you, and I’ll bring the beer.

I have flashed a grand total of one (1) D4S to Anduril. It was pretty straightforward, but I did have a little bit of trouble getting my pins to stay in the programming holes at first.

I relied pretty heavily on this post: BLF Link

I used ToyKeeper’s pre-made binary file (latest D4S “.hex” and make sure you get the Nichia version if that is what you have so you don’t burn the emitters, otherwise the non-Nichia version should be what you are looking for). If you want to edit the code and compile (not sure if this is the right wording…) a custom version of Anduril yourself, there are others more qualified to help than I. I think I’ve seen some threads with ToyKeeper discussing this subject.

I got all my hardware from Amazon because I wasn’t willing to wait for over a month to get it from China just to save a tiny bit (Prime gets most things to me within a day here in Dallas). I bought a SOIC clip too, but I didn’t use that on this light. I just used a male to female dupont connector (or I think 6 technically) from the USBASP to the D4S like that post suggests, but mine were slightly too big to insert into the programming holes. I got it to work eventually by holding the pin close to the end with a pair of curved needle-nose pliers and pressing firmly. The pins had just enough purchase to stay in place while I flashed it. There may be a more elegant way to do this (pogo pins or something similar…) but for a one-time flash this worked well enough. Make sure you run the command to test the connection BEFORE flashing… I checked it several times because I am paranoid. If that command comes back successfully, then you can flash. I’ll see if I can find the post I followed for this step.

As far as the computer part goes, I didn’t want to muck about with Windows driver signatures, so I grabbed a copy of the latest Ubuntu and threw it on a cheapo laptop I had laying around (working in IT has some fun benefits). I will have to look around to find the info on installing the necessary tools for flashing in Ubuntu, but everything I needed was installed with apt… simple as “sudo apt install fubar (or whatever the tools were called)”. Windows will work too, but if your computer skills are a little light I’d recommend using one that isn’t critical in case the drivers give you issues.

I am happy to answer any questions that I’m able to. Probably can’t do anything in person right now because I’m finishing up several projects for work so I can celebrate my anniversary with the wife (probably going to the gulf for some deep sea fishing if things work out timing wise).

Thanks very much for the detailed response! I read it last week, but I was on travel and it is tedious to respond using only my phone. I had read that post also, I just lacked the confidence to jump in without a little hand-holding (and possibly ruin my light).

I would prefer to use windows XP or windows 7, as those are the OS I have on machines at my home. I’m actually an electrical engineer, but not of the software/computer variety. The computer is just a platform that allows me to run design and analysis software, LOL.

I appreciate the offer to answer questions, as I will probably need a little more help. I’m going to start ordering hardware as soon as I get back from this next trip (leaving tomorrow and returning to Dallas May 27). My SO has Amazon Prime, so maybe that will help.

thanks again!


As long as you don’t change fuse bits as you flash the pre-compiled Hex files available from TK you only risk having a light that doesn’t work cause the FW doesn’t match the HW, not cause it’s actually bricked. Easily fixed by flashing the correct file…
The risk of bricking it comes in when you start changing fuse bits for no reason and making your own builds.

Grab TK’s latest build, flash it (that’ll be a task in and of itself; getting avrdude setup and connecting programmer->driver) and get that part down then start on the atmel studio side of things [first] building unmodified code amd [only then] modding code yourself.

The steepest learning curve for me was by far the atmel studio side of things. Getting the HW working (Usbasp) isn’t plug and play but zidag (a driver installer) got me going without too much BS.