troubleshooting a weird bootloader problem when migrating to 1.6.3 from 1.0.5

Hey all,

So I've recently migrated from Arduino 1.0.5 to 1.6.3 and I'm having some bootloader issues. I'm using some Microduino boards (Specifically the 1284p 8mhz variant) and I'm no longer able to burn the bootloader. I've gone through all the migration documentation I've found here and on Github, but now I'm stumped.

The effect is 0 error messages, but a very quick / atypically quick bootloader burn time, producing a board that doesn't respond.

Here's my verbose output on bootloader burn completion (Using an Arduino Uno): https://gist.github.com/donothingbox/73247170a120726f0fc1

And here's my boards.txt config:

###############################################################
1284p8m.name= Microduino-Core+ (ATmega1284P@8M,3.3V)
1284p8m.upload.tool=arduino:arduino
1284p8m.upload.protocol=stk500
1284p8m.upload.maximum_size=130048
1284p8m.upload.speed=57600
1284p8m.bootloader.tool=arduino:avrdude
1284p8m.bootloader.low_fuses=0xFF
1284p8m.bootloader.high_fuses=0x9E
1284p8m.bootloader.extended_fuses=0xFD
1284p8m.bootloader.path=optiboot
1284p8m.bootloader.file= optiboot/optiboot_micro_1284_8m.hex
1284p8m.bootloader.unlock_bits=0x3F
1284p8m.bootloader.lock_bits=0x0F
1284p8m.build.mcu=atmega1284p
1284p8m.build.f_cpu=8000000L
1284p8m.build.core=arduino
1284p8m.build.variant=plus

Now when I attempt to program a freshly bootloader burned board, I get the following:

avrdude: Version 6.0.1, compiled on Mar 30 2015 at 12:15:29
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/Applications/Arduino 1.6.3.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/jonathancook/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cu.usbserial-AM01QYNS
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
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.

I've checked / double checked my connections, and this board works fine on Arduino 1.0.5 (i've flashed the bootloader several times). As mentioned the "speed" is the most suspect element to me. It's very likely that there is still something I've missed in the migration to 1.6.3, and any help would be awesome! I'm just starting to dive into burning bootloaders, and this is the first time I ran into any issues.

Where is the core installed to?

It looks like it’s trying to pull the .hex file from the wrong place…
reading input file “/Applications/Arduino 1.6.3.app/Contents/Java/hardware/Microduino/avr/bootloaders/optiboot/optiboot_micro_1284_8m.hex”
avrdude: writing flash (131072 bytes):

Hmm, I think it's pulling from the right place. I've added a "Microduino" folder in the Hardware folder, and set it up in the same way as the "Arduino" folder. In earlier configs, I had a folder config issue, and it throws an error if there's no matching hex file.

To get the inital migration setup running (well compiling) I followed: https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5---3rd-party-Hardware-specification

Also, I'm on a Mac, and I'm manually copying files over, as Microduino hasn't updated any of their files for Arduino 1.6 AFAIK.

1284p8m.upload.protocol=stk500

That's not the correct protocol for optiboot, when used with more recent versions of avrdude. It should be "arduino" Are you sure that's what you had previously? (Avrdude in the IDE distribution has been "more recent" for quite some time.)

It's quite possible I made a copy/paste error. (Been banging my head against this one for a few days now) I'll try it again tonight with the mods. Microduino provided code looks fairly outdated combined with my novice level on this area of arduino.

hey @westfw, So I'm still running into the same problem after changing the upload.protocol from "stk500" to "arduino". (Still getting the programmer not responding message).

Any other suggestions? Thanks!