Have I killed another Metro?

Post here about your Arduino projects, get help - for Adafruit customers!

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
JS123
 
Posts: 28
Joined: Tue Aug 21, 2018 4:55 pm

Have I killed another Metro?

Post by JS123 »

My slow progress to becoming an Arduino expert hits another hurdle.

I think I have a faulty Metro.

When I try and upload any sketch (even the most basic example Blink sketch) I get the following errors;

Code: Select all

avrdude: stk500_paged_load(): (a) protocol error, expect=0x14, resp=0x94
avrdude: stk500_cmd(): programmer is out of sync
avr_read(): error reading address 0x0000
    read operation not supported for memory "flash"
avrdude: failed to read all of flash memory, rc=-2
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00
The strange thing is, the Blink project does seem to run OK on the Metro and the onboard LED does blink on and off every second. Hopefully a good sign for a simple fix.

I then try another program that tests an attached wave shield. The wave shield tests fine with another Metro, so I know the problem is not there.
Once I try and compile and upload the sketch I get these errors.

Code: Select all

C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\John\Documents\Arduino\libraries -fqbn=arduino:avr:uno -ide-version=10806 -build-path C:\Users\John\AppData\Local\Temp\arduino_build_771160 -warnings=none -build-cache C:\Users\John\AppData\Local\Temp\arduino_cache_211021 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\code\Arduino\Talking Clock\sketch_wave_shield\sketch_wave_shield.ino
C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\John\Documents\Arduino\libraries -fqbn=arduino:avr:uno -ide-version=10806 -build-path C:\Users\John\AppData\Local\Temp\arduino_build_771160 -warnings=none -build-cache C:\Users\John\AppData\Local\Temp\arduino_cache_211021 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\code\Arduino\Talking Clock\sketch_wave_shield\sketch_wave_shield.ino
Using board 'uno' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr
Using core 'arduino' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr
Detecting libraries used...
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10806 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160\\sketch\\sketch_wave_shield.ino.cpp" -o nul
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10806 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-IC:\\Users\\John\\Documents\\Arduino\\libraries\\WaveHC" "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160\\sketch\\sketch_wave_shield.ino.cpp" -o nul
Using cached library dependencies for file: C:\Users\John\Documents\Arduino\libraries\WaveHC\FatReader.cpp
Using cached library dependencies for file: C:\Users\John\Documents\Arduino\libraries\WaveHC\SdReader.cpp
Using cached library dependencies for file: C:\Users\John\Documents\Arduino\libraries\WaveHC\WaveHC.cpp
Using cached library dependencies for file: C:\Users\John\Documents\Arduino\libraries\WaveHC\WaveUtil.cpp
Generating function prototypes...
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10806 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-IC:\\Users\\John\\Documents\\Arduino\\libraries\\WaveHC" "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160\\sketch\\sketch_wave_shield.ino.cpp" -o "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160\\preproc\\ctags_target_for_gcc_minus_e.cpp"
"C:\\Program Files (x86)\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160\\preproc\\ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10806 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-IC:\\Users\\John\\Documents\\Arduino\\libraries\\WaveHC" "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160\\sketch\\sketch_wave_shield.ino.cpp" -o "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160\\sketch\\sketch_wave_shield.ino.cpp.o"
Compiling libraries...
Compiling library "WaveHC"
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\libraries\WaveHC\WaveHC.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\libraries\WaveHC\FatReader.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\libraries\WaveHC\SdReader.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\libraries\WaveHC\WaveUtil.cpp.o
Compiling core...
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\wiring_pulse.S.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\hooks.c.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\WInterrupts.c.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\wiring_analog.c.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\wiring_pulse.c.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\wiring_shift.c.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\wiring_digital.c.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\wiring.c.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\abi.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\WString.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\new.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\WMath.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\HardwareSerial.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\PluggableUSB.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\CDC.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\Print.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\USBCore.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\HardwareSerial1.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\Stream.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\HardwareSerial2.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\HardwareSerial0.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\IPAddress.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\HardwareSerial3.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\main.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\Tone.cpp.o
Using previously compiled file: C:\Users\John\AppData\Local\Temp\arduino_build_771160\core\core.a
Archiving built core (caching) in: C:\Users\John\AppData\Local\Temp\arduino_cache_211021\core\core_arduino_avr_uno_0c812875ac70eb4a9b385d8fb077f54c.a
Linking everything together...
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160/sketch_wave_shield.ino.elf" "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160\\sketch\\sketch_wave_shield.ino.cpp.o" "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160\\libraries\\WaveHC\\FatReader.cpp.o" "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160\\libraries\\WaveHC\\SdReader.cpp.o" "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160\\libraries\\WaveHC\\WaveHC.cpp.o" "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160\\libraries\\WaveHC\\WaveUtil.cpp.o" "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160/core\\core.a" "-LC:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160" -lm
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160/sketch_wave_shield.ino.elf" "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160/sketch_wave_shield.ino.eep"
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-objcopy" -O ihex -R .eeprom "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160/sketch_wave_shield.ino.elf" "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160/sketch_wave_shield.ino.hex"
Using library WaveHC at version 1.0.0 in folder: C:\Users\John\Documents\Arduino\libraries\WaveHC 
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-size" -A "C:\\Users\\John\\AppData\\Local\\Temp\\arduino_build_771160/sketch_wave_shield.ino.elf"
Sketch uses 14588 bytes (45%) of program storage space. Maximum is 32256 bytes.
Global variables use 1521 bytes (74%) of dynamic memory, leaving 527 bytes for local variables. Maximum is 2048 bytes.
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM9 -b115200 -D -Uflash:w:C:\Users\John\AppData\Local\Temp\arduino_build_771160/sketch_wave_shield.ino.hex:i 

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

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM9
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         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    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : Arduino
         Description     : Arduino
         Hardware Version: 3
         Firmware Version: 4.4
         Vtarget         : 0.3 V
         Varef           : 0.3 V
         Oscillator      : 28.800 kHz
         SCK period      : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "C:\Users\John\AppData\Local\Temp\arduino_build_771160/sketch_wave_shield.ino.hex"
