Unable to Upload Sketch to Things Node

Hi
I am unable to upload sketch to my new Things Node. The USB port was not showing up for me in my Arduino IDE. I followed all the steps in the troubleshooting guide which also mentions procedure for resetting a “bricked” board. I am sure I haven’t bricked by uploading any sketch with wrong board but since nothing else worked, I thought I will give it a shot.

When I reset the device as mentioned in the troubleshooting guide, I can briefly see the USB serial port in my IDE and I tried uploading a sketch. It gives me the following error:

avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
 *** page 31 (addresses 0x0da0 - 0x0e1f) failed to write

avrdude: error: programmer did not respond to command: set addr

Should I ask for a replacement for my things node as an hardware issue? or is this a software issue that can be solved by myself? Any help is much appreciated.

Full details of the error log are as follows.

Arduino: 1.8.3 (Mac OS X), Board: "SparkFun Pro Micro, ATmega32U4 (3.3V, 8 MHz)"

/private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware /private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/hardware -hardware /Users/shankardevy/Library/Arduino15/packages -tools /private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/tools-builder -tools /private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/hardware/tools/avr -tools /Users/shankardevy/Library/Arduino15/packages -built-in-libraries /private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/libraries -libraries /Users/shankardevy/Documents/Arduino/libraries -fqbn=SparkFun:avr:promicro:cpu=8MHzatmega32U4 -ide-version=10803 -build-path /var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/arduino_build_383090 -warnings=none -build-cache /var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/arduino_cache_927058 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=/private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.arduinoOTA.path=/private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.avrdude.path=/private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/hardware/tools/avr -verbose /var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/untitled1156588982.tmp/sketch_oct26a/sketch_oct26a.ino
/private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/arduino-builder -compile -logger=machine -hardware /private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/hardware -hardware /Users/shankardevy/Library/Arduino15/packages -tools /private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/tools-builder -tools /private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/hardware/tools/avr -tools /Users/shankardevy/Library/Arduino15/packages -built-in-libraries /private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/libraries -libraries /Users/shankardevy/Documents/Arduino/libraries -fqbn=SparkFun:avr:promicro:cpu=8MHzatmega32U4 -ide-version=10803 -build-path /var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/arduino_build_383090 -warnings=none -build-cache /var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/arduino_cache_927058 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=/private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.arduinoOTA.path=/private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/hardware/tools/avr -prefs=runtime.tools.avrdude.path=/private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/hardware/tools/avr -verbose /var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/untitled1156588982.tmp/sketch_oct26a/sketch_oct26a.ino
Using board 'promicro' from platform in folder: /Users/shankardevy/Library/Arduino15/packages/SparkFun/hardware/avr/1.1.7
Using core 'arduino' from platform in folder: /private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/hardware/arduino/avr
Detecting libraries used...
"/private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/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=atmega32u4 -DF_CPU=8000000L -DARDUINO=10803 -DARDUINO_AVR_PROMICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x1b4f -DUSB_PID=0x9204 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="SparkFun Pro Micro"' "-I/private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/shankardevy/Library/Arduino15/packages/SparkFun/hardware/avr/1.1.7/variants/promicro" "/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/arduino_build_383090/sketch/sketch_oct26a.ino.cpp" -o "/dev/null"
Generating function prototypes...
"/private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/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=atmega32u4 -DF_CPU=8000000L -DARDUINO=10803 -DARDUINO_AVR_PROMICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x1b4f -DUSB_PID=0x9204 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="SparkFun Pro Micro"' "-I/private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/shankardevy/Library/Arduino15/packages/SparkFun/hardware/avr/1.1.7/variants/promicro" "/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/arduino_build_383090/sketch/sketch_oct26a.ino.cpp" -o "/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/arduino_build_383090/preproc/ctags_target_for_gcc_minus_e.cpp"
"/private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/tools-builder/ctags/5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/arduino_build_383090/preproc/ctags_target_for_gcc_minus_e.cpp"
Compiling sketch...
"/private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/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=atmega32u4 -DF_CPU=8000000L -DARDUINO=10803 -DARDUINO_AVR_PROMICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x1b4f -DUSB_PID=0x9204 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="SparkFun Pro Micro"' "-I/private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/hardware/arduino/avr/cores/arduino" "-I/Users/shankardevy/Library/Arduino15/packages/SparkFun/hardware/avr/1.1.7/variants/promicro" "/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/arduino_build_383090/sketch/sketch_oct26a.ino.cpp" -o "/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/arduino_build_383090/sketch/sketch_oct26a.ino.cpp.o"
Compiling libraries...
Compiling core...
Using precompiled core
Linking everything together...
"/private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega32u4  -o "/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/arduino_build_383090/sketch_oct26a.ino.elf" "/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/arduino_build_383090/sketch/sketch_oct26a.ino.cpp.o" "/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/arduino_build_383090/../arduino_cache_927058/core/core_SparkFun_avr_promicro_cpu_8MHzatmega32U4_6439840fc98d978a786a1fc6e1f7ab5e.a" "-L/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/arduino_build_383090" -lm
"/private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0  "/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/arduino_build_383090/sketch_oct26a.ino.elf" "/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/arduino_build_383090/sketch_oct26a.ino.eep"
"/private/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/AppTranslocation/EBBD5F45-1CF8-4D0C-935B-857021B309E1/d/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-objcopy" -O ihex -R .eeprom  "/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/arduino_build_383090/sketch_oct26a.ino.elf" "/var/folders/mf/2mwq7_512mj9z96yx974cfy80000gn/T/arduino_build_383090/sketch_oct26a.ino.hex"
Sketch uses 3616 bytes (12%) of program storage space. Maximum is 28672 bytes.
Global variables use 149 bytes (5%) of dynamic memory, leaving 2411 bytes for local variables. Maximum is 2560 bytes.


