Arduino Robot upload problems

Hi

I am having trouble with my new Arduino Robot. I can upload nicely to the Motor board but no the Controller board. I managed to upload once but never again. I have tried switching computers, with and without external power own etc.

I can see the controller board resetting fine but upload fails. Other Arduinos work fine including Unos, Mega, and Yun.

The full upload log is attached below.

Anybody have any ideas on how to solve this? A huge thanks in advance!

Sketch uses 21,182 bytes (73%) of program storage space. Maximum is 28,672 bytes.
Global variables use 1,777 bytes of dynamic memory.
Forcing reset using 1200bps open/close on port /dev/tty.usbmodemfa131
PORTS {/dev/tty.Bluetooth-Serial-1, /dev/cu.Bluetooth-Serial-1, /dev/tty.Bluetooth-Serial-2, /dev/cu.Bluetooth-Serial-2, /dev/tty.Bluetooth-Modem, /dev/cu.Bluetooth-Modem, /dev/tty.Bluetooth-PDA-Sync, /dev/cu.Bluetooth-PDA-Sync, /dev/tty.usbmodemfa131, /dev/cu.usbmodemfa131, } / {/dev/tty.Bluetooth-Serial-1, /dev/cu.Bluetooth-Serial-1, /dev/tty.Bluetooth-Serial-2, /dev/cu.Bluetooth-Serial-2, /dev/tty.Bluetooth-Modem, /dev/cu.Bluetooth-Modem, /dev/tty.Bluetooth-PDA-Sync, /dev/cu.Bluetooth-PDA-Sync, /dev/tty.usbmodemfa131, /dev/cu.usbmodemfa131, } => {}
PORTS {/dev/tty.Bluetooth-Serial-1, /dev/cu.Bluetooth-Serial-1, /dev/tty.Bluetooth-Serial-2, /dev/cu.Bluetooth-Serial-2, /dev/tty.Bluetooth-Modem, /dev/cu.Bluetooth-Modem, /dev/tty.Bluetooth-PDA-Sync, /dev/cu.Bluetooth-PDA-Sync, /dev/tty.usbmodemfa131, /dev/cu.usbmodemfa131, } / {/dev/tty.Bluetooth-Serial-1, /dev/cu.Bluetooth-Serial-1, /dev/tty.Bluetooth-Serial-2, /dev/cu.Bluetooth-Serial-2, /dev/tty.Bluetooth-Modem, /dev/cu.Bluetooth-Modem, /dev/tty.Bluetooth-PDA-Sync, /dev/cu.Bluetooth-PDA-Sync, /dev/tty.usbmodemfa131, /dev/cu.usbmodemfa131, } => {}
Uploading using selected port: /dev/tty.usbmodemfa131
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega32u4 -cavr109 -P/dev/tty.usbmodemfa131 -b57600 -D -Uflash:w:/var/folders/2p/xppn304s7t3f2rr33lc0r1qr0000gn/T/build4096724376878548028.tmp/Beep.cpp.hex:i

avrdude: Version 5.11, compiled on Sep 2 2011 at 18:52:52
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch

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

Using Port : /dev/tty.usbmodemfa131
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 10 8 0 no 1024 8 0 9000 9000 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack


flash 65 6 128 0 yes 32768 128 256 4500 4500 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack


lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack


hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack


efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack


lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack


calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack


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: .avrdude: Send: . [1b]
avrdude: Send: S [53]
avrdude: ser_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding
processing.app.debug.RunnerException
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:129)
at processing.app.Sketch.upload(Sketch.java:1692)
at processing.app.Sketch.exportApplet(Sketch.java:1605)
at processing.app.Sketch.exportApplet(Sketch.java:1577)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2397)
at java.lang.Thread.run(Thread.java:680)
Caused by: processing.app.debug.RunnerException: Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.
at cc.arduino.packages.Uploader.executeUploadCommand(Uploader.java:113)
at cc.arduino.packages.uploaders.SerialUploader.uploadUsingPreferences(SerialUploader.java:127)
... 5 more

I am having trouble with my new Arduino Robot. I can upload nicely to the Motor board but no the Controller board

What chip the Controller board have?

