Arduino uno clone with ATmega328-pu

Will a Arduino Uno clone with the ATmega328-pu (the non "p" / non-pico version) work with the Arduino IDE without any modifications done to the IDE files?

Thank you!

Sort of: Change can be as simple as changing the signature bytes in avrdude.conf for the '328P entry to the '328 bytes.

CrossRoads: Sort of: Change can be as simple as changing the signature bytes in avrdude.conf for the '328P entry to the '328 bytes.

So following these steps should make it work right?

  1. In your Arduino folder, find the subfolder: ..\hardware\tools\avr\etc

  2. Make a backup copy of the file: avrdude.conf

  3. Open the file avrdude.conf in a text editor

  4. Search for: “0x1e 0x95 0x0F” (this is the ATmega328P signature)

  5. Replace it with: “0x1e 0x95 0x14” (this is the ATmega328 signature)

  6. Save the file

  7. Restart the Arduino IDE

Yes, about that.

That is odd. Where did you get the board from?

Does it matter? Someone selling cheap clones with less expensive processor.

I think the better question is, Why doesn't avrdude.conf handle both part types?

Thank you for your help! :)

CrossRoads: I think the better question is, Why doesn't avrdude.conf handle both part types?

BTW can expect the Arduino to function properly if I replaced the 328 chip with a bootloaded 328p or vice versa?

Yes. P is for Picopower, change is dwarfed by the power consumption of the rest of the board.

CrossRoads: Yes. P is for Picopower, change is dwarfed by the power consumption of the rest of the board.

I see. Thanks a lot for the answers!

ChilliTronix: That is odd. Where did you get the board from?

There was a time that Atmel would let us sample the Atmega328, but not the Atmega328P. This is one possibility.

However, answering the OP: Unless you are going to flash a bootloader on a 328, you don't need to make changes to the IDE or any of its files (avrdude.conf, boards, etc). Nothing!

The explanation is that when you are uploading sketches through the USB-to-UART bridge, avrdude can't even read the device's signature, so it is absolutely irrelevant if you have a 328 or 328P. Just select UNO on the IDE and keep on arduinoing!

The changes suggested to edit avrdude.conf are only required if - and only IF - you are going to flash the bootloader on a Atmega328, because only the ICSP programmer can read the flags and signature.

Again, for normal, day-to-day use, no changes are necessary, and it will work normally, just like a regular 328P.

How to I know that: I have a homemade Arduino that sports a 328 (non-P), and I only changed by files temporarily for burning the bootloader to it.

CrossRoads: I think the better question is, Why doesn't avrdude.conf handle both part types?

I bought some Atmega328 before I knew the difference and just recently found out that the avrdude in 1.5.7 got upgraded so it does support both types now. I found a site that showed how to add a processor selection for the uno so I can choose which mcu I used. Here is what I added to the boards.txt file:

Arduino ATmega328P

---------------------------------------------

uno.menu.cpu.atmega328p=ATmega328P uno.menu.cpu.atmega328p.build.mcu=atmega328p

Arduino ATmega328

---------------------------------------------

uno.menu.cpu.atmega328=ATmega328 uno.menu.cpu.atmega328.build.mcu=atmega328

Very cool.

AlxDroidDev:
There was a time that Atmel would let us sample the Atmega328, but not the Atmega328P. This is one possibility.

However, answering the OP:
Unless you are going to flash a bootloader on a 328, you don’t need to make changes to the IDE or any of its files (avrdude.conf, boards, etc). Nothing!

The explanation is that when you are uploading sketches through the USB-to-UART bridge, avrdude can’t even read the device’s signature, so it is absolutely irrelevant if you have a 328 or 328P. Just select UNO on the IDE and keep on arduinoing!

The changes suggested to edit avrdude.conf are only required if - and only IF - you are going to flash the bootloader on a Atmega328, because only the ICSP programmer can read the flags.

Again, for normal, day-to-day use, no changes are necessary, and it will work normally, just like a regular 328P.

How to I know that: I have a homemade Arduino that sports a 328 (non-P), and I only changed by files temporarily for burning the bootloader to it.

Well thats great! I will be making a breadboard arduino since I already have a USB to Serial converter and I plan to use the ATmega chips in my projects rather than leaving the arduino in them so this info is really useful. Thank you for the detailed information!