0
\$\begingroup\$

I'm trying to program 8 ATTiny85's I purchased from ebay but I can't seem to get any response from them.

I have tried following several guides and even tried to use High Voltage Serial Programming using this guide on one of the chips with no success.

I've set up my UNO as a programmer and using the debugging lights can see that part is working. But I keep getting the response "Device signature = 0xffffff" on all 8 chips.

The latest thing I have been trying to do to check that they are even working is burn bootloader with the following command

C:\WinAVR\bin> .\avrdude -v -p t85 -c stk500v1 -P COM13 -b 19200 -e -U efuse:w:0xff:m -U hfuse:w:0xdf:m -Ulfuse:w:0x62:m -F -B 5

and this response:

avrdude.exe: Version 5.10, compiled on Jan 19 2010 at 10:45:23
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2009 Joerg Wunsch

             System wide configuration file is "C:\WinAVR\bin\avrdude.conf"

             Using Port                    : COM13
             Using Programmer              : stk500v1
             Overriding Baud Rate          : 19200
             Setting bit clk period        : 5.0
             AVR Part                      : ATtiny85
             Chip Erase delay              : 4500 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     6     4    0 no        512    4      0  4000  4500 0xff 0xff
               flash         65     6    32    0 yes      8192   64    128  4500  4500 0xff 0xff
               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
               lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               calibration    0     0     0    0 no          2    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.exe: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.06s

avrdude.exe: Device signature = 0xffffff
avrdude.exe: Yikes!  Invalid device signature.
avrdude.exe: Expected signature for ATtiny85 is 1E 93 0B
avrdude.exe: safemode: lfuse reads as FF
avrdude.exe: safemode: hfuse reads as FF
avrdude.exe: safemode: efuse reads as FF
avrdude.exe: erasing chip
avrdude.exe: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude.exe: reading input file "0xff"
avrdude.exe: writing efuse (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude.exe: 1 bytes of efuse written
avrdude.exe: verifying efuse memory against 0xff:
avrdude.exe: load data efuse data from input file 0xff:
avrdude.exe: input file 0xff contains 1 bytes
avrdude.exe: reading on-chip efuse data:

Reading | ################################################## | 100% 0.01s

avrdude.exe: verifying ...
avrdude.exe: 1 bytes of efuse verified
avrdude.exe: reading input file "0xdf"
avrdude.exe: writing hfuse (1 bytes):

Writing |                                                    | 0% 0.00s ***failed;
Writing | ################################################## | 100% 0.16s

avrdude.exe: 1 bytes of hfuse written
avrdude.exe: verifying hfuse memory against 0xdf:
avrdude.exe: load data hfuse data from input file 0xdf:
avrdude.exe: input file 0xdf contains 1 bytes
avrdude.exe: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.03s

avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x0000
             0xdf != 0xff
avrdude.exe: verification error; content mismatch

avrdude.exe: safemode: lfuse reads as FF
avrdude.exe: safemode: hfuse reads as FF
avrdude.exe: safemode: efuse reads as FF
avrdude.exe: safemode: hfuse changed! Was df, and is now ff
Would you like this fuse to be changed back? [y/n]

If I enter 'y' it gets stuck in a loop trying to change the hfuse.

Any help would be greatly appreciated.

EDIT:

Any time I have run the below command on the chips

C:\WinAVR\bin> .\avrdude -v -p t85 -c stk500v1 -P COM13 -b 19200

This has been the response

avrdude.exe: Version 5.10, compiled on Jan 19 2010 at 10:45:23
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2009 Joerg Wunsch

             System wide configuration file is "C:\WinAVR\bin\avrdude.conf"

             Using Port                    : COM13
             Using Programmer              : stk500v1
             Overriding Baud Rate          : 19200
             AVR Part                      : ATtiny85
             Chip Erase delay              : 4500 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     6     4    0 no        512    4      0  4000  4500 0xff 0xff
               flash         65     6    32    0 yes      8192   64    128  4500  4500 0xff 0xff
               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
               lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               calibration    0     0     0    0 no          2    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.exe: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.07s

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


avrdude.exe done.  Thank you.
\$\endgroup\$
7
  • 1
    \$\begingroup\$ Either you're making a systematic error in wiring up the connections, or you bought a batch of fake or defective chips. Both scenarios have been known to happen… \$\endgroup\$ Commented Jul 28, 2015 at 2:38
  • 2
    \$\begingroup\$ If you have mistakenly reprogramming the fuse-bits such that the device is expecting an external clock then the results you are observing are about what should be expected. However, if you have since tried the HVPP, as you say, this should clear any fuses and reconfigure the device to use the internal oscillator. Microtherion could be right, unfortunately. \$\endgroup\$
    – sherrellbc
    Commented Jul 28, 2015 at 3:09
  • \$\begingroup\$ The best advice is to not buy parts on ebay. Use a reputable dealer like digikey, or even from places like Sparkfun or Adafruit. Also, if you plan on programming bare chips, don't use Arduino as a programmer... get an actual programmer from Atmel. Even the AVR pocket programmer from Sparkfun will work fine. \$\endgroup\$ Commented Jul 28, 2015 at 3:37
  • \$\begingroup\$ Are you trying to program all of them at once? To see if you can even talk, just do AVRDUDE -p <PART> -c <PROGRAMMER> -P <port> -V .... the -V will return Verbose information from the chip like the device signature and current fuse bytes. You shouldn't need to use the -b option unless you have already changed the clock timing on the chips. \$\endgroup\$ Commented Jul 28, 2015 at 3:40
  • \$\begingroup\$ If I don't specify the board rate I get the following response: "avrdude.exe: stk500_getsync(): not in sync: resp=0x00" and the error and heartbeat LED's are set to high. \$\endgroup\$
    – Pyro-San
    Commented Jul 28, 2015 at 11:47

1 Answer 1

1
\$\begingroup\$

The issue appears to be with the Arduino UNO as an ISP. I connected up a USBASP device and ran the following command:

.\avrdude -v -p t85 -c usbasp

and got the following response:

avrdude.exe: Version 5.10, compiled on Jan 19 2010 at 10:45:23
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2009 Joerg Wunsch

             System wide configuration file is "C:\WinAVR\bin\avrdude.conf"

             Using Port                    : lpt1
             Using Programmer              : usbasp
             AVR Part                      : ATtiny85
             Chip Erase delay              : 4500 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     6     4    0 no        512    4      0  4000  4500 0xff 0xff
               flash         65     6    32    0 yes      8192   64    128  4500  4500 0xff 0xff
               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
               lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
               calibration    0     0     0    0 no          2    0      0     0     0 0x00 0x00

             Programmer Type : usbasp
             Description     : USBasp, http://www.fischl.de/usbasp/

avrdude.exe: auto set sck period (because given equals null)
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude.exe: Device signature = 0x1e930b
avrdude.exe: safemode: lfuse reads as 62
avrdude.exe: safemode: hfuse reads as DF
avrdude.exe: safemode: efuse reads as FF

avrdude.exe: safemode: lfuse reads as 62
avrdude.exe: safemode: hfuse reads as DF
avrdude.exe: safemode: efuse reads as FF
avrdude.exe: safemode: Fuses OK

avrdude.exe done.  Thank you.

I have now successfully programmed a couple of the ATTiny85's with the slightly modified Blink sketch using the Arduino IDE (1.6.5)

I still have no idea why the Arduino UNO would not be working as a programmer.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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