Atmega328P-PU and 1e950f Device Signature



The Atmega328P-PU is a version of the Atmega328 with “Pico Power”.

The other day, I came across some very inexpensive Atmega328 microcontrollers at Mouser. Considering I usually have 2 or 3 projects going at any one time I stocked up.

When they arrived and I tried to program for the first time, I got an error about an invalid signature.

avrdude: Device signature = 0x1e950f
avrdude: Expected signature for ATMEGA328P is 1E 95 14
Double check chip, or use -F to override this check.

Upon further research, I now realize that there are actually a couple different types of Atmega328 official site. The Atmega328P-PU and the Atmega328-PU.

I was relieved to find the fix was as simple as changing the signature in avrdude.conf.

In my case, I’m using Ubuntu so my avrdude.conf file is in the /etc directory.

sudo nano /etc/avrdude.conf

Once the file is open for editing, press the CTRL key and W key at the same time. This will prompt you for a search criteria. Enter atmega328 and press ENTER.

This will take you to the Atmega328P device entry. A few lines down you will see the following:

signature = 0x1e 0x95 0x14;
DO NOT delete this. Instead, put a # symbol in front of it to comment it out.
Then add a new line with the following:
signature = 0x1e 0x95 0x0F;

Press CTRL and X at the same time to save the file and exit.

avrdude then recognized the new part without a hitch.


  1. Thank you ,sir.This worked! Thanks!


  2. Also it may be a reading error. I faced same error, but always last number of signature was different and sometimes it was definitely strange like 0x000000. The reason was in bad wires connection and different GND on Programmer and on Atmega chip. When I have checked wires and connected GND from Programmer to GND of chip its works perfect!
    But thank you for your experience sharing =)


Leave a Reply

Your email address will not be published. Required fields are marked *