I’m afraid I might have bricked/zapped the linear driver for my Noctigon KR4 (with E21A 2700K)… Try as I may, it won’t respond to avrdude
at all.
Context and diagnostics
Using the Intl-Outdoor D4V2 flashing kit with my Linux computer, I flashed a new build using the flash-tiny1634.sh
script from the Andúril repo, avrdude
reported a verification error, then, no matter how many times I’ve tried, I cannot get anything other than error: program enable: target doesn't answer. 1
(see logs in Addendum A). The driver no longer operates like expected - no aux lights, no response to button presses.
while ! avrdude -c usbasp -p t1634 -n ; do
sleep 1 # Wait to try again
done
# …just gives "avrdude: error: program enable: target doesn't answer. 1"
# Forcing with "-F" results in a random device signature
# Full logs in Addendum A
Trying many tens of times (in a loop while prodding with the pogo pin adapter) has not brought about success, nor has disconnecting from power for 30 minutes and trying again after that. I’ve even installed Microchip Studio in a Windows VM, but had troubles passing through the USBasp adapter (I can retry that if needed).
I can still flash my D4SV2 and D4V2 (which has a KR4 linear driver) without issue. And I’ve confirmed with my multimeter that the KR4’s V-
pad is connected to the outermost ring of the KR4 driver, and the MI
pad connects to the e-switch, as expected. (Shout out to SiteRelEnby
on IRC for suggestions.)
I’ve heard the Attiny chips are really hard to brick and accidentally interrupting the ISP during flashing shouldn’t cause problems. I’ve flashed my KR4 tens of times since I got it November 2020 without issue.
I generally ground myself by touching the flashing kit’s USB A connector shield before flashing, though I can’t recall if I did that every time I touched the pogo pins. It is possible that I might’ve zapped something.
Next steps - recovery, repair?
At this point, are there any further options for recovering the MCU without disassembling/desoldering?
If not, for someone comfortable with through-hole soldering but brand new to SMD, and having never removed the driver from one of Hank’s lights, how involved is replacing the MCU?
Alternatively, does anyone offer repair services within the United States?
(And if diving into the insides anyways, are there better driver options for E21A LEDs, e.g. this KR1/KR4 thread?)
Addendum A: avrdude
logs:
Tap/click to show full console logs of the failed avrdude flash, then resulting errors
$ run-one-until-success ./bin/flash-tiny1634.sh "/path/to/2023-11-06-anduril.digitalcircuit-noctigon-kr4-nofet-e21a-2700k.hex"
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9412 (probably t1634)
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: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: reading input file "2023-11-06-anduril.digitalcircuit-noctigon-kr4-nofet-e21a-2700k.hex"
avrdude: input file 2023-11-06-anduril.digitalcircuit-noctigon-kr4-nofet-e21a-2700k.hex auto detected as Intel Hex
avrdude: writing flash (10632 bytes):
Writing | ################################################## | 100% 7.06s
avrdude: 10632 bytes of flash written
avrdude: verifying flash memory against 2023-11-06-anduril.digitalcircuit-noctigon-kr4-nofet-e21a-2700k.hex:
avrdude: load data flash data from input file 2023-11-06-anduril.digitalcircuit-noctigon-kr4-nofet-e21a-2700k.hex:
avrdude: input file 2023-11-06-anduril.digitalcircuit-noctigon-kr4-nofet-e21a-2700k.hex auto detected as Intel Hex
avrdude: input file 2023-11-06-anduril.digitalcircuit-noctigon-kr4-nofet-e21a-2700k.hex contains 10632 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 5.50s
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
0x00 != 0x24
avrdude: verification error; content mismatch
avrdude done. Thank you.
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: program enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
[…trimmed many further repeated failed attempts…]