Programming new Atmega328-PU

I'm really to all this and I just got 10 Atmega328-PU. From what I read I need to load a boot loader on before I can upload a sketch to it.

Do I have to use the breadboard method? Or can I just replace the 328 that's on my Uno and load it from there?

Thanks

You will need to load the arduino isp, then hook up the breadboard and then burn bootloader. Then you can replace the chip if you want to and upload sketches..

Any reason you want to replace the chip?

Hi - new here also. If I'm understanding your question corectly, I just bootloaded my first blank chips. Here's how:

I did not take the chip out of the UNO, but this does require a minimal breadboard setup (I used a ZIF socket).

remiss:
You will need to load the arduino isp, then hook up the breadboard and then burn bootloader. Then you can replace the chip if you want to and upload sketches..

Any reason you want to replace the chip?

I'm using them for a another project. I need to load an arduino sketch on all 10.

Once I have the boot loader on I then can just put the chip in my uno and program it from there can I not?

Also does it matter that it's an Atmega328-PU? The one that's in my uno is an Atmega328P-PU

Once I have the boot loader on I then can just put the chip in my uno and program it from there can I not?

Yes
Also does it matter that it's an Atmega328-PU? The one that's in my uno is an Atmega328P-PU

I believe it does matter and that you would have problems trying to burn the bootloader using the arduino as ISP sketch. However there is a solution as user westfw has created a sketch called optiloader that once loaded onto your Uno board and wired to your standalone 328 chip will transfer the bootloader correctly. Then those chips will work when installed in the Uno board.
GitHub - WestfW/OptiLoader: Arduino sketch for burning new bootloaders
Lefty

Btw, what I have done is buy a USB->RS232 board and build a programmer (one chip programming another I which can just take in and out). My first circuit board so pretty simple task :slight_smile:

Or you can just keep it on the breadboard and put the programs directly on the chip and don't bother with the bootloader.

I might consider using a bootloader if I can manage to program stuff wirelessly though..

I have not tried optiboot but I have used the 328-PU in place of the 328P. The only significant issue is that it has a different signature byte. Functionally it's the same chip but AVRdude won't recognise it for burning the bootloader.

You can use your existing Arduino as an ISP with the new chip on a breadboard (use a crystal & caps too). However, you will initially get an error from ARVdude saying that it doesn't get the expected signature byte.

The easiest fix is to find your avrdude.conf file and in the entry under ATmega328, edit the line:

signature = 0x1e 0x95 0x0F;

to read:

signature = 0x1e 0x95 0x14;

The former is the sig for a 328P the latter for a 328.

Once the bootloader is added, you can re-program the 328 in exactly the same way as the usual 328P. So once you have the bootloaders burned onto the chips you can set your AVRdude config file back again.

I just created a separate entry in avrdude.conf and boards.txt with a new target used specifically for bootloader-ing (Breadboarded 328 non-P). That way, you don't have to edit your avrdude.conf every time you change chips.

You do still have to set the target to plain Uno for uploading sketches. At least until the compiler recognizes 328 as a valid target.