I uploaded the ArduinoISP sketch to an Arduino Nano to use it as a programmer for other chips.
It worked successfully to program an ATtiny45, I did the usual wiring between them, and added a 10uF between RST and GND of the Nano. Everything worked.
Now I'd like to program a standalone ATmega328p with the Nano, I did the usual wiring as well (see this tutorial), as well as this 10uF cap.
But it does't work:
avrdude: Device signature = 0x000000 avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check.
The reason might be because this 328p comes from an Arduino Uno, probably configured to be ext-clocked by a crystal. Whereas I don't have any crystal here and wanted to clock the 328p with the internal clock.
Question: how can I restore the 328p to factory default / internal clock, if I don't have a crystal?
Or what other reason can this error be?
Edit: a solution is found here: Change the fuses of an Arduino Uno (can an Arduino Uno change its own fuses?)