avrdude: writing flash (14588 bytes):

Writing | ################################################## | 100% 5.47s

avrdude: 14588 bytes of flash written
avrdude: verifying flash memory against C:\Users\John\AppData\Local\Temp\arduino_build_771160/sketch_wave_shield.ino.hex:
avrdude: load data flash data from input file C:\Users\John\AppData\Local\Temp\arduino_build_771160/sketch_wave_shield.ino.hex:
avrdude: input file C:\Users\John\AppData\Local\Temp\arduino_build_771160/sketch_wave_shield.ino.hex contains 14588 bytes
avrdude: reading on-chip flash data:

Reading | 
avrdude: stk500_paged_load(): (a) protocol error, expect=0x14, resp=0x94
avrdude: stk500_cmd(): programmer is out of sync
avr_read(): error reading address 0x0000
    read operation not supported for memory "flash"
avrdude: failed to read all of flash memory, rc=-2
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x01

avrdude done.  Thank you.

the selected serial port 
 does not exist or your board is not connected
I also notice that when I connect the Metro via USB cable it takes a few replugs in and out until Windows sees it as a new device and the Arduino IDE shows the new available COM port.

Have I killed this Metro, or is there some magic I can do to get it going again? I do have a spare Metro so it is not a total loss, but it would be good to get this one back to normal working order if possible. The errors seem to indicate an issue when writing to the flash memory on the board?

User avatar
adafruit_support_carter
 
Posts: 29483
Joined: Tue Nov 29, 2016 2:45 pm

Re: Have I killed another Metro?

Post by adafruit_support_carter »

There are several Metro boards. It looks like you are trying to use the METRO 328:
https://www.adafruit.com/product/2488
Is that what you have?

User avatar
JS123
 
Posts: 28
Joined: Tue Aug 21, 2018 4:55 pm

Re: Have I killed another Metro?

Post by JS123 »

Yes, these ones specificially.
https://www.adafruit.com/product/2466
All I did was solder the headers onto the boards.

Assuming the board was fauty, I soldered headers onto another brand new board (same model/batch) and got the same results.

I downloaded and installed the Windows Drivers (made sure Metro 328 was checked)
https://learn.adafruit.com/adafruit-ard ... stallation
and the CP210x drivers
https://www.silabs.com/products/develop ... cp-drivers
and the FTDI drivers
https://www.ftdichip.com/Drivers/VCP.htm

