2

Update 12/11 Working through the answer posted.

  • Upload reset appearance - [Works blinks correctly.]
  • Convince yourself that reset appearance code reliable indicates DTR resets. [Opened the serial monitor 5-6 times, nothing changed or blinked]
  • 10uF cap between Arduino Nano RESET and adjacent GND. [Done]
  • Plug the board back in and you should see the LED Blink rapidly for the power-on (not DTR) reset. [Blinks rapidly same as after upload of sketch in Step one]
  • Open (or Reopen) the serial monitor and see that the LED remains OFF. [No LED's]
  • Break the RESET leg of whatever circuit you chose for defeating DTR reset. Upload the ArduinoISP sketch [Uploaded and verified, no problem]
  • You should see a signature check error like this: [Yes this error occured same message as you posted]
  • Upload Empty sketch [ IT WORKS !!!!!]
  • Check using one of my previous sketchs [WOOT! It works]

Thanks, that resolved the issue!! (although I've aready bought a universal programmer because I didn't think I would ever get it working).

Update - 11/Nov

As suggested, I have taken the nano out of any board and it is dangling from the USB cable. I have tried to upload the default sketch.

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

using the settings:

  • Board Attiny22/44/84
  • Processor Attiny84
  • Programmer Arduino as ISP

I still get the problem of programmer not responding. Did this for all 3 nanos I have available.

===

Update - 11/nov I have now wiped all the IDE from my machine and reloaded. I have attempted to program an ATmega168PA instead of the tiny. Same problem.

Update - 10/nov:

After swapping between 2 different nanos and different capacitors to check that the cap is working. I noticed some different behavour. Nano A fails as below, however Nano B fails, but the message is slightly different. Instead of resp=0x00 I have resp=0xFF

Also on Nano B the L light doesn't flash it is on constantly and the 10 getsync messages go really fast.


I really could do with a solution if anyone has one.

I am trying to upload a sketch into a ATTiny84 with Nano as "Arduinio as ISP". This worked last week, same sketch, no changes. I have attempted to troubleshoot:

Changed ATTiny chips, changed between 3 different Nanos (and even bought another which also failed), I have changed all the USB cables, changed all the wires. I have installed the IDE on different machines.

In summary, I have tried:

  • 3 different machines: Linux, Raspberry Pi, Windows 10
  • 7 different ATTiny84 chips (I have ten, but don't want to use the other 3 in case this is bricking them!)
  • 4 different Nanos
  • different USB cables, different wires, replaced the capacitors

I have triple checked the configuration. Nothing seems to fix the problem.

I have no issue with any of the Nanos, I can use them directly, but just can't seem to use them to push into the AVR. It worked with the same configuration for weeks, now it doesn't. I'm really scratching my head.

I'm using:

  • ATTiny core by David A. Mellis
  • Boards: Attiny24/44/84
  • Processor: Attiny84
  • Clock: Internal 1 Mhz
  • Programmer: Arduinio as ISP
  • "Upload using Programmer"

Verbose Error messages:

Arduino: 1.8.13 (Linux), Board: "ATtiny24/44/84, ATtiny84, Internal 1 MHz"

/home/rick/arduino-1.8.13/arduino-builder -dump-prefs -logger=machine -hardware /home/rick/arduino-1.8.13/hardware -hardware /home/rick/.arduino15/packages -hardware /home/rick/Arduino/hardware -tools /home/rick/arduino-1.8.13/tools-builder -tools /home/rick/arduino-1.8.13/hardware/tools/avr -tools /home/rick/.arduino15/packages -built-in-libraries /home/rick/arduino-1.8.13/libraries -libraries /home/rick/Arduino/libraries -fqbn=attiny:avr:ATtinyX4:cpu=attiny84,clock=internal1 -vid-pid=1A86_7523 -ide-version=10813 -build-path /tmp/arduino_build_476590 -warnings=default -build-cache /tmp/arduino_cache_440110 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=/home/rick/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/home/rick/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.arduinoOTA.path=/home/rick/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/home/rick/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.avr-gcc.path=/home/rick/arduino-1.8.13/hardware/tools/avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=/home/rick/arduino-1.8.13/hardware/tools/avr -verbose /home/rick/Arduino/Light_detector_Example/Light_detector_Example.ino
/home/rick/arduino-1.8.13/arduino-builder -compile -logger=machine -hardware /home/rick/arduino-1.8.13/hardware -hardware /home/rick/.arduino15/packages -hardware /home/rick/Arduino/hardware -tools /home/rick/arduino-1.8.13/tools-builder -tools /home/rick/arduino-1.8.13/hardware/tools/avr -tools /home/rick/.arduino15/packages -built-in-libraries /home/rick/arduino-1.8.13/libraries -libraries /home/rick/Arduino/libraries -fqbn=attiny:avr:ATtinyX4:cpu=attiny84,clock=internal1 -vid-pid=1A86_7523 -ide-version=10813 -build-path /tmp/arduino_build_476590 -warnings=default -build-cache /tmp/arduino_cache_440110 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=/home/rick/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/home/rick/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.arduinoOTA.path=/home/rick/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/home/rick/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.avr-gcc.path=/home/rick/arduino-1.8.13/hardware/tools/avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=/home/rick/arduino-1.8.13/hardware/tools/avr -verbose /home/rick/Arduino/Light_detector_Example/Light_detector_Example.ino
Using board 'ATtinyX4' from platform in folder: /home/rick/.arduino15/packages/attiny/hardware/avr/1.0.2
Using core 'arduino' from platform in folder: /home/rick/arduino-1.8.13/hardware/arduino/avr
Detecting libraries used...
/home/rick/arduino-1.8.13/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=attiny84 -DF_CPU=1000000L -DARDUINO=10813 -DARDUINO_attiny -DARDUINO_ARCH_AVR -I/home/rick/arduino-1.8.13/hardware/arduino/avr/cores/arduino -I/home/rick/.arduino15/packages/attiny/hardware/avr/1.0.2/variants/tiny14 /tmp/arduino_build_476590/sketch/Light_detector_Example.ino.cpp -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
Alternatives for SendOnlySoftwareSerial.h: [SendOnlySoftwareSerial]
ResolveLibrary(SendOnlySoftwareSerial.h)
  -> candidates: [SendOnlySoftwareSerial]
/home/rick/arduino-1.8.13/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=attiny84 -DF_CPU=1000000L -DARDUINO=10813 -DARDUINO_attiny -DARDUINO_ARCH_AVR -I/home/rick/arduino-1.8.13/hardware/arduino/avr/cores/arduino -I/home/rick/.arduino15/packages/attiny/hardware/avr/1.0.2/variants/tiny14 -I/home/rick/Arduino/libraries/SendOnlySoftwareSerial /tmp/arduino_build_476590/sketch/Light_detector_Example.ino.cpp -o /dev/null -DARDUINO_LIB_DISCOVERY_PHASE
Using cached library dependencies for file: /home/rick/Arduino/libraries/SendOnlySoftwareSerial/SendOnlySoftwareSerial.cpp
Generating function prototypes...
/home/rick/arduino-1.8.13/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=attiny84 -DF_CPU=1000000L -DARDUINO=10813 -DARDUINO_attiny -DARDUINO_ARCH_AVR -I/home/rick/arduino-1.8.13/hardware/arduino/avr/cores/arduino -I/home/rick/.arduino15/packages/attiny/hardware/avr/1.0.2/variants/tiny14 -I/home/rick/Arduino/libraries/SendOnlySoftwareSerial /tmp/arduino_build_476590/sketch/Light_detector_Example.ino.cpp -o /tmp/arduino_build_476590/preproc/ctags_target_for_gcc_minus_e.cpp -DARDUINO_LIB_DISCOVERY_PHASE
/home/rick/arduino-1.8.13/tools-builder/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /tmp/arduino_build_476590/preproc/ctags_target_for_gcc_minus_e.cpp
Compiling sketch...
/home/rick/arduino-1.8.13/hardware/tools/avr/bin/avr-g++ -c -g -Os -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=attiny84 -DF_CPU=1000000L -DARDUINO=10813 -DARDUINO_attiny -DARDUINO_ARCH_AVR -I/home/rick/arduino-1.8.13/hardware/arduino/avr/cores/arduino -I/home/rick/.arduino15/packages/attiny/hardware/avr/1.0.2/variants/tiny14 -I/home/rick/Arduino/libraries/SendOnlySoftwareSerial /tmp/arduino_build_476590/sketch/Light_detector_Example.ino.cpp -o /tmp/arduino_build_476590/sketch/Light_detector_Example.ino.cpp.o
Compiling libraries...
Compiling library "SendOnlySoftwareSerial"
Using previously compiled file: /tmp/arduino_build_476590/libraries/SendOnlySoftwareSerial/SendOnlySoftwareSerial.cpp.o
Compiling core...
Using precompiled core: /tmp/arduino_cache_440110/core/core_attiny_avr_ATtinyX4_cpu_attiny84,clock_internal1_8328ca5f502560caf6997d9e8039b097.a
Linking everything together...
/home/rick/arduino-1.8.13/hardware/tools/avr/bin/avr-gcc -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=attiny84 -o /tmp/arduino_build_476590/Light_detector_Example.ino.elf /tmp/arduino_build_476590/sketch/Light_detector_Example.ino.cpp.o /tmp/arduino_build_476590/libraries/SendOnlySoftwareSerial/SendOnlySoftwareSerial.cpp.o /tmp/arduino_build_476590/../arduino_cache_440110/core/core_attiny_avr_ATtinyX4_cpu_attiny84,clock_internal1_8328ca5f502560caf6997d9e8039b097.a -L/tmp/arduino_build_476590 -lm
/home/rick/arduino-1.8.13/hardware/tools/avr/bin/avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 /tmp/arduino_build_476590/Light_detector_Example.ino.elf /tmp/arduino_build_476590/Light_detector_Example.ino.eep
/home/rick/arduino-1.8.13/hardware/tools/avr/bin/avr-objcopy -O ihex -R .eeprom /tmp/arduino_build_476590/Light_detector_Example.ino.elf /tmp/arduino_build_476590/Light_detector_Example.ino.hex
Using library SendOnlySoftwareSerial in folder: /home/rick/Arduino/libraries/SendOnlySoftwareSerial (legacy)
/home/rick/arduino-1.8.13/hardware/tools/avr/bin/avr-size -A /tmp/arduino_build_476590/Light_detector_Example.ino.elf
Sketch uses 1666 bytes (20%) of program storage space. Maximum is 8192 bytes.
Global variables use 152 bytes (29%) of dynamic memory, leaving 360 bytes for local variables. Maximum is 512 bytes.
/home/rick/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude -C/home/rick/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf -v -pattiny84 -cstk500v1 -P/dev/ttyUSB0 -b19200 -Uflash:w:/tmp/arduino_build_476590/Light_detector_Example.ino.hex:i 

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/home/rick/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"
         User configuration file is "/home/rick/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyUSB0
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

avrdude done.  Thank you.

Problem uploading to board.  See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

My setup

  • VCC & GND connected
  • White wire (Pin 9) -> D13
  • Yellow wire 1 (Pin 8) -> D12
  • Red wire (Pin 7) -> D11
  • Yellow wire 2 (Pin 4) -> D10
  • 10 Capacitor between RST & Gnd

The only change I can remember making was adding a library for SerialOutOnly. But I did a clean install on the Windows and Rasberry with only the ATTiny libraries and it still does the same time.

People missed my comment, so I've uploaded a second photo of the entire breadboard. It is powered there are two wires which were out of frame in the first photo.

enter image description here

13
  • Yes, the ATtiny is on a breadboad. I used raw.githubusercontent.com/damellis/attiny/… this link to setup the Attiny boards. Then I am using Attiny24/44/84, Processor Attiny84, and internal 1 Mhz clock. Oct 25, 2020 at 17:49
  • Yes, I have a capacitor between gnd & reset. Oct 26, 2020 at 18:58
  • I edited the question for a better title and tags. The avrdude output doesn't look to be verbose. did you turn on in Preferences verbose mode for upload?
    – Juraj
    Oct 27, 2020 at 6:31
  • Yes, for both compilation and upload. Oct 27, 2020 at 8:32
  • 1
    At the top of the breadboard, outside the picture, there are two wires connecting the power and ground on both sides. Oct 28, 2020 at 17:40

2 Answers 2

0

Differences in my environment

I don't have a normal Nano on a ATTiny84 on hand at this moment.

For our purposes, I'm using the ATTiny44, which is essentially what you have, only with smaller memories. The Nano that I'm using is Nano Clone that I have retrofitted with a ATMega328PB rather than the regular 328P. To make matters slightly more confusing it is running the regular UNO (rather than NANO) bootloader. The bootloader lies about the chip signature (saying it is 328P) and uses the UNO baudrate 115200 rather than the Nano's 57600. So you will see in my screenshots/examples and menu selections "UNO" rather than "Nano", "328PB" rather than "328P", and "ATTiny44" rather than "ATTiny84."

These differences are inconsequential.

Build trust in your RESET-defeating mechanism

Upload reset appearance code

Remove all external circuitry from your Nano. All means ALL. That includes whatever you did to defeat reset as well.

Choose Arduino Nano from the Tools/Boards menu. Choose your Arduino Nano's port from the Tools/Port menu.

Upload the following sketch:


void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  static bool led_state;
  static size_t toggle_counter;

  if (toggle_counter < 20LU * 6) {
    led_state = !led_state;
    digitalWrite(LED_BUILTIN, led_state);
    delay(50);
    ++toggle_counter;
  }
}

The LED should blink rapidly for 6 seconds and then remain off indefinitely.

The Nano's optiboot bootloader blinks the builtin pin 13 LED three times, but it is a very short event and maybe difficult to distinguish form SPI clock action (which also happens on pin 13). By contrast, it's hard to miss the blinking that this code produces.

Convince yourself that reset appearance code reliable indicates DTR resets.

Open (or Reopen) the serial monitor and see that it does this again. Close and Reopen the serial monitor however many times you want until you feel comfortable that you're seeing clear indication of the board having reset.

Install your DTR RESET-defeat circuitry for a test.

Unplug your board and install your choice of reset defeating circuitry.

The typical suggestion is a 10uF cap between Arduino Nano RESET and adjacent GND. Make sure you don't have your electrolytic cap backwards.

I frequently use a hard pullup of about 60 Ohms.

Plug the board back in and you should see the LED Blink rapidly for the power-on (not DTR) reset.

Convince yourself that DTR reset has been defeated.

Open (or Reopen) the serial monitor and see that the LED remains OFF. Reopen the serial monitor however many times and see that the LED stays OFF.

Upload the arduinoisp.ino sketch

NOTE: At time of writing the current IDE version is 1.8.13. Though, everything said here should be find for old and likely future IDE/arduinoisp.ino releases.

In the IDE, from menu File/Examples/11.ArduinoISP, choose the ArduinoISP sketch. In its current from in IDE 1.8.13 it requires no modifications for a factory-fresh ATTiny84(A) (or pretty much any AVR), that is with its default configuration fuse values.

Break the RESET leg of whatever circuit you chose for defeating DTR reset.

Upload the ArduinoISP sketch.

You should see that the LED does NOT blink rapidly for 6 seconds as it had previously. This should indicate that you have successfully uploaded the arduinoisp.ino sketch.

Reconnect RESET leg of whatever circuit you chose for defeating DTR reset.

Attempt to program (without target chip attached) to see that you do not get SYNC errors.

Open a new empty sketch.

Choose your target chip's settings from the Boards menu. That is your D. Mellis ATTiny84 "board" should be selected. Or more generally: any compatible "board" from any board support package that supports whatever AVR you want to do this with.

Verify that your Arduino Nano's port is still selected in Tools/Port menu.

From the Tools/Programmer select "Arduino as ISP". Barring some internationalization effort, it should say exactly that. It should NOT say "ArduinoISP" or "ArduinoISP.org". Yes, the Arduino people are usually BAD at picking names.

Choose "Upload using programmer".

You should see a signature check error like this:

avrdude: AVR device initialized and ready to accept instructions

An error occurred while uploading the sketch
Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x00ffff
avrdude: Expected signature for ATtiny44 is 1E 92 07
         Double check chip, or use -F to override this check.

avrdude done.  Thank you.

You may need to turn on "Verbose" for uploading in preferences.

Because you have not wired anything to the SPI pins the returned device signature will be pure junk. The important thing here is you got a device signature failure and NOT a sync error. A sync error represents failure of avrdude to talk to the arduinoisp.ino sketch's implementation of the STK500v1 programming protocol. What you're seeing here is successful STK500v1 communication (to arduinoiso.ino) reporting a perfectly reasonable failure to identify the chip (that you have not even attached yet).

Wire your ATTiny84 (or whatever)

Unplug your Nano and wire AVR to it. With the exception of your attempt to use VIN, I didn't notice anything wrong with your wiring.

The ATTiny84 should be wired as:

Nano 5V (not VIN) to ATTiny84 pin  1
Nano GND          to ATTiny84 pin 14
Nano PIN 13       to ATTiny84 pin  9
Nano PIN 12       to ATTiny84 pin  8
Nano PIN 11       to ATTiny84 pin  7
Nano PIN 10       to ATTiny84 pin  4

Or more broadly for any ISP supporting AVR tiny/mega:

Nano 5V (not VIN) to ALL AVR (A)VCCs.
Nano GND          to ALL AVR GNDs
Nano PIN 13       to AVR (U)SCK
Nano PIN 12       to AVR MISO
Nano PIN 11       to AVR MOSI
Nano PIN 10       to AVR RESET

You may want to add a pull-up resistor from the target AVR's RESET to its VCC. This should be not needed for use with arduinoisp.ino sketch, but you might want it for running on the breadboard. You may also want to add a decoupling cap between your AVR's VCCs and GND. I've never needed this for just programming on solderless breadboard though.

I don't typically use breadboard power rails when programming AVR devices with single VCC an GND pins.

Generally keep your connection short in any case. They should not be longer than 20 cm really, and can usually be less than half that. Keep them together with the GND where possible. Your SCK signal should probably receive the most care. I don't see anything wrong with the length of your connections.

Upload

Plug your Nano (and AVR wired to it) back into USB.

Make sure you power light hasn't gone out on the Nano, that it doesn't drop off the USB bus, and nothing feels hot to the touch. That nothing smells odd.

Choose whatever you want to upload. An empty sketch is fine for testing uploading.

Verify that Tools/Port is the port of the Nano. Verify that the programmer is still "Arduino as ISP". Verify that the "board" is still whatever it should be for your target chip (not the Nano).

Choose "Upload using Programmer".

You should get a successful output, that would look something like:

/home/user/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude -C/home/user/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf -v -pattiny44 -cstk500v1 -P/dev/ttyUSB0 -b19200 -Uflash:w:/tmp/arduino_build_656744/sketch_nov12b.ino.hex:i 

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/home/user/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"
         User configuration file is "/home/user/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyUSB0
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATtiny44
         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        256    4      0  4000  4500 0xff 0xff
           flash         65     6    32    0 yes      4096   64     64  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          1    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.02s

avrdude: Device signature = 0x1e9207 (probably t44)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "/tmp/arduino_build_656744/sketch_nov12b.ino.hex"
avrdude: writing flash (286 bytes):

Writing | ################################################## | 100% 0.46s

avrdude: 286 bytes of flash written
avrdude: verifying flash memory against /tmp/arduino_build_656744/sketch_nov12b.ino.hex:
avrdude: load data flash data from input file /tmp/arduino_build_656744/sketch_nov12b.ino.hex:
avrdude: input file /tmp/arduino_build_656744/sketch_nov12b.ino.hex contains 286 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.22s

avrdude: verifying ...
avrdude: 286 bytes of flash verified

avrdude done.  Thank you.

The above was generated using the process described with my slightly different setup.

With everything being correct in the IDE, if you get SYNC error now you probably have a wiring issue that's causing the Nano to fail, interfering with its ability to execute the stk500v1 implementation. This was part of the thinking behind pointing out your VIN connection in the original post:

Vin is not 5V

6
  • That gave me a brief glimmer of hope, but I've made that change and it hasn't worked. I've tried a couple of different AT84's and Nanos. Nov 9, 2020 at 20:55
  • If you watch carefully do you see the L light blink in the way that it does during a reset? In other words, is your RESET holdup-cap actually doing its job?
    – timemage
    Nov 9, 2020 at 21:02
  • Yes the L light is blinking when I attempt to upload the sketch. Nov 10, 2020 at 2:27
  • Yeah, it would as being SCK. What I'm getting at is that it will blink three times on a reset. If it's doing that particular thing when you're trying to upload, it means the cap is not keeping reset from going low.
    – timemage
    Nov 10, 2020 at 2:29
  • I don't understand what you mean. I took the capacitor out and tried again. The blinking seems to be the same regardless if the Cap is in or out. I tried a different capacitor. Same result. Nov 10, 2020 at 2:33
2

From your picture, it looks like your ATtiny84 is not powered (connected to unpowered power rails).

The positive (red) and negative (blue) rails on both sides of a breadboard are usually not connected. You should either manually connect the power rails on opposite sides of your breadboard or connect your ATtiny power pins (1 and 14) to the corresponding rail on the other side of your board. See below (apologies for the crude drawing).

enter image description here

1
  • The power wasn't showing in the first photo it was out-of-frame. Oct 28, 2020 at 22:15

Your Answer

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

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