Quick compilation of Anduril Flashlights and their firmware reflash procedures. BLF version of an older Reddit post.
For more details, visit Unofficial Guide to Updating Anduril Firmware — Unofficial Guide to Updating Anduril Firmware
Anduril-based flashlights make use of Atmel ATTINY microcontrollers (MCUs) for output/mode control, which can can be reflashed with updated or modified firmware.
A specific device is required to interface with the MCU to reprogram it. Older lights will require the use of a USBasp AVR programming board. This is a cheap device which plugs into a USB port and allows for interfacing with AVR MCUs. They can easily be found on Amazon and Aliexpress. (link1, link2)
Many newer models require a different USB to TTL serial module (link). Going forward most lights will be using this setup as it allows for more features from Anduril.
The reflashing process may depend on the light in question. Many flashlight drivers have exposed pads on their underside that allow for easy access to the MCU programming pins, making reflashing simple. Lights that do not have exposed flashing pads will require interfacing via other means, such as MCU programming clips (Amazon SOIC8 Clip)
Reflashing can be done with a PC, Mac, or Android phone. These guides cover the software side of reflashing: (ATTINY1634, 85) (ATTINTY1616 AVRDD - AVRDUDE) (Android Phone guide - both types)
IMPORTANT!!
Before reflashing, verify the firmware build used by your flashlight. 15C from off will enter version check mode, which blinks to display the date and model:
For A2 versions before 05-2023:YYYY-MM-DD ####
For A2 Versions after 05-2023:#### YYYY-MM-DD
The last four-number model code must be matched to the firmware build you decide to flash onto your light. A list of builds can be found at this link:
anduril/MODELS at trunk · ToyKeeper/anduril · GitHub
“Older” configuration
These lights use either an ATTINY1634 or an ATTINY85 and require USBasp for reflashing.
ATTINY1634:
- Gen2 Emisar/Noctigon flashlights (DT8, DT8K, D4V2, D4SV2, D4K, D1V2, D1K, D2, DM11, DM1.12, KR4, KR1, K1, K9.3, M44 Meteor) - 2:4 pinout
- Older high-end FireFlies lights w/ Lume 1-6AF drivers (E07x Pro, E12R, NOV-Mu, T9R) - 2:4 pinout
- Lume 1 drivers (Found in Lumintop FW3X) - 2:4 pinout (newer drivers, 01/20 rev B, have two pins swapped)
- Jetbeam EC26 - 6:0 pinout (unique)
The kit for flashing lights with the 2:4 pinout can be purchased here:
This kit contains 1 USBasp programming board and an adapter cable with pogo pins for interfacing with the pads on the driver. The USBasp is a generic component and can be easily replaced. This guide covers the use of the adapter:
Emisar D4V2 Flash Kit Instructions (Official How To) - LED Flashlights – General Info - BudgetLightForum.com
ATTINY85:
- Many Lumintop lights (FW-series, BLF-GT/GT mini, EDC18)
- Gen1 Emisar/Noctigon lights (D1, D1S, D4, D4S, D18)
- Many FireFlies lights (E12C, E07, rot66/rot66G2, PL47, E01, PL09Mu) - 3:4 pinout, effectively 3:3 as one pin is unused
- Wurkkos TS21 (older 2021/22 version)
- Several Sofirn lights (LT1, SP36, SC31 Pro A1 version) - LT1 and some SP36 lights have a 3:3 pinout
- Astrolux/Mateminco Anduril lights (MF01s, MF01 mini)
Some of the these lights will have a 3:3 pad layout on the driver, but most do not have exposed flashing pads. These are going to take more effort to reflash. The Emisar adapter can be used for this with some extra steps. Please refer to the guides below:
-
Lumintop FW3A: FW3A Firmware Flashing Guide
-
Sofirn LT1: https://www.reddit.com/r/flashlight/comments/msiiqb/a\_brief\_guide\_for\_flashing\_your\_lt1\_with\_new/
-
FireFlies PL47G2: https://www.pingle.org/2022/03/27/flashing-a-fireflies-pl47g2-with-new-firmware
Some lights will require disassembly to reflash. Please refer to these guides:
-
Emisar D18: https://www.reddit.com/r/flashlight/comments/krvuup/guide_on_updating_an_emisar_d18_to_a_diy_version/
-
Sofirn SP36 Pro: https://www.pingle.org/2022/03/27/flashing-a-2020-sofirn-sp36-pro-with-new-firmware
-
SC31 Pro (Anduril 1 version): https://www.reddit.com/r/flashlight/comments/sg1pew/sc31_pro_anduril_2_upgrade/
“NEWER” Configuration
These lights use ATTINY1616 or AVRDD-series controllers, which require a different USB Serial to TTL module (Amazon link). As of 2024, Anduril has been reconfigured to allow more features in the future, enabled in part by these controllers.
The procedure for these lights will be different, please refer to this guide: https://www.pingle.org/2022/08/07/flashing-a-3-pin-t1616-flashlight-with-new-firmware (includes info on the AVRDUDE and pymcuprog methods)
For the 3out Drivers, US buyers can reach out to user @gchart to purchase custom flashing adapters (BLF, Reddit), or you you can purchase from JLHawaii808:
Those outside the US can purchase from @thefreeman: WTS : USB-UPDI Programmers for Attiny1616/AVR32DD20 drivers (Sofirn/Wurkkos/Fireflylite/Emisar)
ATTINY1616:
- Sofirn SP10s/SP10 Pro, Q8, some versions of SP36, SC31 Pro, LT1 Mini, LT1S Pro - SP10 Pro and LT1S Pro use 3-pad pinout (layout variations exist)
- Wurkkos TS10, TS25, TS11, FC13, revised TS21 - 3:0-pinout (similar or same as SP10 Pro)
- New Lume X1-40W drivers
- Fireflies E07x Pro, E12C, T1R, T9R, NOV-Mu (updated 2022/23 versions) - same 3-pad pinout
- Fireflies E07X Canon, NOVmuV2, X1L Elite, X1S Pharos - I think these are the same pinout?
- Sofirn SC21 Pro - Unique 6-pads with 3 pads in use (this guide covers reflashing the SC21)
- Wurkkos TS30S Pro - unique pinout (more info)
AVRDD:
- Gen3 Emisar/Noctigon lights - 3:0 pinout
- Emisar D3AA - thefreeman driver
- Emisar DA1K - Loneoceans Lume X1 (RevB)
The Emisars use the 3-pin pad layout that can be reprogrammed via UDPI. Hank will also be offering a new adapter for future V3 lights.
*Note that if you’re using the older 3.3v freeman adapter, there may be some issues with reflashing - more info here: WTS : USB-UPDI Programmers for Attiny1616/AVR32DD20 drivers (Sofirn/Wurkkos/Fireflylite/Emisar) - #251 by thefreeman
There are several lights using Lume-series drivers from Loneoceans, such as the Lume1-fireflies, Lume 1-6AF, Lume1-FW3X, and Lume X1-40W. It’s important to identify the correct driver for the reflashing process. Additional info from ToyKeeper on A2 versions for Lume drivers: ff-drivers link
While any of these lights can be reflashed if desired, if you are looking to start experimenting with firmware, the Emisar/Noctigon lineup is a great place to start, as they all use a standard system that is easy to work with.
Thanks to u/jim-p, @Zumlin, @Adair21, @DerMaxPower, u/CrentistDDS, @containerfan, @jon_slider, @gchart, @Terry_Oregon, @crgbt, @thefreeman, @ToyKeeper for much of the information and links here.
CHANGELOG:
2-20-2023 - Added new lights, links to ATTINY1616 instructions
2-22-2023 - Added freeman’s reflashing adapter
2-23-2023 - Added extra info for Sofirn/Wurkkos lights, added version check/firmware build instructions
4-13-2024 - Changed layout to reflect new Anduril updates with focus on AVRDD controllers going forward, Added a few new lights to ATTiny1616 and AVRDD sections, tried to improve reading clarity
4-26-2024 - Added info+links for older Anduril 1 version of Sofirn SC31 Pro
6-22-2024 - Updated models link to GitHub and added new version check info
10-24-2024 - Added DA1K/LumeX1 Hanklights, updated some info on fireflylites + relevant GitHub links, also added some gen2 hanklights I forgot