avrdude: butterfly_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: set addr
avrdude: error: programmer did not respond to command: write block
 ***failed;  
 ***failed;  (several failed lines. Truncated for brevity)
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
 *** page 127 (addresses 0x0000 - 0x007f) failed to write

 ***failed;  
 ***failed;    (several failed lines. Truncated for brevity)
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
 *** page 127 (addresses 0x0080 - 0x00ff) failed to write

 ***failed;  
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
 *** page 127 (addresses 0x0100 - 0x017f) failed to write

 ***failed;  
 ***failed;  
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
 *** page 127 (addresses 0x0180 - 0x01ff) failed to write

avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
 *** page 127 (addresses 0x0200 - 0x027f) failed to write

avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
 *** page 127 (addresses 0x0280 - 0x02ff) failed to write

 ***failed;  
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
 *** page 127 (addresses 0x0300 - 0x037f) failed to write

 ***failed;  
 ***failed;    (several failed lines. Truncated for brevity)
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
 *** page 127 (addresses 0x0380 - 0x03ff) failed to write

 ***failed;  
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
 *** page 127 (addresses 0x0400 - 0x047f) failed to write

 ***failed;  
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
 *** page 127 (addresses 0x0480 - 0x04ff) failed to write

 ***failed;  
 ***failed;  
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
 *** page 127 (addresses 0x0500 - 0x057f) failed to write

avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
 *** page 31 (addresses 0x0da0 - 0x0e1f) failed to write

avrdude: error: programmer did not respond to command: set addr
avrdude: error: programmer did not respond to command: set addr
avrdude: error: programmer did not respond to command: set addr
avrdude: error: programmer did not respond to command: set addr
avrdude: error: programmer did not respond to command: set addr
avrdude: error: programmer did not respond to command: set addr
avrdude: error: programmer did not respond to command: set addr
avrdude: error: programmer did not respond to command: set addr
avrdude: error: programmer did not respond to command: set addr
avrdude: error: programmer did not respond to command: set addr
avrdude: error: programmer did not respond to command: set addr
avrdude: butterfly_recv(): programmer is not responding
avrdude: verification error, first mismatch at byte 0x0000
         0x3f != 0x0c
avrdude: verification error; content mismatch
avrdude: verification error; content mismatch

you can try this

1- Turn on verbose upload in the Arduino IDE preferences
2- Plug in the TTN node, if it won’t show up as a COM/serial port that’s ok
3- Open up the Blink example (Examples->Basics->Blink)
4- Select the correct board in the Tools menu, e.g. sparkfun pro micro
5- Compile it (make sure that works)
6- Click Upload to attempt to upload the code
7- The IDE will print out a bunch of COM Ports as it tries to upload. During this time, double-click the reset button
8- The node will show up as the Bootloader COM/Serial port
9- The IDE should see the bootloader COM/Serial port and upload properly

2 Likes

Hi… did you succeed ?

@BoRRoZ sorry for the delayed reply. Caught up with travel and other works. Yes, I am able to upload sketch now but I can’t still get OTAA work. I am still on travel. I will get back to work in Dec 1st week and update again. Thank you for your support.