avrdude: ser_recv(): programmer is not responding
avrdude: butterfly_recv(): programmer is not responding

Did you have a Atmel Butterfly Development Board?
Are you using the Arduino IDE to upload the skeetch?
From the log you are telling avrdude to use the butterfly programmer, is this right?

Both parts of the Robot is a Leonardo-Arduino and when I program the Motor board it also says Butterfly and it works.

I have tested both with Arduino 1.0.5 and the beta of 1.5.4. Same result with both. And I have just tried with the latest nightly build with the same broken result :frowning:

What else can I try?

You are selecting the right board in the IDE? There is a different entry in the board selection for the robot control board and the robot motor board.

Yes, I am. If I select the wrong one the code won't compile before upload.

Hi,

i have exactly the same problem! Uploading the Logo example sketch to the Robot Controller board worked once and since then i can not upload any sketch to the controller board anymore. The COM port gets resetted, but the bootloader seems not to be invoked. Instead the Logo sketch starts as on normal reset. Also pressing the reset button twice does not help. There are no problems with the Robot Motor board to upload the 2 sample sketches.

Beside that, running the Logo sketch shows that the robot is not able to run straight forward (always turns slightly to the left). Also doing 4 times left or right turn seems to be a problem. The motors seem to be very weak and the robot stops moving. The batteries were fully loaded.
I intend to send the robot back, if there is no solution :frowning:

BTW: I tried with a Win 7/64 and a Win 8.1/64 system. I have also an Arduino Uno R3, Nano V3, Mega 2560 and Due. They all work without problem. I also tried Arduino IDE 1.0.5 and 1.5.4r2.

Hi,

I’ve found out, why the upload to the Robot Controller board does not work, but I still have no solution to fix the problem:

The Arduino Robot is similar to the Arduino Leonardo. When uploading a sketch, the virtual port (in my case Arduino Robot COM7) disappears and a new one appears for a couple of seconds (Arduino Robot Control bootloader COM8). Since the new one appears not as port COM7 the upload process does not work. Unfortunately you are not able to preselect in the Arduino IDE the port COM8 for upload purpose, because this port is not listed when starting the IDE.

Any ideas?

Hi

I ended up sending my Robot back to the reseller and he reprogrammed the main chip using an external ISP. The problem on these is that there is no protection against uploading too big programs and if you do that then you overwrite the bootloader. Either this happened or there was something funky going on and it worked one time but not after that. The reseller has reprogrammed it over 50 times but I haven't had time to play with it since I got it back.

Hi,

I got mine now to work by removing all COM(x) devices, rebooting Windows (7/64) and then I connected to the Robot Control board. I then installed the COM(3) device driver as advised, pressed the reset key on the Robot twice to get also the COM(4) port for the boot loader installed. Since then I can upload sketches without any problem :slight_smile:

You are right, the room for sketches is very small. using the sample sketches fills the controller Arduino by 99%. That's not good at all!

The problem not running straight on I could solve by running the R06_Wheel_Calibration sketch, after I'm able now to upload it.

I did not yet test what will happen again if my system shows additional COM ports for other Arduinos etc.

So there are to TTYs/COMs for the main board? That explains then why I managed to overwrite the boot loader. Where is this documented?

Hi !

the robot is using two COMs. Firstly it installs the Robot Driver and then when we reset the robot with double click to reset button, it tries to install Robot Bootloader . But it CAN NOT .
is there problem with the drivers ?????????
All the time , there is problem in the installing process.

it tries to install , for example ,
Robot - COM13
Bootloader - COM14 . Although i can not install the bootloader automatically , if i did , which COM will we choose ? 13 or 14 ?

And by the way , why can not my laptop install the bootloader after push double on reset button ? if yours can be installed , can you send me your drivers?

Hi,

I have had exactly the same problem with my Arduino Robot. After days of frustration I eventually found a solution. From what I am aware of is that the Control Board does not support a thing called 'auto reset'. So what you need to do is manually reset the board while uploading. You can do this by:

  • Opening a very simple sketch, like Blink or BareMinimum
  • Press the upload button
  • When the status bar shows "Uploading...", double press the reset button on the Control Board
  • The Serial port should appear as normally .

I found this solution here>> http://arduino.cc/en/Guide/Robot#toc9