Hi,
There is a lot of content here and elsewhere on using an Arduino to program an ATMEGA328p, but nothing seems to match my situation and the things I've seen to try don't work for me, so I'm hopeful of finding my answer from you guys, and I hope I have not wasted your time by missing something which should be obvious.
I bought two Atmega328Ps; they came pre-loaded with the Arduino Duemilanove (16MHz) Boot loader.
I have an Arduino Uno R3, which I've loaded with the ArduinoISP sketch (dated July 2011 in the comments).
Minor issue:
The seller of my 328ps says I can just put them in my Uno and tell the IDE it's a Due and it will all work fine.
It seems to, given my limited testing. But how come? It's different hardware, isn't it?
However, the main issue is this.
I am trying and failing to program the AVR from the Uno, using this tutorial:
http://arduino.cc/en/Tutorial/ArduinoToBreadboard, then noticed the note about it not working with Uno.
I tried this one
http://arduino.cc/en/Tutorial/ArduinoISP which has no such warning but it doesn't work either.
I've tried them with and without the capacitor from RESET to ground, and I've tried them all selecting Uno, Due and Nano as the target boards.
I tried another method involving removing the chip from the Uno to "allow the FDI to talk to the AVR" no good.
I've also tried to overwrite the bootloader with Uno in case that's the problem but that doesn't work either.
So focussing on the offical tutorial and a specific error. When I use this:
http://arduino.cc/en/Tutorial/ArduinoISPusing the bottom-right hookup, I get this: stk500_getsync(): not in sync: resp=0x1c
Wrong board, right? Well, I don't know how to fix it. Any thoughts? Any cast iron methods you can recommend?
In case it's relevant, I have used the Uno as ISP to program Attiny85 without problems.
FYI I have an Atmega board if that offers a useful way out.
Many thanks,
Chris