ATmega328P-PU with Arduino as programmer + NRF24L01

I will post verbose output tonight when I get home.

These are the steps I took to upload a hex file to my atmega328 using my Arduino UNO as an ISP:

  1. Installed the latest WinAVR which comes with avrdude.
  2. Connected Arduino to PC, uploaded ArduinoISP using Arduino IDE 1.01 [board selected is the UNO].
  3. Wired up my atmega exactly like this:
  4. Downloaded "main.hex" from this page http://hackaday.com/2010/10/25/avr-programming-02-the-hardware/ under heading "Flashing firmware with AVRdude
    " - this is supposed to be a program that blinks an LED. This is what it looked like except I had 5V running from the Arduino to the 5V rail like in the picture above and GND from the Arduino to the GND rail (and no other power source).

    [This is a picture from the hackaday website, not one that I took]
  5. Opened up command prompt, navigated to the directory with the .hex file, and used:
    avrdude -P COM7 -b 19200 -c avrisp -p m328p -U flash:w:main.hex where COM7 is the port my Arduino was connected to [I got this line from the hackaday tutorial].

Then when I found out I needed a 10uF capacitor between GND and RESET on the Arduino, I repeated all the steps from step 3 onwards with the capacitor in. Note that I had no other capacitors or a crystal. This is a fresh ATMega328P-PU that I got from here: http://www.ebay.com.au/itm/160768276199?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649#ht_2823wt_1139

Both ways yielded an invalid device signature (I think it was 0x000000) error immediately. Forcing it with -F took about a minute to complete with a few different steps going from 0-100%, but verification at the end failed [I suspect it didn't connect/upload at all].