How to choose the Atmega to use with Arduino

Well, I am very new in electronics. My some leg of my chip, Atmega328 was broken then I try finding new one in the website.

Atmega328 has a lot of ordering code to select as below. How can I choose the right one. What is the difference of it?

ATMEGA328-AU ATMEGA328-AUR ATMEGA328-MU ATMEGA328-MUR ATMEGA328-PU

Thanks in advance :)

None of those, actually. Get an ATmega328P-PU. -PU is the DIP package, the others are surface mount devices.

The chip will need to be programmed with a bootloader, you can buy them pre-programmed, e.g. https://www.adafruit.com/products/123. If you buy a raw chip from the factory (example), you will need to burn the bootloader yourself.

Bootloaded uC's here too http://www.dipmicro.com/store/CPU-ARD328P

CrossRoads: Bootloaded uC's here too http://www.dipmicro.com/store/CPU-ARD328P

That one might be preferable if the chip is to look like an Uno (the AFI part doesn't have the Optiboot loader).

thanks all, well, meaning the code after Atmega328 is how package it is right?

another question come out, what is the difference between atmega328 and atmega328p please?

Thanks

The 328 and 328P have different "device signatures". The ISP will compare the device signature and if there is a difference then it won't burn a bootloader (you can't make a transfer via ICSP either.)

I don't know if 'Optiloader' works that out for you, but Arduino0022 does not. Arduino0022 is set up for 328P device signatures. You can work around that, but it's a chore.

The 328P is capable of lower power operation.

extension P stands for pico power