I have a similar problem. I cannot update the basic sketch I initially was able to load into the ttn node.Now I wanted to change the 1 minute interval to a 1 hour interval, but now with the basic sketch loaded into the ttn node, its usb connection is no longer recognized by win 10 which reacts with an error message when plugged in. The error is: USB device not recognized by windows. It therefore does not show up as a port in the arduino ide hence the sketch cannot be loaded. If I unplug the ttn node and instead plugin the ttn uno with same cable, everything works fine and the device is recognized. Sometime it also reported something like: The device is not sending correct device information. It has sent device info originally when it was empty but not now, after having loaded the basic sketch as instructed by the quickstart quide of the node. I am stuck with the dead node now…

Its easy to brick the node without realising it. It happens when you forget to use the correct board in the Arduino IDE and upload a sketch (Yes blush i’ve done it :slight_smile: ).
Thankfully it is easy enough to get it working again

First of all, one has to ensure that "SparkFun Pro Micro" is installed and selectable from Tools->Board:xxx->
This link shows how to make it installed and available for selection
https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide#installing-windows

OK, so you’ve installed the board and it is now available in your IDE; you select it - but the Arduino IDE still doesn’t “see” the USB connection to your node - it is effectively “bricked”.
N.B. Make sure you select the 3.3V board via Tools->Processor->ATMega 32U4 (3.3v, 8 Mhz)

Well, the answer to get it “unbricked” is also found here.
https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide#ts-revive

Its something like:

  • Unscrew the batteries using a 10 mm Torc screwdriver (you might get away with using a small screwdriver, but this is unlikely. Best to nip down to a suitable hardware store now - before it closes!)

  • create new “empty” sketch and press “Compile and Upload”, when it gets to the upload part, press one of the buttons on the node board to get the LED to pulse (it is on the backside of the board - that is why you have to remove the torx screws to get access to the reverse of the board). N.B. The pulsing only lasts for a short time, this is why you only press the button when the IDE says “uploading”

  • After the above has been done, the board will be “seen” again. Its all OK now - You will be able to put the screws back and load your node sketch!

2 Likes

And a derived version here: https://www.thethingsnetwork.org/docs/devices/node/troubleshooting.html#bricked

@arjanvanb
Yes - good call , I forgot it is there. I remember I spent a bit of time on that page wondering why I couldn’t select the correct “sparkfun” board - the page doesn’t restate that you MUST install the sparkfun board first in the IDE.
Also, it isn’t made clear that you have to press the button AFTER the IDE said “Uploading” (it timed out for me)

Can you get it updated - then it becomes more useful?

Wow. Thanks for the quick help. I followed the unbricking instructions and the ttn node is back working ok.
Thanks @CurlyWurly @arjanvanb
btw. the reason I broke it was having left leonardo selected from my ttn uno activation activities.

So I bricked my thingsnode today. It does not show as a device anymore.
The board was set ok. It happened during a normal flash in Arduino for mac but I do not remember the messages.
What I tried:

  • Follow the unbrick instructions in both this site and the Sparkfun site.
  • Tried all above suggestions in this thread
  • All kinds of single click and double clicks to get into bootloader
  • Swapped cables
  • Reinstalled drivers on Mac
  • Installed latest High Sierra update
  • Moved to a windows laptop where it does not show up as a com port whatever I do
  • Compared to other node to check if any connectivity possible (yes)
    ? Now what ?
    This all I get:
    https://youtu.be/N6NBmJsDu9Q

you did everything I could think of … maybe push harder and keep the reset button in, until you see the ide searching for a com port when uploading the sketch … then let it go, that’s the only thing that helped me a while back.

Tried that too…

you think the 32U4 died ?

Don’t know. Out of ideas.

Hi there,
I’m an absolute LoRa beginner, I want to try it out. I successfully set up the TTN gateway. The TTN node does send messages, because I can see the message count on the gateway go up every time I press the button. But - I can’t upload anything on the node because the USB port is not showing in the Arduino IDE. I’ve tried the unbricking thing, but nothing ever happened with the port. I tried at least 20 or 30 times to make sure I get the timing right, but no success. Help please? Any ideas? I’m working on a Mac. USB port is working fine with other Arduino board. Please assume I’m no expert and I probably make some beginners mistakes. Thanks!

I suggest you start with search (right top corner)
there are topics about this typical 32U4 behaviour.

Hi Borroz, thanks, I did that, and I tried absolutely everything there. Nothing worked. Then I read on TTN that I basically stand no chance with a new Mac, and that’s all I’ve got here, reasonably new Macs. So now I’m trying with Marvin, Marvin is doing fine, transmitting data as it should, and I’m trying to figure out how to get the payload to show up properly in a database - next challenge. I’ll get there.

1 Like

