Forum >URGENT! Problem COMB0002 + Arduino Mega 2560 (Wireless Programming Kit)
ArduinoGeneral

URGENT! Problem COMB0002 + Arduino Mega 2560 (Wireless Programming Kit)

userHead blue 2013-12-23 05:20:17 5757 Views4 Replies
Dear DFRobot,

I'm having a problem with the kit "Wireless Programming Kit For Arduino" reference code COMB0002 I've bought from gotronic.fr (I dfrobot in Belgium and I needed the kit as fast as possible), the package arrived last friday:
[url=http://www.gotronic.fr/art-kit-de-programmation-sans-fil-comb0002-19240.htm]http://www.gotronic.fr/art-kit-de-programmation-sans-fil-comb0002-19240.htm[/url]

Using this guide:
[url=http://www.dfrobot.com/wiki/index.php?title=Wireless_Programming_Module_For_Arduino_(SKU:TEL0037)]http://www.dfrobot.com/wiki/index.php?title=Wireless_Programming_Module_For_Arduino_(SKU:TEL0037)[/url]

I can succesfully program an [b]Arduino Uno[/b] wirelessly. However, my project (which is very near it's 'go dfrobot' date), requires an Arduino Mega 2560 (due to interrupt capabilities).

I've programmed my Mega with an empty script to avoid any possibilities of RX/TX interference with Serial.print as described here:
[url=http://www.dfrobot.com/forum/index.php?topic=56.msg217#msg217]http://www.dfrobot.com/forum/index.php?topic=56.msg217#msg217[/url]

[code]void setup() {
}

void loop() {
}[/code]

I'm trying to upload the 'blink led' example from the Arduino project:
[code]/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.

This example code is in the public domain.
*/

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}[/code]

[b]Hardware configuration:[/b]
The Arduino Mega has the expansion shield from the kit (DFR0088) stacked on top of it with one of the wireless modules. It is powered using a standard AC/DC convertor of 12VDC (11.7 VDC) connected to the Vin and GND of the expansion shield.
The xpee usb adaptor from the kit is connected to a usb port of a laptop with the other wireless module on top of it.

Wireless programming the arduino is done with the 'mode' jumper in the 'off' position. The PROG_EN jumper is still in the 'on' position. When programming one module, the other one is not connected to anything.

I have checked if the jumpers on both modules work fine.
I have also checked if all pins make good contact.
I have also made sure the modules are installed in the right orientation (as indicated on the boards and on the video).

[b]Software configuration:[/b]
Programming the wireless modules is done using the Wireless Programming tool provided on the wiki. (version 0.24). The board 'Arduino Mega 2560' is selected from the dropdown list. It is done with both jumpers in the 'on' position.
The tool used for wireless programming is the standard Arduino IDE version 1.05. The board is set to the mega 2560 (as for USB programming) and the port is set to the port of the USB XBEE adaptor.

[b]What happens when I try to program the arduino?[/b]
The blue LINK LED from both modules blink synchronously rapidly at first, later with some time in between. It is clear that there is a wireless connection. The Arduino Mega also responds by flashing LED 13 as in a normal program sequence. It appears to reset itself.

The following error message is thrown by the arduino IDE:
[b]Binary sketch size: 1,632 bytes (of a 258,048 byte maximum)
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer[/b]

I've already tried without luck:
[list]
[*]deactivating every possible source of interference (wifi, wireless mouse, ...)
[*]using other USB ports
[*]using another computer
[*]using another arduino mega board (both boards are from different suppliers)
[*]powering on/off everything in different sequences
[*]reversing the wireless modules (when one was on the expansion shield, I now place it on the usb adaptor)
[*]using XBEE Pro S1 modules instead of those supplied in the kit for wireless connection.
[*]trying out the XBEE USB adaptor from parallax
[*]another USB cable to connect to the adaptor
[/list]

I've noticed the following issue to occur:
One of the two wireless modules behaves differently then expected. Once I apply changes to the configuration, it doesn't reset as it should have. I need to disconnect the port, unplug the usb adaptor, plug the adaptor back in and reconnect before I can query the configuration using ATENTER. Using the command ATEXIT results in the same situation. I've also noticed that after the 'apply changes', this module doesn't respond to AT queries anymore. normally the blue LINK LED starts to flash when you send a query, after the 'apply changes' it doesn't anylonger. the changes however are programmed into the module. After I reconnect the adaptor, I can query every EEPROM register and it all checks out with the other module (that doesn't show this behavior).

I have done an ATEEPR command for every register address, for both modules I get the following:
[table]
[tr]
[td][/td]
[td]
Mod 1 (ok)
[/td]
[td]
Mod 2 (nok)
[/td]
[/tr]
[tr]
[td]
EEPR1
[/td]
[td]
11
[/td]
[td]
11
[/td]
[/tr]
[tr]
[td]
EEPR2
[/td]
[td]
52
[/td]
[td]
52
[/td]
[/tr]
[tr]
[td]
EEPR3
[/td]
[td]
0
[/td]
[td]
0
[/td]
[/tr]
[tr]
[td]
EEPR4
[/td]
[td]
192
[/td]
[td]
192
[/td]
[/tr]
[tr]
[td]
EEPR5
[/td]
[td]
168
[/td]
[td]
168
[/td]
[/tr]
[tr]
[td]
EEPR6
[/td]
[td]
1
[/td]
[td]
1
[/td]
[/tr]
[tr]
[td]
EEPR7
[/td]
[td]
1
[/td]
[td]
1
[/td]
[/tr]
[tr]
[td]
EEPR8
[/td]
[td]
1
[/td]
[td]
1
[/td]
[/tr]
[tr]
[td]
EEPR9
[/td]
[td]
40
[/td]
[td]
40
[/td]
[/tr]
[tr]
[td]
EEPR10
[/td]
[td]
250
[/td]
[td]
250
[/td]
[/tr]
[tr]
[td]
EEPR11
[/td]
[td]
20
[/td]
[td]
20
[/td]
[/tr]
[tr]
[td]
EEPR12
[/td]
[td]
255
[/td]
[td]
255
[/td]
[/tr]
[tr]
[td]
EEPR13
[/td]
[td]
255
[/td]
[td]
255
[/td]
[/tr]
[/table]


This request for help is very urgent. Please, I need to bring my project into prototype production on 29/12/2013 and it has to have wireless programming capabilities. I've been trying to do that with quite alot of other XBEE modules with no luck. I'm pretty much out of ideas.
2013-12-24 01:55:55 Hello Blue,
The MCU chip is different with 2011 version.(My colleague said, I haven't tried it before. )
But for now it doesn't support Mega 2560.
We will send this problem to the factory.
Really sorry for the inconvenience?

By the way, what is about the UNO? Arduino UNO also has interrupt capabilities.
And it has software serial port to instead of the Serial1
userHeadPic Grey.CC
2013-12-23 22:49:59 What do you mean with 'new' mega 2560?

Will it work with another revision of the board?
userHeadPic blue
2013-12-23 19:07:43 Hello Blue,
I have tested this module. but it doesn't work with new mega 2560.

I am sorry. The problem is caused by baud rate.
The baud rate 115200 will make mega 2560 be unstable. And we have tried to modify the code. But it is still unstable.

We have recorded this problem.
We will correct the wiki page.
Really sorry for the inconvenience?
userHeadPic Grey.CC
2013-12-23 05:35:02 Some additional information. Both the laptop and the PC I tested on are with operation system Windows 7. Both arduino mega 2560 boards are also R3 userHeadPic blue