XBee 868 PRO modules useless for data downlink !?

643 views
Skip to first unread message

Marc-X

unread,
Sep 7, 2010, 4:53:21 AM9/7/10
to uavdevboard
Everybody:

After experimenting a little with the XBee 868 PRO module it turns out
that:

1. either I am doing something wrong, or
2. these aren't meant for applications like these, where you need
constant data streams.

If you read the specs carefully, you will note "10% duty cycle".
I didn't bother with this at first, thinking it had to do with
overheating or something like that, but after having observed the same
phenomena time after time, I now realize these are made for short
bursts of data, not continuous data streams.

I have these guys sitting at my workbench, both using the lowest
transmit power level. One is connected to the UDB for telemetry data
and the other to the PC via Digi's USB development board (much like
the SparkFun USB explorer).

What happens is that after a while there isn't coming any more data at
the PC end. I have tried all sort of different settings thinking there
must be a buffer overflow crashing the XBee or something similar, but
nothing helps.

Now it turns out that there is an internal counter in these XBee
modules that increases (for each packet sent?). If this counter reach
64 the transmission stops and the XBee needs to be reset.

Anyone else with the same experience?
I read on the digi.com forum that several people shouted for help
because their 868 PRO modules "crashed" after a while but noone had
any solution...

I haven't been digging into this problem yet. Thought I should ask
here first if there is anyone here who knows whats going on and if
there is a smart way around this problem?

