Sofirn SC31 Pro UPDI Flash Adapter
We calculate the final price from your selected file. You review and accept it before payment.
Saved on this device.
Flash Adapter for Pogo Pins to update the firmware of a Sofirn SC31 Pro
- Rating
- 0 / 5
- Likes
- 2
- Downloads
- 7
- Makes
- 0
- Views
- 112
- Reviews
- 0
Updated at source:
Model information
- Source
- Printables
- Category
- Electronics
- License
- Creative Commons — Attribution
If you want to update the firmware of your Sofirn SC31 Pro and you had a newer revision with exposed UPDI pads, you can use this adapter with pogo pins to easily flash a new firmware to your Sofirn SC31 Pro.
Print instructions
Printed Parts
- 1x Print Flash Adapter
Notes on printing
- Layer height: 0.1mm
- Filament: PLA
Additional Parts
- 3x Pogopin/Spring Test Pin P75-J1 1.0x16.5mm
- 1x Wire Cable 30AWG
- 1x 2.54mm Female Breakable Pin Header
- 1x DIY UPDI Programmer
Build instructions
- Print Flash Adapter
- Wire the Adapter (see pictures)
- Left (R on the PCB, orange in the picture) to UPDI D
- Center (no marking on the PCB, back on the picture) to UPDI GND/-
- Right (+ on the PCB, red on the picture) to UPDI VCC/+
Flash instructions
- First: No warranty is for this guide. Use at your own risk.
- Check to connection to the MCU of you flashlight. Replace
<serial-port>with the UPDI serial port on your platform like COMx or /dev/ttyUSBx. Depending on your UPDI programmer, maybe you need to changejtag2upditoupdiserial.
❯ .\avrdude -p attiny1616 -c jtag2updi -P <serial-port> /-n
avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0x1e9421 (probably t1616)avrdude done. Thank you.
- If this not work, check the connection or you UPDI programmer
❯ .\avrdude -p attiny1616 -c jtag2updi -P <serial-port> -n
avrdude error: UPDI link initialization failed
avrdude error: initialization failed, rc=-1
- double check the connections and try again
- use -b to set lower baud rate, e.g. -b 57600
- use -F to override this check- Backup the old Firmware
❯ .\avrdude -p attiny1616 -c jtag2updi -P <serial-port> -Uflash:r:old-firmware.hex
avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0x1e9421 (probably t1616)
avrdude: processing -U flash:r:old-firmware.hex:r
avrdude: reading flash memory ...
Reading | ################################################## | 100% 3.37 s
avrdude: writing output file old-firmware.hex
avrdude done. Thank you.
- Flash new Firmware. For the Sofrin SC31 Pro you need the
sofirn-sp36-t1616firmware (identical hardware platform) from the offical repo of ToyKeeper/anduril
❯ .\avrdude -p attiny1616 -c jtag2updi -P com3 -Uflash:w:anduril.r2025-07-07.sofirn-sp36-t1616.hex
avrdude: AVR device initialized and ready to accept instructions
avrdude: device signature = 0x1e9421 (probably t1616)
avrdude: Note: flash memory has been specified, an erase cycle will be performed.
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: processing -U flash:w:anduril.r2025-07-07.sofirn-sp36-t1616.hex:i
avrdude: reading input file anduril.r2025-07-07.sofirn-sp36-t1616.hex for flash
with 10452 bytes in 1 section within [0, 0x28d3]
using 164 pages and 44 pad bytes
avrdude: writing 10452 bytes flash ...
Writing | ################################################## | 100% 2.59 s
avrdude: 10452 bytes of flash written
avrdude: verifying flash memory against anduril.r2025-07-07.sofirn-sp36-t1616.hex
Reading | ################################################## | 100% 2.18 s
avrdude: 10452 bytes of flash verified
avrdude done. Thank you.
- After flashing do a factory reset.
Links
The links to shops can be advertising links. I would be happy if you use this link, but of course you don't have to. I have linked exactly the offers from which I have also bought and was satisfied with the supplier and the goods. The products can of course be bought anywhere.
Credits
- https://www.pingle.org/2022/08/07/flashing-a-3-pin-t1616-flashlight-with-new-firmware
- https://github.com/ToyKeeper/anduril
- https://daumemo.com/diy-updi-usb-programmer-which-can-be-made-with-cheap-hardware/