The board that works was part of a starter kit
https://www.adafruit.com/product/3345

The working board shows up as a new COM port every time it is plugged into Windows via USB.

I have 2 wave shields that work fine with the good board. Neither work with the possibly faulty boards.

Could it be wrong selections in the Arduino IDE?
I have the board set to "Arduino/Genuino UNO"
The programmer is set to "AVRISP MkII"

Also, the faulty boards do not show up under Windows reliably. Every third or fourth connection they are displayed in Windows Device Manager. The other times they show up as an unknown USB device with a yellow triangle icon.
When I try and upload oncde it does connect I get errors like "the selected serial port does not exist or your board is not connected" and yet the on board LEDs happily flash away as the code is being uploaded.

Full verbose upload messages;

Code: Select all

Sketch uses 14586 bytes (45%) of program storage space. Maximum is 32256 bytes.
Global variables use 1521 bytes (74%) of dynamic memory, leaving 527 bytes for local variables. Maximum is 2048 bytes.
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM9 -b115200 -D -Uflash:w:C:\Users\John\AppData\Local\Temp\arduino_build_180271/sketch_wave_shield.ino.hex:i 

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

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM9
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         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    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : Arduino
         Description     : Arduino
         Hardware Version: 3
         Firmware Version: 4.4
         Vtarget         : 0.3 V
         Varef           : 0.3 V
         Oscillator      : 28.800 kHz
         SCK period      : 3.3 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: reading input file "C:\Users\John\AppData\Local\Temp\arduino_build_180271/sketch_wave_shield.ino.hex"
avrdude: writing flash (14586 bytes):

Writing | ################################################## | 100% 5.48s

avrdude: 14586 bytes of flash written
avrdude: verifying flash memory against C:\Users\John\AppData\Local\Temp\arduino_build_180271/sketch_wave_shield.ino.hex:
avrdude: load data flash data from input file C:\Users\John\AppData\Local\Temp\arduino_build_180271/sketch_wave_shield.ino.hex:
avrdude: input file C:\Users\John\AppData\Local\Temp\arduino_build_180271/sketch_wave_shield.ino.hex contains 14586 bytes
avrdude: reading on-chip flash data:

Reading | 
avrdude: stk500_paged_load(): (a) protocol error, expect=0x14, resp=0x94
avrdude: stk500_cmd(): programmer is out of sync
avr_read(): error reading address 0x0000
    read operation not supported for memory "flash"
avrdude: failed to read all of flash memory, rc=-2
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x01

avrdude done.  Thank you.

the selected serial port 
 does not exist or your board is not connected
Same exact errors when using the second faulty board.

User avatar
adafruit_support_carter
 
Posts: 29483
Joined: Tue Nov 29, 2016 2:45 pm

Re: Have I killed another Metro?

Post by adafruit_support_carter »

Try installing the Adafruit Board Support package:
https://learn.adafruit.com/adafruit-ard ... ckage-2-10
and then you should have an option under to select "Adafruit Metro" under "Adafruit Boards".

See if that helps.

User avatar
JS123
 
Posts: 28
Joined: Tue Aug 21, 2018 4:55 pm

Re: Have I killed another Metro?

Post by JS123 »

OK, I now have an Adafruit Metro entry selected under the boards menu.

This made everything not work.

Now I get the following errors when I try upoloading sketches to any of the Metro boards.

Code: Select all

Sketch uses 14494 bytes (44%) of program storage space. Maximum is 32256 bytes.
Global variables use 1521 bytes (74%) of dynamic memory, leaving 527 bytes for local variables. Maximum is 2048 bytes.
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega328p -carduino -PCOM5 -b115200 -D -Uflash:w:C:\Users\John\AppData\Local\Temp\arduino_build_570069/sketch_wave_shield.ino.hex:i 

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

         System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"

         Using Port                    : COM5
         Using Programmer              : arduino
         Overriding Baud Rate          : 115200
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x7e
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x66
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x80
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x66
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x9e
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x60
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x66
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x9e
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xf8
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x9e

avrdude done.  Thank you.

An error occurred while uploading the sketch
What should the Programmer be set to?

User avatar
adafruit_support_carter
 
Posts: 29483
Joined: Tue Nov 29, 2016 2:45 pm

