Go Down

Topic: bootloading the atmega328-pu (Read 51 times) previous topic - next topic

hotshotharry

So recently i ordered a bunch of atmega chips (atmega328-pu as opposed to the atmega328p pico power series) as i dont need the extra power saving gains so i decided to save myself some money. However I had a heck of a time trying to burn the bootloader on them and it took me several hours to find the info i needed so i thought i would just archive the info for anyone looking for the same. If you have any tips or suggestions please add them as i am still quite new to all of this. The chips loaded in this process seem to work fine ...

Please note this is for the non picopower atmega328-pu chips  signature = 0x1e 0x95 0x14 (1E 95 14) vs atmega328p-xx (1E 95 0F)

I tried to load the optiboot and the demillinauve bootloaders via the arduino ide v22 but all i could get was this message - Expected signature for ATMEGA328P is 1E 95 0F Double check chip, or use -F to override this ...

After much searching I found you need to modify the avrdude.conf file ( mac = arduino -show package contents - resources/java/hardware/tools/avr/etc )

Make a backup copy of this file in case something gets messed up.

Open the file with text edit and about 2/3 the way down under atmega 328 find   " signature       = 0x1e 0x95 0x0F; "

change the 0F to 14 save it and restart the arduino ide, you should now be able to bootload your atmega328-pu chips.

Make sure to change the 14 back to OF and restart when your done loading the bootloaders otherwise it will fail with - Expected signature for ATMEGA328P is 1E 95 14 Double check chip, or use -F to override this ...

Good luck  :)



Raavy

Thanks for the elaborate explanation. This was very helpful.

Hopefully the next release of Arduino should support the MCU atmega328 (currently supports only atmega328p). Its quite annoying to keep changing the hex value, everytime we switch the chips/boards.  :~

trouinky

The technique of modifying the avrdude.conf file to load the bootloader on this MCU worked flawlessly using Ardunio-22. THANKS TEN TONS!!!!

BUT, is there a way to modify another settings file (maybe boards.txt???) to allow uploading of sketches to this chip with the Arduino programming interface? I get the same error that occurs when trying to load the bootloader to this chip with an unmodified avrdude.conf file...

I did modify the boards.txt file, noting a 328 chip (vs. 328p), but the sketch won't compile.

retrolefty


The technique of modifying the avrdude.conf file to load the bootloader on this MCU worked flawlessly using Ardunio-22. THANKS TEN TONS!!!!

BUT, is there a way to modify another settings file (maybe boards.txt???) to allow uploading of sketches to this chip with the Arduino programming interface? I get the same error that occurs when trying to load the bootloader to this chip with an unmodified avrdude.conf file...

I did modify the boards.txt file, noting a 328 chip (vs. 328p), but the sketch won't compile.


See my last posting on: http://arduino.cc/forum/index.php/topic,58984.msg528206.html#msg528206

Once you have a arduino bootloader installed on a non p 328 chip, you need no further modifications to any arduino files to compile and upload to the chip from the arduino IDE.

Lefty

ua100k

#4
Sep 01, 2011, 02:45 am Last Edit: Sep 01, 2011, 02:49 am by ua100k Reason: 1

So recently i ordered a bunch of atmega chips (atmega328-pu as opposed to the atmega328p pico power series) as i dont need the extra power saving gains so i decided to save myself some money. However I had a heck of a time trying to burn the bootloader on them and it took me several hours to find the info i needed so i thought i would just archive the info for anyone looking for the same. If you have any tips or suggestions please add them as i am still quite new to all of this. The chips loaded in this process seem to work fine ...

Please note this is for the non picopower atmega328-pu chips  signature = 0x1e 0x95 0x14 (1E 95 14) vs atmega328p-xx (1E 95 0F)

.....deleted for brevity........

change the 0F to 14 save it and restart the arduino ide, you should now be able to bootload your atmega328-pu chips.

Make sure to change the 14 back to OF and restart when your done loading the bootloaders otherwise it will fail with - Expected signature for ATMEGA328P is 1E 95 14 Double check chip, or use -F to override this ...

Good luck  :)



FYI. I used the avrisp MK II device to burn the chips. I only had to change this conf file and not change it back for future uploads of sketches. 
For windows users' avrdude.conf is here. C:\Documents and Settings\a\My Documents\Arduino\arduino-0022\hardware\tools\avr\etc


Also I was able to load the sketch without the bootloader. I was able to trigger the reset on the switch and have the program load and run without issues. The timing was off without the bootloader, no doubt certain settings were off, i.e. factory defaults.

This uses the winusb driver so that requires loaded before you can use the avrisp with arduino ide. The studio4 USB driver does not work and the whole studio4 environment and driver has to be uninstalled, the winusblib has to be installed to use the arduino IDE and avrisp MK II to burn bootloaders and upload sketches. It also works with atmega328p (if you have the right signature in avrdude.conf file).

