Anduril Flashlight Reflash Reference (UPDATED FOR 2024)

Not really helpful but mine worked fine on a Samsung tablet with an old OTG cable

1 Thank

@LuxWad can you add Narsil lights can be reflashed to Andúril?

Also, when a model number is missing, search in Models.txt from Gchart
For new Sofirn and Wurkkos lights he has probably the newest version.

4 Thanks

@LuxWad can you add Narsil lights can be reflashed to Andúril?

+1.

For new Sofirn and Wurkkos lights he [@gchart] has probably the newest version.

I can second this: when I was looking for the newest version for my TS10, the one on his repo was more up-to-date than even ToyKeeper’s.

2 Thanks

Thank you for linking gchart’s list, it is a very useful resource! I will add it to the guide.

As for Narsil lights, I am not familiar with very many as I did not enter this side of the hobby until around the release of Anduril 2. I will consider adding them to this list, or making a seperate list for them.

3 Thanks

This is an outstanding guide. Thank you for all that time and effort!
I also thank you for including my D18 guide. I learned very much from other forum members and redditors and I’m glad that I can give something back.

4 Thanks

I just saw that the Wurkkos HD15R has flashpads, dispite it has its own UI.
Picture from zeroair

Has anyone tried to flash Anduril2 on a Wurkkos HD15R / Wurkkos HD15 ?
@ Toykeeper Can it be the UI is an reduced Anduril? Any way to find it out?

1 Thank

And what MCU inside? Anyway is it worth it to run Anduril in trash driver and host?

I don’t know, but you could try to connect to it and see if it responds with UPDI, then get the MCU ID, maybe dump the ROM, and compare the file to a dumped version of Anduril to see if it’s similar.

3 Thanks

Thank you very very much for your guidance, I’ve been able to reflash my SC21 Pro to Anduril 2 (it was Anduril 1, don’t remember the version, now it’s 2022 10 12 0632 Anduril 2).
And my SP10 Pro to the latest Anduril 2 available (it was 2022 04 18 0631 , now it’s 2022 10 21 0631) .
Also my TS10 to the latest Anduril 2 (it was 2022 07 18 0714 , now it’s 2023 05 03 0714).

=====

My reflashing setup is with Samsung Galaxy A52 Android phone, ZFlasher AVR app from Play Store,
and USB to Serial TTL adapter CH340.

Not without trouble in the process though, infact I ran into trouble so much so I almost gave up.
I bought USB to Serial TTL adapters that look extremely similar to the one in the Amazon link.
But mine didn’t work. And it was really my biggest hurdle. I bought two and both of them didn’t work.

I spent hours and hours fiddling with jumper wires, pogo pins etc etc etc, thinking my wire connections were loose or dirty.
I even installed AVRDUDE and tried reflashing with my laptop, with the hope of a different result. Nope. Exactly the same failure :
“Chip initialization failed.”
My USB-TTL adapters came with a simple jumper between RX and TX.

=====

Well, basically I didn’t know (or didn’t pay enough attention) about additional resistor and/or Schottky diode for RX - TX of UPDI.

=====

Luckily I found this on github :

SpenceKonde/AVR-Guidance/UPDI

This part specifically is extremely helpful :
"I recommend the CH340 as the go-to serial adapter for several reasons:

They are dirt cheap and readily available on eBay/ AliExpress /Amazon…"

Connections

