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.
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!
3 Pin UPDI Programmers from the_gchart is a full programmer and probe solution on a single PCB that does not require a separate CH340 board.
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.
Note
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.
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.