ATTiny85 invalid device signature: 0x000000 on first use. - Page 1
Forum section: electronics / general

author: paulca
author_rank: Super Contributor
timestamp: January 19, 2018, 08:02:15 am
content: So I bought 5 ATTiny85's from RS. The first one worked fine. Last night I went to use another and found that out of the 4 remaining ones, 2 were invalid device signature, 2 worked fine.I'm hoping it's just fuse bits, but I still need to buy or build an HV programmer to find out.How common is this? Is it possible they have mangled fuse bits from factory? Is it possibly they have got ESD damage by me or in storage transit?At £1.03 part of me wonders if it's worth the hassle of the HV programmer, but if they are going to be 3 out of 5 working the price goes up to about £1.66 per unit.

author: soubitos
author_rank: Frequent Contributor
timestamp: January 19, 2018, 08:18:57 am
content: I am building an Attiny Fuse Reset Shield these days which is using an Atmega8A-AU and onboard 12V source. Its been two days now i struggle to program it with no luck... i keep getting wrong signature 0x000000 messages... anybidea what i can do to fix that? I have 10 atmega8's but dont feel like soldering them all to see if they are the culprit but i might just do it if i need to

author: sleemanj
author_rank: Super Contributor
timestamp: January 19, 2018, 08:35:34 am
content: If they came from RS, then I would not expect them to be bad, have you tried slowing down your programmer bitclock in case the tiny is running slower than expected, -B<number> option to avrdude (I forget what numbers are valid, 1-10 higher slower I think), provided your programmer supports it.You could try injecting a square wave of say 8MHz (into CLKI), just in case it's fuse is set to require external xtal/clock.

author: paulca
author_rank: Super Contributor
timestamp: January 19, 2018, 09:49:42 am
content: Quote from: sleemanj on January 19, 2018, 08:35:34 amI'm using "Arduinno as ISP" to program them with an UNO. I got a USBAsp, but when it failed on the first chip I blamed the programmer, but the UNO got invalid device sig. Tried a second chip same thing. 3rd and 4th chips worked fine without any change to programmer.I tried one of the dead ones with an external 16Mhz xtal in case it had come with external clock settings, but no joy.I'll diagnose them tonight to double check each with the UNO as ISP and the USBAsp just in case.I'm in no rush for more, I only need 1 and have two working. I also have 4 Mega328p's if I get stuck, but it would be a waste as my project only needs one pin.

author: georges80
author_rank: Frequent Contributor
timestamp: January 19, 2018, 04:24:29 pm
content: I've used ten's of 1000's of tiny85 parts over the years and have NEVER had a programming failure that wasn't due to something external such as programming cable, PCB/assembly shorts, etc. These parts all sourced through digikey or mouser and I would assume RS parts are similarly authentic and handled through the delivery chain in an ESD safe manner.Make sure your programming clock speed is below 1/4 of the default clock speed for the tiny85, so below 250kHz. Use 125kHz to be safe.cheers,george.

author: paulca
author_rank: Super Contributor
timestamp: January 19, 2018, 04:38:33 pm
content: Quote from: georges80 on January 19, 2018, 04:24:29 pmI'm not sure how to change that in the Arduino as ISP setup, but I'll look into it. There is only one clock setting and that is what get's set in the fuses when you burn the bootloader.It might be in the Arduino ISP sketch, I'll check.The odd thing is, I was pulling chips out of the breadboard and inserting another and hitting "Burn bootloader", zero other changes, some worked some didn't.

author: sleemanj
author_rank: Super Contributor
timestamp: January 19, 2018, 10:06:47 pm
content: The adafruit verwion has a low speed optionhttps://github.com/adafruit/ArduinoISP/blob/master/ArduinoISP.ino

author: phil from seattle
author_rank: Super Contributor
timestamp: January 19, 2018, 10:19:10 pm
content: I've mostly seen this problem when the 85 was set to use debugwire. Then you need a debugwire programmer (ICE in my case) to set the chip back to ISP. Think it's likely not to be your problem. I did brick one 85 when using the ArduinoISP programmer. Haven't looked for it to check out (but probably binned it).

author: paulca
author_rank: Super Contributor
timestamp: February 05, 2018, 10:47:14 am
content: Update to tie this off.I reset them all with an HV programmer and having tested a random one it programs fine.Not sure what Fuse state they arrived in or if they got corrupted in storage transit, but it seems they (having only tested one mind) work.

author: cowasaki
author_rank: Frequent Contributor
timestamp: February 05, 2018, 11:12:29 am
content: I buy a lot of Arduinos ICs of various types including ICs that are not normally included in the IDE such as the 664 & 1284. Having a proper ICSP and being able to re-program fuses and boot loaders makes life much easier. It also allows you to program without a boot loader to gain that little extra space. I find the AVR ICSP MkII ideal and at about £15 it's not worth messing about. There are Chinese clones for about £9.

author: paulca
author_rank: Super Contributor
timestamp: February 05, 2018, 11:25:53 am
content: The trouble with that is, if the fuses are in a wonky state you can't actually ISP program the chip or set the fuses.The only way is to use a 12V programmer.I have found my USBAsp works 9 times out of ten. Either that or an UNO or Nano, although the Nano is a bit weird as I don't believe it duplicates it's ISP pins onto D11,12,13 like the UNO.

author: agehall
author_rank: Frequent Contributor
timestamp: February 05, 2018, 03:41:27 pm
content: Are you using avrdude to program the chip and if so, have you tried adding something like -B 100 to the command line?

author: paulca
author_rank: Super Contributor
timestamp: February 05, 2018, 03:51:54 pm
content: Quote from: agehall on February 05, 2018, 03:41:27 pmThey are fixed now. They all had wonky fuse bits. Either external source or some unreasonable value for the internal clock that prevented programming via normal means.