Re: Have I killed another Metro?

Post by adafruit_support_carter »

Well, it was worth a try. Based on how you are getting intermittent success when you plug the board in, it sounds like it could be a driver issue. It could also just be a flakey USB cable. Have you tried more than one?

User avatar
JS123
 
Posts: 28
Joined: Tue Aug 21, 2018 4:55 pm

Re: Have I killed another Metro?

Post by JS123 »

I found the cause.

I was about to reinstall Windows thinking all the installs and uninstalls of USB/arduino drivers had corrupted something beyond repair.

Then I used my laptop to install Arduino IDE. The sketch upload worked fine to the board.

I then connected the board to another metro to test serial communication (TX to RX, RX to TX and ground to ground).

Then the upload started failing again. Disconnected the second board, all worked again.

So, after all this trouble, the answer is (at least for me so far) to upload when the board is isolated. Do not have other boards connected while uploading.

Is this a known issue?

Anyway, I can now get back to programming the metros.

User avatar
adafruit_support_carter
 
Posts: 29483
Joined: Tue Nov 29, 2016 2:45 pm

Re: Have I killed another Metro?

Post by adafruit_support_carter »

That is weird behavior. Is repeatable? Everything works reliably with only one connected? With more than one you get the issue, and it's not just a matter of checking and switching the port in the IDE?

User avatar
JS123
 
Posts: 28
Joined: Tue Aug 21, 2018 4:55 pm

Re: Have I killed another Metro?

Post by JS123 »

Yes, very repeatable. I have been doing the coding for the boards and the times I forget to remove the RX/TX pair of wires the upload fails. Very strange.

Anyway, I am just glad I don't have to reinstall Windows to fix dodgy drivers and that I haven't blown any boards.

User avatar
JS123
 
Posts: 28
Joined: Tue Aug 21, 2018 4:55 pm

Re: Have I killed another Metro?

Post by JS123 »

Hang on a second. Today the issue is no longer there. I can happily upload sketches to either Metro while they are connected via RX,TX and ground?!!!

I have no idea why they didn't yesterday.

User avatar
adafruit_support_carter
 
Posts: 29483
Joined: Tue Nov 29, 2016 2:45 pm

Re: Have I killed another Metro?

Post by adafruit_support_carter »

Weird. Maybe a Windows thing. It can get a little wrapped around the axle sometimes with lots of USB devices coming and going.

At least you're working again now. Hopefully it will stay that way. Cheers!

User avatar
JS123
 
Posts: 28
Joined: Tue Aug 21, 2018 4:55 pm

Re: Have I killed another Metro?

Post by JS123 »

A further update...

If I use a USB extension cable to upload sketches to the boards I get errors, BUT the sketch does upload OK. Seeing the errors made me assume the sketch upload failed previously when it probably did work. If I remove the USB extension lead and plug the board via USB direct to the computer there are no errors. I did try multiple extension leads to be sure.

Errors reported when using extension lead....

Code: Select all

avrdude: stk500_paged_load(): (a) protocol error, expect=0x14, resp=0x94
avrdude: stk500_cmd(): programmer is out of sync
avr_read(): error reading address 0x0000
    read operation not supported for memory "flash"
avrdude: failed to read all of flash memory, rc=-2
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00
So now if I get the above errors I cannot be sure if the upload worked or failed.

But, all of this still confirms there are no issues with the boards themselves and I did not manage to fry any of them. Just that the programming side of it is unreliable now.

When I do the final sketch upload I will be sure to connect directly to the PC USB port and not via any extension cables.

This is all really strange. If I do work out any other real reason why I will update this post.

Also, the above is on a brand new Metro board in isolatrion. ie not connected to any shields or other metros.

User avatar
petespaco
 
Posts: 128
Joined: Thu Apr 19, 2012 7:53 pm

Re: Have I killed another Metro?

Post by petespaco »

I wonder how long your USB extension cables are. Maybe it's a speed issue, and the length or quality of the extension cable is at fault. Here the sketch UPLOAD baud rate is discussed:
https://forum.arduino.cc/index.php?topic=117526.0

When googling "arduino program upload speed", I get lots of hits.

Locked
Please be positive and constructive with your questions and comments.

Return to “Arduino”