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!