trying to burn bootloader

Hi,

Unfortunately, I brought a Atmega 328p-pu without a bootloader. Now I am using my Uno as ISP and having external crystal connected to Atmega just as the wiring in "From Arduino to a Microcontroller on a Breadboard' make it.

I found that 16M crystal didn't oscillate. Does that mean I had messed up with the fuses(CKSEL[3:0])?

Thanks in advance!

Error Message

Arduino: 1.8.1 (Windows 10), Board: "Arduino/Genuino Uno"

D:\Arduino\hardware\tools\avr/bin/avrdude -CD:\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM7 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m

avrdude: Version 6.3, compiled on Dec 16 2016 at 13:33:19 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch

System wide configuration file is "D:\Arduino\hardware\tools\avr/etc/avrdude.conf"

Using Port : COM7 Using Programmer : stk500v1 Overriding Baud Rate : 19200 AVR Part : ATmega328P Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PC2 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail :

Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack


eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

Programmer Type : STK500 Description : Atmel STK500 Version 1.x firmware Hardware Version: 2 Firmware Version: 1.18 Topcard : Unknown Vtarget : 0.0 V Varef : 0.0 V Oscillator : Off SCK period : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x000000 (retrying)

Error while burning bootloader. Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x000000 avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check.

avrdude done. Thank you.

Check out this url from Mr. Gammon. Add the capacitors .1uF according to the attached .jpg.

http://www.gammon.com.au/forum/?id=11637

Chuan: ... I found that 16M crystal didn't oscillate. ... Double check connections and try again, or use -F to override this check.

The error means exactly what it means. Probably something wring in your HW setup. If you suspect the crystal you have to replace it. ATmega uses internal clock by default but at first bootloading attempt the fuses go first and oscillator is changed to external. If there is missing clock signal the chip cannot start. You can also use Arduino as ISP as clock generator on UNO's pin 9 adding short code at the end of setup() function

setup() {
    ...

    pinMode(9,     OUTPUT);

    OCR1A  = 0;
    ICR1   = 1;
    TCCR1A = _BV(WGM11) | _BV(COM1A1);              
    TCCR1B = _BV(WGM13) | _BV(WGM12) |_BV(CS10);
                    // fast PWM; ICR1 ~ TOP; OCR1A updade ~ BOTTOM; TOV1 flag set ~TOP; 
                    // clk/1 ~ no prescaling clock;
                    // clear OC1A on Compare Match, set OC1A at bottom
}

Just connect pin 9 to XTAL1 pin on ATmega328P.

Budvar10, thanks a lot! Now it works.

Cheers!