Updating Wurkkos TS10, Sofirn SP10 Pro, and other 3-Pin UPDI Lights¶
The Wurkkos TS10, Sofirn SP10 Pro, and recent/upcoming revisions to the Sofirn LT1, Q8 Pro, SP36, and potentially more all use a similar 3 pad layout (UPDI).
Identify The Light And Current Firmware¶
Thankfully thus far there is not a lot of variation in these lights. Most are new enough to be running Anduril 2 and a Version Check will include the model ID. Identifying the Correct Firmware is mostly a matter of matching the model from the Anduril MODELS or G Hart Anduril MODELS file.
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 G Hart Anduril firmware binaries, but over time it may also be in 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.
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.
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 attiny1616 -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 attiny1616 -c serialupdi -P com7 -U flash:r:old-firmware.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 attiny1616 -c serialupdi -P com7 -U flash:w:anduril.sofirn-sp36-t1616.hex
Perform a Factory Reset¶
Perform a Factory Reset after reassembling the light.