I am using atmega 328pu instead of atmega328p-pu. I am trying to upload the bootloader using AVR pocket programmer.

I have changed signature from 0x1e 0×95 0x0F to 0x1e 0×95 0×14.

(Relevant link)

avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

circuit diagramerror report

  • 2
    How about removing the screendump from the question and pasting the text from the screen in your question so we can actually read it?
    – jippie
    Jul 29 '14 at 5:59
  • @jippie larger image
    – Gerben
    Jul 29 '14 at 10:18
  • 1
    @Gerben why would I download a 52kB image for under 100 bytes of text? It is less effort to copy the text in the first place and not a single search engine will be able to index the question properly, rendering the question useless for future visitors.
    – jippie
    Jul 29 '14 at 16:25
  • Have you set Tools -> Programmer to AVR ISP?
    – Gerben
    Jul 30 '14 at 11:54

(Note for the Arduino Uno: you'll need to add a 10 uF capacitor between reset and ground.)

From http://arduino.cc/en/Tutorial/ArduinoISP

  • The cap is only needed on the UNO that is used as the ISP. Where in this case there is a "avr pocket programmer"
    – mpflaga
    Jul 29 '14 at 14:16

It sounds as if you are using the Arduino IDE to "Upload using Programmer". If so; in the preferences enable Verbose output for upload. From this you should see all of the avrdude output. Not just the error message. Hopefully with this you will see signature of the chip you actually read. You will also see the full and exact avrdude.exe command that is being executed. Note the path/filename of the avrdude.conf, to ensure it is the one you changed.

Using this you can attempt it manually, and tweak it. Try adding the -F to it. Or execute the equivalent to :

avrdude -b 19200 -p atmega644p -C avrdude.conf -c stk500v1 -P COM4 -n

where the "-n" is "Do not write anything to the device." just read the signature.

I prefer to use a GUI in front of avrdude. Yuki's GUI is a good example. Just need to point it to the EXE and have a copy of the conf file in the same directory.

I should mention the Arduino way of doing this, is to create a new boards.txt file with this chip and add (not change) the avrdude.conf file. This will allow programing either from selecting the correct board. but that is another subject.


This sounds like the programmer is not seeing the ATMega328 MCU, or the Arduino IDE is not seeing the programmer. Changing the signature won't be of any help as the IDE (or AVRDude) is not seeing the ATmega328.

I would suggest that you double-check your connections, and set the options in the IDE to verbose output - then repost the info here.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.