Bluefruit ezlink is not accepting the sketch

arduinoarduino-shieldbluetooth

I have recently purchased both a new Arduino Uno and a new Bluefruit EZLink shield. I am able to upload sketches to the unit via USB (with the selector set to "soft"). I can pair with the unit and use the serial monitor to send data back and forth (with the selector set to "direct"). What I can not seem to do is upload a sketch to the unit over the bluetooth link as described in the features for this shield.

The response from avrdude that I get is this:

avrdude: Version 5.11.1, compiled on Apr 28 2013 at 18:46:46
     Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
     Copyright (c) 2007-2009 Joerg Wunsch

     System wide configuration file is "/usr/share/arduino/hardware/tools/avrdude.conf"
     User configuration file is "/home/growlf/.avrduderc"
     User configuration file does not exist or is not a regular file, skipping

     Using Port                    : /dev/rfcomm0
     Using Programmer              : arduino
     Overriding Baud Rate          : 115200
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: Send: 0 [30]   [20]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding

avrdude done.  Thank you.

I have tried setting the baud rate to 9600 via upload over commandline, but that does not change the response much. It almost seems like the shield is not resetting, but I am not sure. I do see the lights for TX/RX flicker rapidly for a moment on both the shield and the Uno itself, indicating the sketch was sent and some sort of response was given.

I have also (as I have seen suggested in my Googling) pressed the reset button just before and just after transmission – no difference.

Any suggestions or pointers on how to upload using this shield are very welcome and apreciated.

Best Answer

I don't use a Bluefruit EZlink shield (but I would very much like one). I use a commodity bluetooth adapter

Make sure you've got the right baud rate - AVR 328P devices generally default to 57600, and ATMega 1280/2560 devices default to 115,200 IIRC.

I've had similar problems, though. My advice to you is to download and compile the latest version of avrdude, which fixed my problems initially. Versions 6.0.1 or so will keep retrying the connection, which gives you multiple chances to hit the reset button.

Recently, though, Fedora 19 quit allowing me to upload with bluetooth. I was able to fix the problem by patching avrdude to retry sending data if the error code is ENOTCONN (107) "Transport endpoint is not connected"

So - if you still have trouble uploading after compiling avrdude, then try my patch at: https://savannah.nongnu.org/patch/?8272