Enjoy.


westfw

I've added (probably) support for the 328-pu chips to the "optiLoader" sketch, but I don't have any 328 (non-328P) chips to try it out on.  If someone would like to give it a try, it is downloadable from This Google Docs Link

OptiLoader is somewhat described here: http://arduino.cc/forum/index.php/topic,64105.msg481752.html#msg481752
It autodetects the target chip type and downloads an appropriate optiboot automagically.  4_4a does mega8, mega168, mega328p, and mega328 (the latter two get identical bootloaders, and will then identify as "Uno" to the Arduino IDE.  So far, no one has found any relevant differences between 328 and 328p, other than making people pay attention.)

extent

I didn't try running that version you just posted, but the entry for the 328 is exactly the same as the modification I made to the older optiLoader to do my chips.  So there shouldn't be any reason why it won't work.


BDub

#7
Sep 20, 2011, 06:19 pm Last Edit: Sep 20, 2011, 08:41 pm by BrettW Reason: 1
Thanks a lot hotshotharry for posting this!  I was scratching my head for awhile trying to get this to work, and when I finally talked to my board from avrdude directly I could see what the signature was, and realized the difference in signature from the 328p - which led me here.  I agree there should be a way to integrate this into the IDE so that you don't have to switch back and fourth... should be easy to do.  I'll take a look at doing it and post back if I get it done.

In my case, I had built my own Arduino Pro Mini using an ATMEGA328-AU TQFP-32 package part, and was programming the bootloader via the Arduino v22 IDE with a sparkfun AVR Pocket Programmer (USBTinyISP compatible)

Cranium

Thank you!  I just received an order of 10 of these and started to panic when I got the error about it stating the signature was wrong.

This worked perfectly!

kaor

I met the same problem, I wonder why Arduino developers ignore that 328 chip.
OptiLoader doesn't help all the time, for example I needed to burn "ATmega328 on a breadboard (8 MHz internal clock)".
?????? ?????? ?????, ??? ??? - ??????????!

Jayraj


So recently i ordered a bunch of atmega chips (atmega328-pu as opposed to the atmega328p pico power series) as i dont need the extra power saving gains so i decided to save myself some money. However I had a heck of a time trying to burn the bootloader on them and it took me several hours to find the info i needed so i thought i would just archive the info for anyone looking for the same. If you have any tips or suggestions please add them as i am still quite new to all of this. The chips loaded in this process seem to work fine ...

Please note this is for the non picopower atmega328-pu chips  signature = 0x1e 0x95 0x14 (1E 95 14) vs atmega328p-xx (1E 95 0F)

I tried to load the optiboot and the demillinauve bootloaders via the arduino ide v22 but all i could get was this message - Expected signature for ATMEGA328P is 1E 95 0F Double check chip, or use -F to override this ...

After much searching I found you need to modify the avrdude.conf file ( mac = arduino -show package contents - resources/java/hardware/tools/avr/etc )

Make a backup copy of this file in case something gets messed up.

Open the file with text edit and about 2/3 the way down under atmega 328 find   " signature       = 0x1e 0x95 0x0F; "

change the 0F to 14 save it and restart the arduino ide, you should now be able to bootload your atmega328-pu chips.

Make sure to change the 14 back to OF and restart when your done loading the bootloaders otherwise it will fail with - Expected signature for ATMEGA328P is 1E 95 14 Double check chip, or use -F to override this ...

Good luck  :)



thankyou man

SirNickity

As a variation on this theme, I copied the existing ATmega328P entry in avrdude.conf, modified the id, desc, and signature to match the 328, and pasted it before the existing entry.


Code: [Select]
#------------------------------------------------------------
# ATmega328
#------------------------------------------------------------

part
    id = "m328";
    desc = "ATMEGA328";
    has_debugwire = yes;
    flash_instr = 0xB6, 0x01, 0x11;
    eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00,
  0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF,
  0x99, 0xF9, 0xBB, 0xAF;
    stk500_devcode = 0x86;
    # avr910_devcode = 0x;
    signature = 0x1e 0x95 0x14;
    pagel = 0xd7;
    bs2 = 0xc2;
    chip_erase_delay = 9000;
    pgm_enable = "1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1",
"x x x x x x x x x x x x x x x x";

    chip_erase = "1 0 1 0 1 1 0 0 1 0 0 x x x x x",
"x x x x x x x x x x x x x x x x";

    timeout = 200;
    stabdelay = 100;
    cmdexedelay = 25;
    synchloops = 32;
    bytedelay = 0;
    pollindex = 3;
    pollvalue = 0x53;
    predelay = 1;
    postdelay = 1;
    pollmethod = 1;

    pp_controlstack =
