how to configure XBee Bluetooth?

Q&A forumCategory: Questionshow to configure XBee Bluetooth?
geom asked 1 year ago

I know that You’re selling a preconfigured XBee Bluetooth module in Your shop. I have one lying around (XBee Bluetooth with HC-05 with 3.3V) and want to use it with the ArduSimple board. I’ve configured it to use a baudrate of 115200 and set the same in u-center on UART2.
In u-center I enabled UART2, set RTCM3 as Inprotocol and UBX and NMEA as OutProtocol in UBX-CFG-VALSET. These settings are seen in the UBX-CFG-PRT menue and can also be seen in the new Generation 9 configuration view.
My XBee BT connects without issues to my tablet, but there is no incoming data.
When I look at the UBX-MON-IO, only USB and UART1 shows traffic on the TX, UART2 stays at 0.
On the board I’ve tried already both: connecting the 3.3V output to the board to the IOREF pin AND without this connection.
Is there someting I’m missing? 

geom replied 1 year ago

the ublox integration Manual says that the UART2 shouldn’t be used the way I intended to use it (as primary host connection):
“UART2 is intended to convey correction messages to the module and will only accept RTCM and NMEA protocols and should not be used as a primary host connection.”
But as far as I understood the intention of Your XBee Bluetooth module it is to offer a simple primary connection without restrictions in terms of protocols. Or am I wrong?

3 Answers
Ardusimple Staff answered 1 year ago

Hi geom,
As u-blox states, UART2 supports RTCM and NMEA protocols but not UBX.
If you need UBX, you can connect your module to UART1

geom replied 1 year ago

OK, so far. But is it possible to connect the BT module using the XBee socket to UART1 since actually this socket is linked to UART2? It would be great to have this opportunity since the XBee socket gives a very stable and compact connection to the board without the need to wire a separate module in a compact enclosure.

Ardusimple Staff replied 1 year ago

Hi geom,
Unfortunately the XBee socket is connected physically to UART2 so it is not possible to reroute it to UART1.
You could try to put wires from UART1 TX/RX to UART2 TX/RX in the Arduino headers and also to power the IOREF pin.
Then in u-center you should disable all protocols for UART2.
Then you may be able to use the XBee socket with UART1 (we have never tried such configuration, if you do, let us know if it works)

geom answered 1 year ago

thanks for Your answer. After trying a bit it finally works!
I disabled all protocols on UART1. But it works only after disabling the whole UART2 port in u-blox!
Set the power to 3.3V on IOREF (connected the 3.3V out to IOREF)
Connected UART1 TX1 => RX2 and RX1 => TX2.
The BT on XBee socket now sends NMEA, RTCM and UBX, an can recieve whatever UART1 allows. 
Great. Thanks a lot for the excellent work You’re doing.

Ardusimple Staff replied 1 year ago

Hi geom,
Thanks for the good news, we really appreciate your confirmation when things finally work.

geom replied 1 year ago

Sorry, I wrote in my post ‘ I disabled all protocolls on UART1’ should be ‘UART2’!
Actually it works with LEFEBURE (RTCM3 / NMEA) and with MapitGis-NTRIP-Client (UBX).

arwooldridge replied 1 year ago

I got this to work as above with RTCM, NMEA and UBX however I found it necesary only to select “none” for all input and output protocols on UART2.
A nice future improvement would be selectable UART2/UART1 for the XBee Module. This could be done via jumper links, and also selectable jumper links UART1/UART2 for the other output port. So basically a two pole two way switch implemeted as jumper links. This way you would not need to tie up the two ports for one purpose.
Also is there a circuit diagram of the RTK2B available?

Ardusimple Staff replied 1 year ago

Hi arwooldridge,
Thanks for your feedback, we will consider for the next version. For this product we tried to minimize the number of configuration options.
We prefer to currently not share the circuit diagram, but there is nothing special, it’s very simple, it’s as described in the hookup guide.

arwooldridge replied 1 year ago

I think that would be very useful. The other way to do it is using pads and connections which you can break and add solder bridges to join to the other pads.
My reason for wanting a circuit diagram was to see why IOREF was not connected and should it have been if using the Xbee BT, also to see where to track cut and link the UART1/2 change to preserve the two ports.

apt1506 replied 12 months ago

Lebefure seems to work only with nmea and ALWAYS picks only 12 satellites, even though around 18 satellites have >40 snr…

MapitGIS sees only Glonass and GPS…

Ardusimple Staff replied 12 months ago

NMEA was not develop for dual band gps, and by default u-blox module outputs NMEA according to its standard. In the number of SV, zed-f9p output maximum number 12. with satellites, zed-f9p doesn’t output L2 details. NMEA default configuration can be changed with ubx-cfg-nmea.

clive1 replied 12 months ago

IOREF comes in from the Arduino side of the interface, and powers the level converters to the pins of the shield header. It is for the MPU card to power it based on the interface levels it uses.
I’d expect some of the UART pins have AND gates to allow sources (normally high) to be combined.

apt1506 answered 12 months ago

I did change the NMEA conf from 0-standard to 16-16, chose high precision, Chose main talker 3-combined. still only 12 sats.
Essentially F9P is an M8T with triple the price, offering no additional benefit :\

clive1 replied 12 months ago

Reporting in GGA and GSA is limited to 12, the 16-16 option relates to numbers reported in GSV sentences.