Arduino (ATmega328) in-circuit programming

arduinoatmegaisp

I am designing a circuit/software for some guy…

I am using an ATmega328 surface-mounted microcontroller in the design and am just supplying the schematic and code. He is going to build it (make a PCB) and use it for his business.

I was going to program it using the Arduino IDE since I have more experience with that and was going to add in an ISP header and suggest using this http://docs-europe.electrocomponents.com/webdocs/0dba/0900766b80dba9b4.pdf to program it..

However I noticed that the 328 is not listed under the supported devices for that programmer?? And even if it was I am unsure if that would work using the regular Arduino program?

What is the best way for me to do this? I need to be able to test the code on my Arduino Uno, and also provide the means for him to easily program the code onto a new chip on the PCB.

I don't mind programming it outside of the Arduino IDE if I need to as long as I can test that code with my Arduino Uno.

I tried looking around for answers, but I didn't find anything satisfactory. Here is the schematic I have so far, with an ISP header (that apparently isn't supported?)

Enter image description here

Best Answer

See AVR Studio 4 online help ...

...

Created: Tue 01 Nov 2005 08:17:09 AM EST

The '328 didn't exist until 2009. This is why you go to the primary source when possible.

But yes, that programmer supports the '328, as well as all AVR chips that support ISP. The software needs to support the programmer and the chip as well, but I can tell you that AVRDUDE, which is the AVR command line programmer of choice (as well as the one that the Arduino IDE uses), does. You're covered.