0x0E, 0x1E, 0x0F, 0x1F, 0x2E, 0x3E, 0x2F, 0x3F,
0x4E, 0x5E, 0x4F, 0x5F, 0x6E, 0x7E, 0x6F, 0x7F,
0x66, 0x76, 0x67, 0x77, 0x6A, 0x7A, 0x6B, 0x7B,
0xBE, 0xFD, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00;
    hventerstabdelay = 100;
    progmodedelay = 0;
    latchcycles = 5;
    togglevtg = 1;
    poweroffdelay = 15;
    resetdelayms = 1;
    resetdelayus = 0;
    hvleavestabdelay = 15;
    resetdelay = 15;
    chiperasepulsewidth = 0;
    chiperasepolltimeout = 10;
    programfusepulsewidth = 0;
    programfusepolltimeout = 5;
    programlockpulsewidth = 0;
    programlockpolltimeout = 5;

    memory "eeprom"
paged = no;
page_size = 4;
size = 1024;
min_write_delay = 3600;
max_write_delay = 3600;
readback_p1 = 0xff;
readback_p2 = 0xff;
read = " 1 0 1 0 0 0 0 0",
       " 0 0 0 x x x a9 a8",
       " a7 a6 a5 a4 a3 a2 a1 a0",
       " o o o o o o o o";

write = " 1 1 0 0 0 0 0 0",
      " 0 0 0 x x x a9 a8",
" a7 a6 a5 a4 a3 a2 a1 a0",
" i i i i i i i i";

loadpage_lo = " 1 1 0 0 0 0 0 1",
      " 0 0 0 0 0 0 0 0",
      " 0 0 0 0 0 0 a1 a0",
      " i i i i i i i i";

writepage = " 1 1 0 0 0 0 1 0",
    " 0 0 x x x x a9 a8",
    " a7 a6 a5 a4 a3 a2 0 0",
    " x x x x x x x x";

mode = 0x41;
delay = 20;
blocksize = 4;
readsize = 256;
    ;

    memory "flash"
paged = yes;
size = 32768;
page_size = 128;
num_pages = 256;
min_write_delay = 4500;
max_write_delay = 4500;
readback_p1 = 0xff;
readback_p2 = 0xff;
read_lo = " 0 0 1 0 0 0 0 0",
  " 0 0 a13 a12 a11 a10 a9 a8",
  " a7 a6 a5 a4 a3 a2 a1 a0",
  " o o o o o o o o";

read_hi = " 0 0 1 0 1 0 0 0",
  " 0 0 a13 a12 a11 a10 a9 a8",
  " a7 a6 a5 a4 a3 a2 a1 a0",
  " o o o o o o o o";

loadpage_lo = " 0 1 0 0 0 0 0 0",
      " 0 0 0 x x x x x",
      " x x a5 a4 a3 a2 a1 a0",
      " i i i i i i i i";

loadpage_hi = " 0 1 0 0 1 0 0 0",
      " 0 0 0 x x x x x",
      " x x a5 a4 a3 a2 a1 a0",
      " i i i i i i i i";

writepage = " 0 1 0 0 1 1 0 0",
    " 0 0 a13 a12 a11 a10 a9 a8",
    " a7 a6 x x x x x x",
    " x x x x x x x x";

mode = 0x41;
delay = 6;
blocksize = 128;
readsize = 256;

    ;

    memory "lfuse"
size = 1;
min_write_delay = 4500;
max_write_delay = 4500;
read = "0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0",
       "x x x x x x x x o o o o o o o o";

write = "1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0",
      "x x x x x x x x i i i i i i i i";
    ;

    memory "hfuse"
size = 1;
min_write_delay = 4500;
max_write_delay = 4500;
read = "0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0",
       "x x x x x x x x o o o o o o o o";

write = "1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 0",
      "x x x x x x x x i i i i i i i i";
    ;

    memory "efuse"
size = 1;
min_write_delay = 4500;
max_write_delay = 4500;
read = "0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0",
       "x x x x x x x x x x x x x o o o";

write = "1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0",
      "x x x x x x x x x x x x x i i i";
    ;

    memory "lock"
size = 1;
min_write_delay = 4500;
max_write_delay = 4500;
read = "0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0",
       "x x x x x x x x x x o o o o o o";

write = "1 0 1 0 1 1 0 0 1 1 1 x x x x x",
      "x x x x x x x x 1 1 i i i i i i";
    ;

    memory "calibration"
size = 1;
read = "0 0 1 1 1 0 0 0 0 0 0 x x x x x",
       "0 0 0 0 0 0 0 0 o o o o o o o o";
    ;

    memory "signature"
size = 3;
read = "0 0 1 1 0 0 0 0 0 0 0 x x x x x",
       "x x x x x x a1 a0 o o o o o o o o";
    ;
;


Also, added a new entry in boards.txt like so:

Code: [Select]
##############################################################

uno328.name=Arduino Uno w/ ATmega328 (non-P)
uno328.upload.protocol=arduino
uno328.upload.maximum_size=32256
uno328.upload.speed=115200
uno328.bootloader.low_fuses=0xff
uno328.bootloader.high_fuses=0xde
uno328.bootloader.extended_fuses=0x05
uno328.bootloader.path=optiboot
uno328.bootloader.file=optiboot_atmega328.hex
uno328.bootloader.unlock_bits=0x3F
uno328.bootloader.lock_bits=0x0F
uno328.build.mcu=atmega328
uno328.build.f_cpu=16000000L
uno328.build.core=arduino
uno328.build.variant=standard


This allows selecting my breadboard Uno-clone as a bootloader target.  Trying to upload a sketch fails because the compiler doesn't have a matching target, but switching back to the proper Uno target works fine for that anyway.  It's still easier than editing the conf file every time I swap chips.

I'm sure this can be made better, so if anyone wants to point out how...  :D

jensa

#12
Mar 26, 2012, 01:37 pm Last Edit: Mar 27, 2012, 10:17 am by jensa Reason: 1
Thanks a lot for posting this solution! It totally saved my day! :)

Here's a writeup on my experience bootloading this chip http://flashgamer.com/arduino/comments/using-your-arduino-as-an-isp.

J

skumancer

#13
May 24, 2012, 11:19 am Last Edit: May 24, 2012, 07:35 pm by skumancer Reason: 1
Hi,

Wondering if anyone could help me out...

I was getting the "incorrect signature 0x1e 0x95 0x0F" error at first. I made the changes as per this thread and now all I get is

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


I don't know what else to do. I've powered my board with an external supply, through the ISP header from the arduino, and nothing works. I also tried both this http://arduino.cc/forum/index.php?topic=51819.0 and used this sketch http://pastebin.com/Aw5BD0zy. My board is powered through a 5V regulator. I can see my power LED lighting up, showing the power supply circuit is working. I also verified my traces and connections to the ATMEGA328 (in this case an ATMEGA328 AU (1210) with a 16Mhz crystal). I'm using ArduinoISP.

I'm starting to think I fried my chip, I have very few ideas on what else to do, as this is my first time burning a bootloader.

Any help is greatly appreciated. Thanks!!

Attached is an image of my board's schematics. This is my whole output:

Code: [Select]
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328 -cstk500v1 -P/dev/tty.usbmodemfd131 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xde:m -Ulfuse:w:0xff:m

avrdude: Version 5.11, compiled on Sep  2 2011 at 18:52:52
        Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
        Copyright (c) 2007-2009 Joerg Wunsch

        System wide configuration file is "/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf"
        User configuration file is "/Users/skumancer/.avrduderc"
        User configuration file does not exist or is not a regular file, skipping

        Using Port                    : /dev/tty.usbmodemfd131
        Using Programmer              : stk500v1
        Overriding Baud Rate          : 19200
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
        AVR Part                      : ATMEGA328
        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
                                 Block Poll               Page                       Polled
          Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
                                 Block Poll               Page                       Polled
          Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                 Block Poll               Page                       Polled
          Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                 Block Poll               Page                       Polled
          Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                 Block Poll               Page                       Polled
          Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
                                 Block Poll               Page                       Polled
          Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                 Block Poll               Page                       Polled
          Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
          ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
          signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

        Programmer Type : STK500
        Description     : Atmel STK500 Version 1.x firmware
avrdude: Send: A [41] . [80]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [02]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [81]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [01]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [82]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [12]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [98]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
        Hardware Version: 2
        Firmware Version: 1.18
        Topcard         : Unknown
avrdude: Send: A [41] . [84]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [85]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [86]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [87]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [89]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
        Vtarget         : 0.0 V
        Varef           : 0.0 V
        Oscillator      : Off
        SCK period      : 0.1 us

avrdude: Send: A [41] . [81]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [01]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [82]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [12]
avrdude: Recv: . [10]
avrdude: Send: B [42] . [86] . [00] . [00] . [01] . [01] . [01] . [01] . [03] . [ff] . [ff] . [ff] . [ff] . [00] . [80] . [04] . [00] . [00] . [00] . [80] . [00]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: Send: E [45] . [05] . [04] . [d7] . [c2] . [00]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: Send: P [50]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: AVR device initialized and ready to accept instructions

Reading | avrdude: Send: V [56] 0 [30] . [00] . [00] . [00]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: V [56] 0 [30] . [00] . [01] . [00]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
################avrdude: Send: V [56] 0 [30] . [00] . [02] . [00]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
################################## | 100% 0.07s

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

avrdude: Send: Q [51]   [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]

avrdude done.  Thank you.

JoeO

How about posting the schematic?  You posted a board layout.

Go Up