the DutyCycle counter is visible with the DC command. (enter terminal
mode with +++ then enter ATDC

If this counter is available for writing (which it's probably not), it
had been easy to read it and then reset it when reaching dangerously
high levels.
Another option is to read it and reset the XBee module when needed.
(When thinking of if, is there any "reset" or "reboot" AT-command?).


Marc

Peter Hollands

unread,
Sep 7, 2010, 5:13:12 AM9/7/10
to uavde...@googlegroups.com
Marc,

Looks like bad news from this support thread on the digicom forums.

"The 10% duty cycle exists in order to comply with ETSI European Telecommunications Standard for 868 MHz. In compliance with the law, emmitters cannot transmit for more than 6 minutes total in each hour. If you transmit for 6 minutes continuously then the radio could only receive (not transmit) for the next 54 minutes. This duty cycle is not based on temperature."

"The register is cleared upon a power cycle of the radio."

Best wishes, Pete

Marc-X

unread,
Sep 7, 2010, 5:25:45 AM9/7/10
to uavdevboard
Pete,

I just found a solution, or more like a "work-around":

The FR command is software reset of the module. It happens in an
instant (100ms). I tested this and it works. I let the module pump out
data until it choked (the DC counter reached 64). Then i entered
terminal mode and gave it the "three finger salute" with an ATFR.
After that the data kept on flowing (until next duty cycle overrun).
It seems like it would be a simple thing to fix this in the UDB serial
IO code for those of us who have these modules.

Marc

On Sep 7, 11:13 am, Peter Hollands <peter.holla...@gmail.com> wrote:
> Marc,
>
> Looks like bad news from this support thread on the digicom
> forums.<http://forums.digi.com/support/forum/viewthread_thread,497>

Netfoot

unread,
Sep 7, 2010, 6:45:58 AM9/7/10
to uavde...@googlegroups.com
On Tue, Sep 7, 2010 at 5:25 AM, Marc-X <marcus...@gmail.com> wrote:
 let the module pump out data until it choked (the DC counter reached 64). Then
i entered terminal mode and gave it the "three finger salute" with an ATFR.

Try resetting the transmitter before the choke (DC counter less than 64). 





Murali- VU3MUV

unread,
Sep 7, 2010, 12:27:49 PM9/7/10
to uavde...@googlegroups.com
Marc-x ,
I haven't seen this issue with  my 900Mhz modem( AC4790) so far.

Marc-X

unread,
Sep 7, 2010, 2:09:56 PM9/7/10
to uavdevboard
Murali,

This behavior is specific for the 868 PRO module.

Marc

On Sep 7, 6:27 pm, Murali- VU3MUV <vu3...@gmail.com> wrote:
> Marc-x ,
> I haven't seen this issue with  my 900Mhz modem( AC4790) so far.
>
>
>
> On Tue, Sep 7, 2010 at 4:15 PM, Netfoot <netf...@gmail.com> wrote:

Marc-X

unread,
Sep 7, 2010, 2:13:49 PM9/7/10
to uavdevboard
Netfoot;

That's exactly what I was planning to do, but instead of using
hardware resources (IO pins on the UDB for example, or an external
timer for the reset), I thought os just sending the "soft reset" AT -
code (FR) through the UART. That way it happens without any need for
additional hardware.

Or do I miss something here? Is the XBee uC accessible for programming
such tasks into them?
(I'm a complete newbe to these devices).

Cheers!


Marc

On Sep 7, 12:45 pm, Netfoot <netf...@gmail.com> wrote:

Marc-X

unread,
Oct 23, 2010, 8:03:42 PM10/23/10
to uavdevboard
Guys that are interested in this topic,

I have now been running my "QUICK_AND_DIRTY" type of fix for several
hour and it works perfectly.
It is an external uC (PIC16F630 which I had lying around), programmed
in a few lines of assembler and hardwired to the reset pins on the
little devil (868 XBee PRO). It sends the HW variant of the "three
finger salute" once every 6'th minute or so. Dependant on SERIAL_DEBUG
option used in MP, you could do with a lot lower reset frequency, but
this takes care of even the most demanding debug format
(SERIAL_UDB_EXTRA) running with fully opened throttle.

It works so well that I have yet to see the reset in the debug data
captured to disk. (it WILL be some lost characters, but I really don't
care if it is a second of data missing from a file that spans 2 hours
of flying.

Now I'm running SERIAL_ARDUSTATION as debug format to be able to read
debug data in realtime while in HIL simulation environment. Here I
haven't seen a single "hickup" (lost line) while the reset triggers.
The reset takes about 200ms I.I.R.C and it is possible that I have
been lucky and the reset have executed "between the lines".
ARDUSTATION pumps out 5 lines of text every sec as default. Dataspeed:
19200baud.

I'll have a closer look at this later, but the new XBees I received
yesterday behave much better than the first set I got. They often got
hung up in an "un-known state" after a reset and had to be reset
again. Sometimes up to several times before they came back to life
again. Possibly I have a different firmware in these, I actually think
so, or I had got a defect one with my last order.

Now I'm looking forward to take this setup outside and do some serious
range testing.The last setup managed to give me a distance of right
under 3km without any lost packages (NON-LOS in urban terrain with TX
power set to the maximum of 300mW.)

Cheers!

Marc

On Sep 7, 8:13 pm, Marc-X <marcus.fah...@gmail.com> wrote:
> Netfoot;
>
> That's exactly what I was planning to do, but instead of using
> hardware resources (IO pins on the UDB for example, or an external
> timer for the reset), I thought os just sending the "soft reset" AT -
> code (FR)  through the UART. That way it happens without any need for
> additional hardware.
>
> Or do I miss something here? Is theXBeeuC accessible for programming

Riccardo Kuebler

unread,
Oct 23, 2010, 8:08:39 PM10/23/10
to uavde...@googlegroups.com
Wow Marc,

that is what I was waiting from your tests.

Now we need the Ardustation / UDB firmware and my tracking antenna will be resumed for UDB long range FPV flights :D

Congratulations !

Ric

2010/10/24 Marc-X <marcus...@gmail.com>

Marcus Fahlén

unread,
Oct 25, 2010, 3:27:54 PM10/25/10
to uavde...@googlegroups.com
Ric,

I did some tests today, using the XBee link to capture debug data from the SERIAL_UDB and SERIAL_UDB_EXTRA.
Even if the XBee got reset several times during the "flight" you couldn't see any gaps or misplaced data points when using "Flan" to analyze the flight.

I'm really satisfied with this "quick-and-dirty" solution being an emergency solution.
I have increased the RO ("Packetization Timeout") from default 3 to 255. This means that the XBee buffers 255 characters before TX'ing them. I'm not sure how much of a difference this does since I haven't got the energy (nor patience) to do any measurements for comparison. Anyway, my conclusion is that these little devils / babies is good as gold if we manage to do a strategic reset from time to time. Now I have to do some serious field test with the power bumped up to the max.


Cheers!


Marc

Riccardo Kuebler

unread,
Oct 25, 2010, 4:19:54 PM10/25/10
to uavde...@googlegroups.com
Marc,

I was just writing you about that.
Could you tell me where you do the reset ?

Seen your results I'm going to reconsider to buy a couple of them (where did you buy them ?).

You said that you were able to transmit serial extra without data lost ? Fantastic !

If I get some help on programming side I could implement them for mid / long range flight. The plane is ready and UDB has to be implemented to watch how it can manage this plane (a little bastard, with tip stall attitude, at the point it can't do a looping ! But it is fast and climb vertically !). I could then restore my Ardustation for tracking antenna.

Ric

2010/10/25 Marcus Fahlén <marcus...@gmail.com>

Marcus Fahlén

unread,
Oct 25, 2010, 4:27:16 PM10/25/10
to uavde...@googlegroups.com
Ric,

I bought my kit (development kit) from the Norwegian distributor. It cost €165 including postage.
The kit includes 2 x XBee's, one with antenna connector and one with wire whip antenna, One "development board" USB, and one "development board" RS-232, Included in the box was some other dohdah's like antenna, 9v battery, battery eliminator, CD cables, etc.

I'm sure you can put together a small PIC and a relay / transistor for the reset. If you use a 16F630 or compatible, I can send you my source or .hex file.


Cheers!

Marc

Marcus Fahlén

unread,
Oct 25, 2010, 4:30:57 PM10/25/10
to uavde...@googlegroups.com
Ehh.. forgot one thing:

The reset is marked in the development board, as are all other interesting signals. I don't remember what pins on the XBee module carries the RESET and GND, but it is these you want to short. I used a small RELAY to do the actual reset since I was afraid I should fry a XBee since they are 3.3V and my PIC runs directly on my 5v power bus. 


Marc

On Mon, Oct 25, 2010 at 10:19 PM, Riccardo Kuebler <kue...@ticino.com> wrote:

Riccardo Kuebler

unread,
Oct 25, 2010, 5:05:32 PM10/25/10
to uavde...@googlegroups.com
Marc,

thanks a lot.

I think I will not buy the development kit. I only need the Xbees. I already have Adafruit adapter board and the Sparkfun one. I have an adapter board for USB connection too.

Btw, did you already try them with a board like the Adafruit or Sparkfun or DIYdrones one ?

Just interested if they can manage the current needs of this module.

About the circuit, yes I can make one. I only need a little schematics (with components list) and the hex.

Marcus Fahlén

unread,
Oct 25, 2010, 5:57:23 PM10/25/10
to uavde...@googlegroups.com
Ric,

Either the Adafruit nor the Sparkfun breakout boards ("XBee explorer") have power regulators that coop with the 868 at full blow.
You have to change them to one that stands 800mA continuously (I.I.R.C) if your intentions are to drive 300mW out of the Bee..


Marc  

Marcus Fahlén

unread,
Oct 26, 2010, 9:50:12 PM10/26/10
to uavde...@googlegroups.com
Ric,

Here is a flight logged using my XBee's and SERIAL_UDB_EXTRA as data format. I haven't count the datapoints, but there are quite a few! As you can see it works pretty well.

Cheers!


Marc
10WP_course_double_spiral.kmz

Peter Hollands

unread,
Oct 27, 2010, 1:36:35 AM10/27/10
to uavde...@googlegroups.com
Marcus,

It's working pretty well. I see that the markers for WP5 and WP6 seemed to have disappeared. Something to look into later on.

Best wishes, Pete

Marc-X

unread,
Oct 27, 2010, 1:47:46 AM10/27/10
to uavdevboard
Peter,

Yes, I posted some screenshots at the thread below:

http://groups.google.com/group/uavdevboard/attach/726a8bdead48e672/Missed_WPs_2.jpg?part=5&view=1


//Marc



On Oct 27, 7:36 am, Peter Hollands <peter.holla...@gmail.com> wrote:
> Marcus,
>
> It's working pretty well. I see that the markers for WP5 and WP6 seemed to
> have disappeared. Something to look into later on.
>
> Best wishes, Pete
>
> On Wed, Oct 27, 2010 at 2:50 AM, Marcus Fahlén <marcus.fah...@gmail.com>wrote:
>
>
>
>
>
>
>
> > Ric,
>
> > Here is a flight logged using my XBee's and SERIAL_UDB_EXTRA as data
> > format. I haven't count the datapoints, but there are quite a few! As you
> > can see it works pretty well.
>
> > Cheers!
>
> > Marc
>
> > On Mon, Oct 25, 2010 at 11:57 PM, Marcus Fahlén <marcus.fah...@gmail.com>wrote:
>
> >> Ric,
>
> >> Either the Adafruit nor the Sparkfun breakout boards ("XBee explorer")
> >> have power regulators that coop with the 868 at full blow.
> >> You have to change them to one that stands 800mA continuously (I.I.R.C) if
> >> your intentions are to drive 300mW out of the Bee..
>
> >> Marc
>
> >> On Mon, Oct 25, 2010 at 11:05 PM, Riccardo Kuebler <kueb...@ticino.com>wrote:
>
> >>> Marc,
>
> >>> thanks a lot.
>
> >>> I think I will not buy the development kit. I only need the Xbees. I
> >>> already have Adafruit adapter board and the Sparkfun one. I have an adapter
> >>> board for USB connection too.
>
> >>> Btw, did you already try them with a board like the Adafruit or Sparkfun
> >>> or DIYdrones one ?
>
> >>> Just interested if they can manage the current needs of this module.
>
> >>> About the circuit, yes I can make one. I only need a little schematics
> >>> (with components list) and the hex.
>
> >>> Ric
>
> >>> 2010/10/25 Marcus Fahlén <marcus.fah...@gmail.com>
>
> >>>> Ehh.. forgot one thing:
>
> >>>> The reset is marked in the development board, as are all other
> >>>> interesting signals. I don't remember what pins on the XBee module carries
> >>>> the RESET and GND, but it is these you want to short. I used a small RELAY
> >>>> to do the actual reset since I was afraid I should fry a XBee since they are
> >>>> 3.3V and my PIC runs directly on my 5v power bus.
>
> >>>> Marc
>
> >>>> On Mon, Oct 25, 2010 at 10:19 PM, Riccardo Kuebler <kueb...@ticino.com>wrote:
>
> >>>>> Marc,
>
> >>>>> I was just writing you about that.
> >>>>> Could you tell me where you do the reset ?
>
> >>>>> Seen your results I'm going to reconsider to buy a couple of them
> >>>>> (where did you buy them ?).
>
> >>>>> You said that you were able to transmit serial extra without data lost
> >>>>> ? Fantastic !
>
> >>>>> If I get some help on programming side I could implement them for mid /
> >>>>> long range flight. The plane is ready and UDB has to be implemented to watch
> >>>>> how it can manage this plane (a little bastard, with tip stall attitude, at
> >>>>> the point it can't do a looping ! But it is fast and climb vertically !). I
> >>>>> could then restore my Ardustation for tracking antenna.
>
> >>>>> Ric
>
> >>>>> 2010/10/25 Marcus Fahlén <marcus.fah...@gmail.com>
>
> >>>>> Ric,
>
> >>>>>> I did some tests today, using the XBee link to capture debug data from
> >>>>>> the SERIAL_UDB and SERIAL_UDB_EXTRA.
> >>>>>> Even if the XBee got reset several times during the "flight" you
> >>>>>> couldn't see any gaps or misplaced data points when using "Flan" to analyze
> >>>>>> the flight.
>
> >>>>>> I'm really satisfied with this "quick-and-dirty" solution being an
> >>>>>> emergency solution.
> >>>>>> I have increased the RO ("Packetization Timeout") from default 3 to
> >>>>>> 255. This means that the XBee buffers 255 characters before TX'ing them. I'm
> >>>>>> not sure how much of a difference this does since I haven't got the energy
> >>>>>> (nor patience) to do any measurements for comparison. Anyway, my conclusion
> >>>>>> is that these little devils / babies is good as gold if we manage to do a
> >>>>>> strategic reset from time to time. Now I have to do some serious field test
> >>>>>> with the power bumped up to the max.
>
> >>>>>> Cheers!
>
> >>>>>> Marc
>
> >>>>>> On Sun, Oct 24, 2010 at 2:08 AM, Riccardo Kuebler <kueb...@ticino.com
> >>>>>> > wrote:
>
> >>>>>>> Wow Marc,
>
> >>>>>>> that is what I was waiting from your tests.
>
> >>>>>>> Now we need the Ardustation / UDB firmware and my tracking antenna
> >>>>>>> will be resumed for UDB long range FPV flights :D
>
> >>>>>>> Congratulations !
>
> >>>>>>> Ric
>
> >>>>>>> 2010/10/24 Marc-X <marcus.fah...@gmail.com>

Riccardo Kuebler

unread,
Oct 27, 2010, 6:12:16 AM10/27/10
to uavde...@googlegroups.com
Hi Marc,

it seems to me that UDB is not skipping WP, in your case.

It simply consider they reached way off, starting from WP5. Until WP4 it seems all ok.

There is WP9 too that appears two times. Is it then repeated ?

Ric

2010/10/27 Marc-X <marcus...@gmail.com>

Marc-X

unread,
Oct 27, 2010, 8:52:27 AM10/27/10
to uavdevboard
Ric,

WP5 and WP6 is skipped, but not at once. MP decides suddenly it don't
need to follow my orders or there might be a BINGO ?! ;)
To me it looks like MP mis-reads the WP radius and trigger "next" far
to early.

I will set up a similar course to recreate the flight. (doing it
now...)


Cheers!

Marc

On Oct 27, 12:12 pm, Riccardo Kuebler <kueb...@ticino.com> wrote:
> Hi Marc,
>
> it seems to me that UDB is not skipping WP, in your case.
>
> It simply consider they reached way off, starting from WP5. Until WP4 it
> seems all ok.
>
> There is WP9 too that appears two times. Is it then repeated ?
>
> Ric
>
> 2010/10/27 Marc-X <marcus.fah...@gmail.com>
>
>
>
>
>
>
>
> > Peter,
>
> > Yes, I posted some screenshots at the thread below:
>
> >http://groups.google.com/group/uavdevboard/attach/726a8bdead48e672/Mi...

Riccardo Kuebler

unread,
Oct 27, 2010, 10:40:26 AM10/27/10
to uavde...@googlegroups.com
Marc,

just would like to use the same language, I consider skipped a WP if it is ignored, say UDB goes from WP4 directly to WP 7.

In your case, on flight log, path for both WP5 and 6 is showed. It seems to me that this has something to do with some wrong calculation, not skipped.

I already experienced skipped waypoints in a midrange flight (>2km) I did last spring. I programmed two turns around a castle and the plane only did one, so it skipped several WPs. It even skipped another WP on way home. I still did not understand what passed in this flight. All the explanations we found were not supported by any coherence.

Just would like to point what I consider a skipped WP.

Best regards,

Ric

2010/10/27 Marc-X <marcus...@gmail.com>

Marc-X

unread,
Oct 28, 2010, 10:59:48 AM10/28/10
to uavdevboard
Aha,

To me it looks like MP sometimes "skip" any WP that it happens to pass
within its set radius limit.
I have had several similar situations that you describe, where I have
several turns around one object, but it only does one.
I'm not sure if this is valid for the current build, but I will test
that in a while....


Cheers!



Marc





On Oct 27, 4:40 pm, Riccardo Kuebler <kueb...@ticino.com> wrote:
> Marc,
>
> just would like to use the same language, I consider skipped a WP if it is
> ignored, say UDB goes from WP4 directly to WP 7.
>
> In your case, on flight log, path for both WP5 and 6 is showed. It seems to
> me that this has something to do with some wrong calculation, not skipped.
>
> I already experienced skipped waypoints in a midrange flight (>2km) I did
> last spring. I programmed two turns around a castle and the plane only did
> one, so it skipped several WPs. It even skipped another WP on way home. I
> still did not understand what passed in this flight. All the explanations we
> found were not supported by any coherence.
>
> Just would like to point what I consider a skipped WP.
>
> Best regards,
>
> Ric
>
> 2010/10/27 Marc-X <marcus.fah...@gmail.com>
> ...
>
> read more »

Riccardo Kuebler

unread,
Oct 28, 2010, 11:30:58 AM10/28/10
to uavde...@googlegroups.com
Marc,

Pete had a good explanation of what could happen in such a case. You will find attached the paper he did about that.

But in my case I checked carefully for distances etc and it did not match.

Ric

2010/10/28 Marc-X <marcus...@gmail.com>
skip_waypoints.pdf

Marcus Fahlén

unread,
Oct 28, 2010, 3:08:20 PM10/28/10
to uavde...@googlegroups.com
Thank's for the document!

/Marc

Marc-X

unread,
Nov 17, 2010, 1:22:47 PM11/17/10
to uavdevboard
Ric,

Did you get the final chapter of this saga? (I know that you had
personal interest in the 868 PRO XBee module).
Anyway, I have now the UDB (MArtixPilot) controlling the XBee using
the telemetry port to send the reset command at a configurable
interval.
So long it works like a charm!

I will do a little more testing and polishing of the code, but I have
confidence!


Cheers!

Marc

On Oct 24, 1:08 am, Riccardo Kuebler <kueb...@ticino.com> wrote:
> Wow Marc,
>
> that is what I was waiting from your tests.
>
> Now we need the Ardustation / UDB firmware and my tracking antenna will be
> resumed for UDB long range FPV flights :D
>
> Congratulations !
>
> Ric
>
> 2010/10/24 Marc-X <marcus.fah...@gmail.com>

Riccardo Kuebler

unread,
Nov 18, 2010, 5:00:20 AM11/18/10
to uavde...@googlegroups.com
Hi Marc,

sorry for late answer.

Yes, I'm following your progresses very close by.

I would like to buy a couple of them, but have to dilute expences a little.
I would like to have them working with my Ardustation (I mean the hardware one, with tracking antenna), but I loose then telemetry in the UDB extra format. The code needs some rework.

Are you working on the latest code revisions ?
Could you send me a patch for this anyway ?

Thanks,

Ric

2010/11/17 Marc-X <marcus...@gmail.com>

Riccardo Kuebler

unread,
Nov 18, 2010, 6:05:19 AM11/18/10
to uavde...@googlegroups.com
Marc,

how do you power / connect those Xbees ?
Is there an adapter board that can manage this power (800mAh) ?

I was not able to find any info on power capability of this adapter.

Ric

2010/11/18 Riccardo Kuebler <kue...@ticino.com>

Marcus Fahlén

unread,
Nov 19, 2010, 7:13:33 AM11/19/10
to uavde...@googlegroups.com
Ric,

I can make a patch when I'm 100% sure it's working with the latest MP3.x
At the moment I have it implemented in my helicopter code only.

/Marc

Riccardo Kuebler

unread,
Nov 19, 2010, 7:16:23 AM11/19/10
to uavde...@googlegroups.com
Marc,

thank you. 
Btw how are you powering them ?

Ric

2010/11/19 Marcus Fahlén <marcus...@gmail.com>

Marcus Fahlén

unread,
Nov 19, 2010, 7:17:28 AM11/19/10
to uavde...@googlegroups.com
I'm using the XBee development kit's board in the helicopter. (They
are quite large, but they work with 300mW output power (approx 800mA)
I'm not sure about the rating on the regulator, but it's enough.

My plan is to buy some of the small "explorer" boards (Adafruit or
XBee explorer), and change the voltage regulator to a beefier one, but
at the moment I'm using the dev kit. The board is enclosed in a box
and suspended under the boom braces.

/ Marc

Marcus Fahlén

unread,
Nov 19, 2010, 7:19:35 AM11/19/10
to uavde...@googlegroups.com
LiPo up to 12V. I don't remember the lowest voltage I have used, but I
think I remember them running fine on 5V.

/Marc

Reply all
Reply to author
Forward
0 new messages