“Add either a resistor or Schottky diode between Tx and Rx (in the case of serial adapters without their own TX series resistor, an external one is needed.”

=====

Subsequently, I put additional resistor between RX and TX of the USB-TTL adapter.
Both of my USB-TTL adapters have built-in resistor in series with TX, 1.5 kOhm.
I added 3.3 kOhm to make it 4.8 kOhm, not too far off from the 4.7 kOhm recommended value.
That’s it, no Schottky diode, no resistor between RX and flashlight either.
Only one additional resistor between RX and TX , 3.3 kOhm .
Other value might work, maybe, I don’t know. YMMV.

Another thing :
“Some serial adapters have a dedicated LED to indicate Rx.”
"… LED on RX must be removed … "
“… remove any LED on the RX line, or it will never work.”

I keep one adapter with its built-in RX’s LED,
and disabled RX’s LED on the other adapter. Both of them still work OK for reflashing.
I only use my Android phone (ZFlasher AVR) , never retried with my laptop (avrdude).

=====

For anyone having trouble reflashing with UPDI, getting something like "Chip initialization failed. Check connections… " , you can try adding resistor between RX and TX.
Please read the guidance :

for a better understanding of UPDI.

5 Thanks

@BLF-L thanks for the detailed post, but man you really did it the hard way! I just got myself one of @gchart excellent USB-C adapters and it was zero trouble and immediate success right from the start, just touch the pins to the pads and off it went.

OTOH I feel like a weakling for doing it the easy way instead of going through a whole saga like yours :slight_smile:

1 Thank

Yup, that’s a pretty good description of UDPI programming. I’ve referred back to that SpenceKonde article many times, and it has served as the springboard for my design work in creating UDPI programmers. I first started with jtag2updi and a AVR JTAG ICE v2.0 stick, as it was the originally recommended way of doing things. Then I quickly pivoted to using off-the-shelf USB to Serial adapters with a separate pogo pin board with a resistor and diode. Then I finally settled on creating an all-in-one design based around the CH340 chip, inspired by wagiminator’s PyUPDI programmer. At that time, we still needed to use pymcuprog because avrdude did not yet fully support UPDI. Then, after many years’ delay, avrdude7 was released with full UPDI support. And with avrdude7’s release, I was able to work with the ZFlasher AVR developer to get it updated with UPDI support, as well (the app uses avrdude in the background).

10 Thanks

Thanks @dmenezes,
hopefully sharing my experience could help someone having connection problem in their UPDI setup.

oo man, I’m pretty sure it’ll be extremely nice to have gchart’s UPDI programming adapter…

But I live on the other side of the globe, I’m afraid shipping won’t be very practical, not only cost-wise but mainly for how long it’ll take to get it to me. That’s why I’m kinda forced to rig up this super-ghetto-style UPDI programming setup.



Not too bad though, USB-TTL adapters are widely available. Otherwise it’ll be almost insurmountable for me to build-from-scratch a USB-TTL adapter.

Std CH340 USB-TTL adapter, simply add female-female dupont jumper wires and pogo pins and it’s up and running.
And a resistor and/or Schottky diode, if needed.

P50-B1 pogo pins can be press-fitted into regular female jumper wires (I think it’s the 2.5mm jumper wire) , it’s nice and tight, no need to solder. Springy pins really help stabilizing the connections to the flashing pads.

=====


I tried my setup with male-female jumper wires. Female-sides connect to the USB-TTL adapter, male-sides directly to the flashlight’s flashing pads,
definitely not as nice as with pogo pins but still semi-usable if you don’t have pogo pins. I mean it’s bad without pogo pins, I don’t wanna do it again that way :grin:

2 Thanks

Reflashing my SP10 Pro,
definitely nicer with pogo pins :


=====

I only have 2.5mm female header pins,
pulled off the the original pins and pushed the pogo pins through the header “rail” holes, to tie them up together so I didn’t need to hold the jumper wire housings individually.

I’m waiting for 1.27mm header pins on order, guess they’ll make a better alignment with the flashing pads.

An even better setup is to be using 1.27mm 3-pin dupont housing, a one-piece housing instead of single-pin dupont housings. But I couldn’t find that size anywhere.

1 Thank

again, If you have gchart UPDI programming adapter or pogo key, you don’t need to rig up this complicated thingy.

You know about u/m4potofu (on r/flashlight at Reddit), right? I think he goes here by @thefreeman, and he ships gchart stuff from Europe to worldwide for very reasonable prices. I too am overseas and almost purchased from him, but turned out I had a friend on a trip to the US at the time so @gchart shipped it to her and he brought it to me when she came back from the trip.

But anyway, I’m all for the guetto way of doing things :wink: more time-consuming and sometimes more aggravating, but frequently more fun and always more instructive! :wink:

1 Thank

That’s great!

yup, I believe gchart’s design is the most user friendly.

Thanks so much @gchart, ZFlasher AVR app is really a BIG help for the reflashing. No need for a cumbersome desktop computer or a laptop. We have our smartphone all the time. Super convenient.
It’s almost similar to programming an Arduino board (with ArduinoDroid).

2 Thanks

Well, this is beyond the scope of reflashing but
can we compile Anduril hex files using our smartphone?
is there an app for that?

Compiling with that app, and then Reflashing with ZFlasher AVR,
using Android phone, how do we do that?

thefreeman’s design is slightly different - he referenced mine (after asking, though he didn’t need to) and also added a few pads incase you want to solder on leads for one-off layouts. That said, I don’t think he’s made one for the SC21 Pro like I’ve put together. I dunno if you (@BLF-L) have ever ordered from Oshpark, but they’re very reasonable and I think they even ship internationally for free. I’ve got different styles of adapter boards that you can use with your USB to Serial board:

Not that I have anything against rigged-up solutions! These should be slick and cost effective, though, if that interests you.

That would be really cool, but I’ve never seen it done. You’d need the entire avr-gcc compiler and avr-libc toolchain and some other goodies. I mean, those run just fine on Linux and Android is based on Linux… so it’s probably possible, but not really feasible.

3 Thanks