3Pi dead after presumable power loss during flash

Hi,

unfortunately, after some experimenting with the 3Pi, it seems to have died. Programming worked fine using the Polulu programmer. However, after some time communication stopped working with one 3Pi. I’m not completely sure of the cause, but it was definitely low on power (only lasted some seconds after power on afterwards), so I assume it went off during the flashing process. I programmed the exact same program to an identically wired second 3Pi which worked, so that is not likely to be a cause of error.

For details, avrdude now does not show any difference in output from not connected at all versus connected to the turned on broken 3Pi using the Polulu programmer except for the detected target voltage. Using the Arduino as ISP programmer, it outputs invalid device signature (0x00). Trying a more advanced AVR programmer and Atmel studio yields the same result; it is completely unable to communicate with the chip.

I’m a bit surprised that it seems to be possible to kill the atmega328p this way since I was not changing any fuses but “just” writing flash memory. However the 3Pi user manual states that it is possible to “permanently disable” the robot this way. Now my questions: How permanent is this? Is there any chance of recovering or has the chip to be replaced?

Additionally, in order to avoid such mistakes in the future, what are my options alternatively powering the 3Pi? Is it safe to power Vcc with 5V externally (powered off robot) or does this cause problems with / through the voltage regulator? Powering the robot trough the charge connector should be fine without batteries on any voltage source and with batteries using a compatible charging device, right?

Thanks for your help! :slight_smile:

Hello.

What Pololu AVR programmer do you have? Can you provide a link to it?

If you have a Pololu USB AVR Programmer v2, you might be able to revive the AVR by following the instructions in the “Using the clock output to revive AVRs” section of the user’s guide.

As for your other questions on alternative powering options for the 3pi, yes, you can safely supply 5V to VCC directly from an external power source as long as the 3pi is not powered, and yes, you can power the 3pi through its charger port with or without batteries.

- Amanda

Hi,

I do not have the v2 programmer with the extended interface.

However I was able to simulate the behavior using a second vanilla ATmega and really managed to revive the dead 3Pi this way! :smile::tada:
To be honest, I did not expect this fix to work since I never entered a fuse write command. Can you explain why a power loss during a flash write can indeed alter the fuses? Just curious.

Thank you very much for your successful help!

2 Likes

That’s awesome; I’m glad that revival process worked for you! Thank you for letting us know.

It is not clear what happens to the AVR when it loses power during programming. It is plausible that while the AVR is running at a low voltage it could misinterpret the programming commands and overwrite some lock and/or fuse setting(s). You might try asking your question on an AVR specific forum such as AVR Freaks, as it has a much larger community that focuses specifically on AVRs.

- Amanda

1 Like