Arduino Leonardo as an ISP programmer. Will it work or not?

Arduino Leonardo as an ISP programmer Will it work or not?

I intend to use Arduino Leonardo, loaded with ArduinoISP, as an ISP programmer. I tried the same thing with an Arduino Uno and it worked (avrdude was used for uploading hex files into target AVRs).

I understand, form the schematic of Leonardo ( see: http://arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3b.pdf ) that the signals MISO, MOSI and SCK are available only on the ICSP header, unlike in the case of Arduino Uno.

Unfortunately, the SS signal in not available on any easily accessible point on Leonardo board so I can not make the full connection Arduino Leonardo[SS, MOSI, MISO, SCK] -> target AVR[Reset, MOSI, MISO, SCK] only because of this missing SS header pin.

I know from my experience with Arduino Uno that, without the connection UNO[SS]->Target[Reset], I can not program the target AVR, avrdude throwing the error: "Invalid device signature".

So, can Leonardo be used as an ISP Programmer or not?

Yes. Connect to D10 for the reset signal, and to the ICSP header for the rest. http://www.gammon.com.au/forum/?id=11635

Do you have this same thread going elsewhere? That's crossposting - please don't do that.

CrossRoads: Yes. Connect to D10 for the reset signal, and to the ICSP header for the rest. http://www.gammon.com.au/forum/?id=11635

That works for Arduino Uno not for Leonardo.

The SS pin of the 32u4 on Leonardo is connected just with RXLED and it is not available on D10 or on any other accessible point.

No! Arduino Leonardo flashed with the ArduinoISP that comes with Arduino 1.0.1 will not work as an ISP programmer.

Your only alternative is to modify ArduinoISP according to the instructions in this page: http://petervanhoyweghen.wordpress.com/2012/09/16/arduinoisp-on-the-leonardo/

The SS pin of the 32u4 on Leonardo is connected just with RXLED and it is not available on D10 or on any other accessible point.

I am pretty sure that is just small change to Nick's code (not the ArduinoISP code that comes with 1.0.1) to use a different pin:

const byte RESET = 10; // --> goes to reset on the target board

Seems to compile ok as is for a Leonardo in 1.0.2.