Hardware

Specifications

In July 2019, we discontinued the XBee ZigBee S2D radio, incorporating to our portfolio the new XBee ZigBee 3, with very similar features and full retro-compatibility:
Module
Frequency
TX Power
Sensitivity
Channels
Range
XBee ZigBee 3
2.40 -- 2.47 GHz
8 dBm
-102 dBm
16
1200 m
XBee ZigBee S2D
2.40 -- 2.47 GHz
8 dBm
-102 dBm
16
1200 m
To determine your range, perform a range test under your operating conditions*
Figure: XBee ZigBee 3
Figure: XBee ZigBee S2D
From June 2019, Libelium offers the XBee ZigBee 3 module for Waspmote OEM and Plug & Sense! lines and no longer offers the XBee ZigBee S2D.
ZigBee is supported in the IEEE 802.15.5 link layer. The XBee ZigBee 3 modules comply with the ZigBee 3.0 standard and the XBee ZigBee S2D modules comply with the ZigBee-PRO v2007 standard. This protocol adds certain functionalities to those contributed by the ZigBee protocol, such as:
  • Node discovery: some headings are added so that other nodes within the same network can be discovered. It allows a node discovery message to be sent, so that the rest of the network nodes respond indicating their specific information (Node Identifier, \@MAC, \@16 bits, RSSI).
  • Duplicated packet detection: This functionality is not set out in the standard and is added by the XBee modules.
The topologies in which these modules can be used are: star and tree.
Figure: Star topology
Figure: Tree topology

How to connect the module

This module can be connected to both SOCKET0 and SOCKET1 placed in the Waspmote board.
Figure: Module connected to Waspmote in Socket0
In order to connect the module to the SOCKET1, the user must use the Expansion Radio Board.

Expansion Radio Board

The Expansion Board allows to connect 2 communication modules at the same time in the Waspmote sensor platform. This means a lot of different combinations are possible using any of the wireless radios available for Waspmote: 802.15.4, ZigBee 3, DigiMesh, 868 MHz, 900 MHz, LoRa, WiFi, NB-IoT / Cat-M, 4G, Sigfox, LoRaWAN, Bluetooth Pro, Bluetooth Low Energy and RFID/NFC. Besides, the following Industrial Protocols modules are available: RS-485/Modbus and CAN Bus.
Some of the possible combinations are:
  • LoRaWAN - 4G
  • 802.15.4 - Sigfox
  • 868 MHz - RS-485
  • NB-IoT / Cat-M - WiFi
  • DigiMesh - 4G
  • NB-IoT / Cat-M - RFID/NFC
  • WiFi - 4G
  • CAN Bus - Bluetooth
  • etc
NB-IoT / Cat-M and 4G modules do not need the Expansion Board to be connected to Waspmote. They can be plugged directly in the socket1.
In the next photo you can see the sockets available along with the UART assigned. On one hand, SOCKET0 allows to plug any kind of radio module through the UART0. On the other hand, SOCKET1 permits to connect a radio module through the UART1.
Figure: Dual radio with expansion board
The API provides a function called ON() in order to switch the XBee module on. This function supports a parameter which permits to select the SOCKET. It is possible to choose between SOCKET0 and SOCKET1.
Selecting SOCKET0 (both are valid):
xbeeZB.ON();
xbeeZB.ON(SOCKET0);
Selecting SOCKET1:
xbeeZB.ON(SOCKET1);
In the case 2 XBee ZigBee modules are needed (each one in each socket), it will be necessary to create a new object from WaspXBeeZB class. By default, there is already an object called xbeeZB normally used for regular SOCKET0.
In order to create a new object it is necessary to put the following declaration in your Waspmote code:
WaspXBeeZB xbeeZB_2 = WaspXBeeZB();
Finally, it is necessary to initialize both modules. For example, xbeeZB is initialized in SOCKET0 and xbeeZB_2 in SOCKET1 as follows:
xbeeZB.ON(SOCKET0);
xbeeZB_2.ON(SOCKET1);
The rest of functions are used the same way as they are used with older API versions. In order to understand them we recommend to read this guide.
  • Avoid to use DIGITAL7 pin when working with the Expansion Board. This pin is used for setting the XBee into sleep mode.
  • Avoid to use DIGITAL6 pin when working with the Expansion Board. This pin is used as power supply for the Expansion Board.
  • Incompatibility with Sensor Boards:
    • Agriculture PRO v30: Incompatible with Watermark and solar radiation sensors
    • Events v30: Incompatible with interruption shift register
    • Smart Water v30: DIGITAL7 incompatible with conductivity sensor
    • Smart Water Ions v30: Incompatible with ADC conversion (sensors cannot be read if the Expansion Board is in use)
    • Gases PRO v30: Incompatible with SOCKET_2 and SOCKET_3
    • Cities PRO v30: Incompatible with SOCKET_3. I2C bus can be used. No gas sensor can be used.