1

I'm trying to program an Attiny85 chip using an Arduino Uno as an ISP following this two tutorials: Instructables: Program an ATtiny With Arduino and Programming an ATtiny w/ Arduino 1.6 (or 1.0) but every time I try to upload the sketch I get this error message:

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

I have tried different Arduino boards/changing port and different ATtiny chips but the results are all the same. I have also checked the wiring multiple times and it seems to be correct.

This is the full error message (on verbose mode):

 avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
 Copyright (c) 2007-2009 Joerg Wunsch
 System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
 Using Port : COM7
 Using Programmer : stk500v1
 Overriding Baud Rate : 19200
 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
 flash 65 6 32 0 yes 8192 64 128 30000 30000 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: AVR device initialized and ready to accept instructions
 Reading | ################################################## | 100% 0.05s
 avrdude: Device signature = 0x000000 (retrying)
 Reading | ################################################## | 100% 0.05s
 avrdude: Device signature = 0x000000 (retrying)
 Reading | ################################################## | 100% 0.05s
 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.
Greenonline
3,1527 gold badges36 silver badges48 bronze badges
asked May 23, 2016 at 13:55
3
  • Downvoted because you stopped answering the questions of the person trying to help you, making this question impossible to answer. Commented Dec 20, 2016 at 2:55
  • Hint: Start by verifying "Arduino Uno as an ISP". This question assumes that the ISP is working correctly. Commented May 9, 2019 at 7:24
  • @MikaelPatel - I have found that if the ISP is set incorrectly then the error isn't the Yikes!, but is instead either Could not find USBtiny device error or avrdude: stk500_recv(): programmer is not responding Commented May 9, 2019 at 7:28

3 Answers 3

1

Try connecting the RESET pin of the Attiny85 to GND the second before you hit "program".

In my experience, the Arduino does not always send the RESET signal when it should (or on the pin that you think it would send it).

In these cases, manually resetting the Attiny by connecting the RESET pin to ground makes it programmable.

You can keep RESET low during the whole programming process, but if you keep it low for many minutes before programming the chip, it might not always work. In those cases, set RESET high for a moment before setting it back low, and the Attiny should be good for another round of programming.

And of course, when you want the Attiny to start doing what you have programmed it to do, you have to pull RESET high again.

answered May 23, 2016 at 14:47
6
  • I tried that and got : avrdude: stk500_recv(): programmer is not responding any suggestions? Commented May 23, 2016 at 15:13
  • Have you added the capacitor or pull-up resistor to prevent the Arduino from resetting itself when it tries to reset the Attiny? Commented May 23, 2016 at 15:27
  • Yes I have, a 10uf connected between the GND and RES Commented May 23, 2016 at 15:30
  • The only recurring problem that I've had, that has defied my double and triple checking of ... * the connections, * and remembering to upload the "Arduino as ISP" sketch to the Arduino, * and selecting board, * port, and * "ArduinoISP" in the Arduino IDE, ... has been having to do the reset manually. If none of that helps, then I'm sorry to say I'm out of ideas. Remembering to switch the programmer between AVRISP mkII and ArduinoISP at the appropriate time has tricked me a couple of times, though. Commented May 23, 2016 at 15:38
  • @Voly: Are you trying to program the Attiny in circuit? In other words, are there other components connected to the pins of the Attiny, or is it just the Arduino Uno? Commented Jun 22, 2016 at 20:58
1

I solved a similar issue with my ATtiny13, I set a clock too slow (128 Khz) and Arduino ISP with its default params was unable to talk with ATtiny; I changed the clock in the Arduino ISP sketch and my ATtiny went back from the death.

answered Dec 19, 2024 at 23:48
0

This error (in particular the 0x000000) usually, but not always, means that the ATtiny has the fuses set for an external oscillation, but there is no functioning oscillator:

avrdude: Device signature = 0x000000

You probably need to add an external oscillator, i.e. a 16 MHz crystal, and a couple of 22 pF ceramic capacitors:

External crystal oscillator

However, as this Engbedded Atmel AVR® Fuse Calculator shows, there are a number of permutations that could be set:

ATtiny85 oscillator selection

So, instead of using a crystal, you may need to provide an external clock:

External clock signal

These schematics come from What's the schematic to share one crystal with two micros?

answered May 9, 2019 at 7:09

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

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

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.