Updating Emisar D3AA and other avr32dd20 3-Pin UPDI Lights

The Emisar D3AA uses a 3 pad layout (UPDI) similar to recent Wurkkos and Sofirn lights but the D3AA uses a avr32dd20 chip.


The Emisar D3AA, a 14500 or AA light that runs Anduril

Identify The Light And Current Firmware

These lights run a modern Anduril 2 and a Version Check will include the model ID at the start of the version output. Identifying the Correct Firmware is mostly a matter of matching the model from the Anduril MODELS file in case there is some variation.

Programmer Hardware and Probe

Updating these lights requires a Serial USB to TTL CH340 Module device and a probe capable of connecting to the 3 pads on the light.

Setup the CH340 programmer as described in CH340 Drivers and Serial Port.

There are pre-made kits for these as well as many ways to adapt other readily available probes or even craft them from scratch!

When connecting the probe to the light, use the notes in the guide for the probe for specifics on how and where to connect the probe.

Obtain a New Firmware File

Download or compile the appropriate firmware as described in Obtaining a new Firmware File. Most likely the correct firmware will be on Anduril firmware binaries.

Setup Programming Software

Choose one of the Flashing Methods, setup the software, and use the software-specific guide for the following steps.


For simplicity, this guide will use avrdude examples, but zflasher and pymcuprog can all be used in a similar manner.

Test the Connection with the Light

Unscrew the head from the light and locate the flashing pads.


3 Pin UPDI Flashing Pads on Emisar D3AA

Connect the probe to the programmer, the programmer to the computer or android device, and connect the probe to the flashing pads on the light.

See also

Refer to the probe-specific documentation for specifics about how the probe will connect to the pads on the light.

Use the test or ping function of the flashing software to confirm the connection is working.

PS> .\avrdude.exe -p avr32dd20 -c serialupdi -P com7 -n

Backup the Current Firmware

Connect to the light and read the current firmware from the light to a file to make a backup.

PS> .\avrdude.exe -p avr32dd20 -c serialupdi -P com7 -U flash:r:old-firmware.hex:i

Backup the Current EEPROM

Connect to the light and read the current EEPROM (settings data) from the light to a file to make a backup.

PS> .\avrdude.exe -p avr32dd20 -c serialupdi -P com7 -U eeprom:r:old-eeprom.hex:i

Update the Light with New Firmware

Connect to the light and write new firmware from the file to the light.

PS> .\avrdude.exe -p avr32dd20 -c serialupdi -P com7 -U flash:w:anduril.sofirn-sp36-t1616.hex

Perform a Factory Reset

Perform a Factory Reset after reassembling the light.