I have been trying to upload sketches to my Things Node on a Windows 10 laptop with Arduino 1.8.5. After 25-50 tries using the double reset method above, I was finally able to upload the Examples/TheThingsNode/Basic Sketch and see data on the Things Network Console, so I know it all works. I have since been trying to upload the Examples/TheThingsNode/CayenneLLP sketch with no luck. I now have trouble even loading the Basic or Blink Sketch, although occaisionally have success, so I don’t think node is bricked.

After programming Arduino for many years, trying to use a board with the 32U4 is the most frustrating experience. The ThingsUno was not much better.

Is there any wisdom out there to make the process of uploading sketches easier and more reliable?

Here is the closest I seem to get after I click reset twice during upload. It starts to write and then fails.

.......
Using library TheThingsNode at version 2.0.5 in folder: 
C:\Users\Tony\Dropbox\Arduino\libraries\TheThingsNode 
Using library Wire at version 1.0 in folder: C:\Program Files 
(x86)\Arduino\hardware\arduino\avr\libraries\Wire 
Using library TheThingsNetwork at version 2.5.7 in folder: 
C:\Users\Tony\Dropbox\Arduino\libraries\TheThingsNetwork 
Sketch uses 26106 bytes (91%) of program storage space. Maximum is 28672 
bytes.
Global variables use 1605 bytes (62%) of dynamic memory, leaving 955 bytes for 
local variables. Maximum is 2560 bytes.
PORTS {COM13, COM25, } / {COM13, COM25, } => {}
PORTS {COM13, COM25, } / {COM13, COM25, } => {}
PORTS {COM13, COM25, } / {COM13, COM25, } => {}
PORTS {COM13, COM25, } / {COM13, COM18, COM25, } => {COM18, }
Found upload port: COM18
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files     
(x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega32u4 -cavr109 - 
PCOM18 -b57600 -D     - 
Uflash:w:C:\Users\Tony\AppData\Local\Temp\arduino_build_197782/CayenneLPP-    
ThingsNode1.ino.hex:i 

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
     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                    : COM18
     Using Programmer              : avr109
     Overriding Baud Rate          : 57600
     AVR Part                      : ATmega32U4
     Chip Erase delay              : 9000 us
     PAGEL                         : PD7
     BS2                           : PA0
     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  9000  9000 0x00 0x00
       flash         65     6   128    0 yes     32768  128    256  4500  4500 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
       lock           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
       signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

     Programmer Type : butterfly
     Description     : Atmel AppNote AVR109 Boot Loader

Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
Software Version = 1.0; No Hardware Version given.
Programmer supports auto addr increment.
Programmer supports buffered memory access with buffersize=128 bytes.

Programmer supports the following devices:
Device code: 0x44

avrdude: devcode selected: 0x44
avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x1e9587 (probably m32u4)
avrdude: reading input file "C:\Users\Tony\AppData\Local\Temp    \arduino_build_197782/CayenneLPP-ThingsNode1.ino.hex"
avrdude: writing flash (26106 bytes):

Writing | ##############avrdude: ser_send(): write error: sorry no info avail
avrdude: butterfly_recv(): programmer is not responding
avrdude: error: programmer did not respond to command: write block
# ***failed;  
 ***failed;  
 ***failed;  
 ***failed; 
 ***failed;  
avrdude: Error: butterfly programmer uses avr_write_page() but does not
provide a cmd() method.
 *** page 127 (addresses 0x2800 - 0x287f) failed to write

Got it working!

Sorry for the rambling, but I hope this will help someone else and maybe someone smarter than me can explain why this is so hard.

20 more tries, swapping COM ports, opening and closing the Arduino app, etc, and I was able to upload. The big difference between the attempts is that the successful attempt has the “Forcing reset using 1200bps open/close on port COM13” line just before the series of “PORTS” lines and I didn’t need to push the Node reset button. If I could figure out how to force the reset, I would be all set.

Also, this only works when the regular (not bootloader) COM port is available in Device Manager before starting the upload AND the Arduino COM port tis set to the same. In this case, COM13 is the regular Serial COM port and COM18 is the bootloader COM port.

image

.......
Global variables use 1605 bytes (62%) of dynamic memory, leaving 955 bytes for local variables. Maximum 
is 2560 bytes.
**Forcing reset using 1200bps open/close on port COM13**
PORTS {COM13, COM25, } / {COM25, } => {}
PORTS {COM25, } / {COM18, COM25, } => {COM18, }
Found upload port: COM18
C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files 
(x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega32u4 -cavr109 -PCOM18 -b57600 -D - 
Uflash:w:C:\Users\Tony\AppData\Local\Temp\arduino_build_304444/CayenneLPP-ThingsNode1.ino.hex:i 
 ......