ATTINY85 as SMD

Hello,

Is there any difference between the SMD version and the regular version of the ATTINY85?

I am trying to run the bootloader on the SMD version and it gives me errormessage:

avrdude: Yikes! Invalid device signature.

  • Double check connections and try again, or use -F to override*
  • this check.*
    Error while burning bootloader.

When trying to burn it on the regular ATTINY it works fine. I have tried with 3 diffrent smd versions…

Board; ATtiny28/48/85
Processor; ATtiny85
Clock; Internal 8 MHz

Any suggestions?

Hopefully you mean ATtiny 25/45/85 was the board you selected?

Enable Verbose Upload in settings, and then try again. It will tell you what wrong value it receives for the signature. If it's 000000, that can indicate either a wiring error, or that the first time you tried to burn bootloader, you had a crystal selected as clock source, so it got set to use a crystal. Since you don't have one connected, the clock isn't running, so it can't be reprogrammed by ISP.

Signatures that change every time you try uploading, or FFFFFF are usually a wiring problem.

Signatures that are the same every time, but don't match any part are often a bad sign for the state of the part you're trying to program.

Did you remember the 0.1uF ceramic cap beween Vcc and Ground, as close to the chip as possible? Without it, the part will probably not program (you need this on almost all digital IC's, definitely all AVR microcontrollers). If you left this out of your design, you can solder one across the top of the chip.

Hello, Thank you,

I got this error message;

Arduino: 1.8.5 (Windows 10), Board: "ATtiny25/45/85, ATtiny85, Internal 8 MHz"

C:\Users\Kjetil\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\Kjetil\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -v -v -v -pattiny85 -cstk500v1 -PCOM3 -b19200 -e -Uefuse:w:0xff:m -Uhfuse:w:0xdf:m -Ulfuse:w:0xe2:m 

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\Kjetil\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf"

         Using Port                    : COM3
         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                      : ATtiny85
         Chip Erase delay              : 400000 us
         PAGEL                         : P00
         BS2                           : P00
         RESET disposition             : possible i/o
         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    12     4    0 no        512    4      0  4000  4500 0xff 0xff
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           flash         65     6    32    0 yes      8192   64    128 30000 30000 0xff 0xff
                                  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
                                  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  9000  9000 0x00 0x00
                                  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  9000  9000 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  9000  9000 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  9000  9000 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

         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] . [14] . [00] . [00] . [01] . [01] . [01] . [01] . [03] . [ff] . [ff] . [ff] . [ff] . [00] @ [40] . [02] . [00] . [00] . [00]   [20] . [00]   [20] 
avrdude: Recv: . [14] 
avrdude: Recv: . [10] 
avrdude: PAGEL and BS2 signals not defined in the configuration file for part ATtiny85, using dummy values
avrdude: Send: E [45] . [05] . [04] . [d7] . [a0] . [01]   [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.02s

avrdude: Device signature = 0x000000 (retrying)

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.02s

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.

Error while burning bootloader.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

It seems it gives me the 0x000000 value.

I am also 100% sure that it is not a wire problem, cause when I remove the card I use for programming and insert the regular attiny85 it burns the bootloader without any problems... I have also done a point to point with my multimeter so the wiring is OK. Have also tried the other 3 chips, none works...

This is my setup. Note I have the cap connected the same place I have it when programming the non smd version.

https://1drv.ms/u/s!AsI3gUAhZMbRmUmRcbQI_NxLw-El

Where is the cap? I see no decoupling cap. Without the cap, it may or may not appear to work. IME the SMD version is more sensitive to missing cap than the DIP version - and in any event, without the cap, some individual parts may work, or come closer to working than others, due to process variation, so you cannot say "well it works with this other chip, so the problem isn't the missing decoupling cap". The problem may not be due to the missing decoupling cap, but it is impossible to rule it out at this point. Sometimes without the cap, parts will give the sig, but then stop programming after writing some of the flash, othertimes they can be programmed but will randomly reset while in operation, other ones will not work at all - for these reasons, working with a part without decoupling cap is a waste of time.

Also, any guide which does not mention the use of the decoupling cap is not a "guide" - it's a "misguide", and you should desist from following it, since the author had no idea what they were doing and probably got other things wrong.

when you verified your connections, did you also check that no wires are shorted to eachother?

Hello,

The guides that I saw had the cap between the gnd and reset on the UNO... I have it there, it can be seen in the image.

Yes, there is no shors, as it I remove the programing card and insert the DIP tiny it programs fine..

kjetilhansen: Hello,

The guides that I saw had the cap between the gnd and reset on the UNO... I have it there, it can be seen in the image.

Yes, there is no shors, as it I remove the programing card and insert the DIP tiny it programs fine..

That cap is there to disable autoreset on the Uno (and it's typically a 10uF cap).

You need a 0.1uF ceramic cap between Vcc and Gnd of the Tiny85, as close to the Tiny85 as you can get - in addition to any other capacitors you may have elsewhere for other unrelated purposes. This is for decoupling - to prevent sudden changes in current drawn (for example, when swithing pins, programming flash, or performing other operations) resulting in brownouts (due to inductance of traces/wires carrying power to the tiny85) that can reset the chip, cause hangs, or result in other undesired behavior. This cap is NOT optional - I have had to throw away custom fabricated attiny85 PCBs (using the SMD version). because I didn't put it close enough, and the parts would not program.

Please stop debating the person trying to help you and follow their advice.

Did not know that I needed that.. But I tried to add it, no difference... Will try another attiny but I dont know if it have any other outcome..

Okay - well, we've ruled that out.

Could you have attempted to do "burn bootloader" with an external clock option selected? If you do this, it will brick the chip - it will need an external crystal/clock in order to be programmed, even just to tell it to use the internal oscillator.

No.. I've only used the internal 8 MHz...

Okay, I ran to a store we have in Norway called Kjell.com and they had the tiny. Tried that the same way I've tried with the other chips and this worked. Ebay sent me bricked chips I guess..