Welcome to EnviroDIY, a community for do-it-yourself environmental science and monitoring. EnviroDIY is part of WikiWatershed, a web toolkit designed to help citizens, conservation practitioners, municipal decision-makers, researchers, educators, and students advance knowledge and stewardship of fresh water. New to EnviroDIY? Start here

XBee Networks of Mayfly Loggers – 900Mhz

Home Forums Mayfly Data Logger XBee Networks of Mayfly Loggers – 900Mhz

This topic contains 6 replies, has 3 voices, and was last updated by  Shannon Hicks 1 month, 2 weeks ago.

  • Author
  • #12570


    Hi everyone,

    I thought that I would start a new thread in case anyone is interested in using their Mayfly loggers in locations where there is not reliable cell service or in areas of dense vegetation.

    This past summer we (Dartmouth, Plymouth State University) have been working with the US Forest Service to install a sensor network to monitor soil and wood moisture in dead and downed wood at Hubbard Brook research station in the White Mountains of New Hampshire. Ultimately we had 60 or so sensors hooked up to 3 Mayflys in boxes with Din Rails for wiring and large lead-acid batteries for power. We were under tree canopy so solar power wasn’t a particularly good option for us. Some photos attached.

    This academic year we’ll be working on expanding our network and hope to utilize the XBee socket to construct a logger network, thereby expanding our collection range. This will definitely come into play when we install similar sensor networks in northern New Hampshire – we’d like to ultimately send signal from a master node to a receiver at our research station where it can be uploaded online for real-time checks of sensor functionality.

    My sense is that the current community has predominantly utilizes XBee devices that access mobile networks. Due to vegetation, distance, and slope, my thinking is to go the 900mhz route with an RPSMA antenna. I wonder if anyone has had experience utilizing these types of Bee modules before and/or how compatible they are with the Mayfly. I am guessing that they would work just fine – power draw *might be an issue, but I guess I’ll cross that bridge later.

    Any information or thoughts appreciated and I’ll provide updates as we continue to make progress.


  • #12574


    Hi Dave @dartmouthwsn
    Yes I’ve been thinking about it, and I have used the XBP900s before.
    Do you see that it would gateway to a) building with internet and power, or b) would it be a gateway to a cellular service?

    I just did a long post about this – but then when I completed I have been logged out somehow the post was lost. ouch.
    Will try and reconstruct the post but got to get some other things done.

  • #12575

    Shannon Hicks

    We have successfully used dozens of Xbee Pro 900HP radios with Mayfly boards for our logger network here at the Stroud Center and at other locations. You can program the modules to be in “pin-sleep mode”, meaning you can toggle the sleep mode by driving a pin high or low. You can also use cyclic sleep and other “smart” sleep methods if you want to implement a mesh network. In our locations, we’re fine with just a central coordinator that stays constantly powered and connected to an ethernet jack. Whatever radio traffic it hears from the sleeping logger nodes, it relays to our online database. I wrote about it earlier this year in another thread: https://www.envirodiy.org/topic/connecting-to-the-internet/

    Nowadays you can buy dedicated base station modules that do the same thing as my homemade version, but almost 6 years ago when I first built it, there were very few reliable and affordable options.

    The 900MHZ Xbee radios have a much better range in our forested terrain than the 2.4GHZ radios. In open and relatively flat areas, I’ve gotten almost a mile of distance between the logger and the base station. Your results will vary depending on the gain and placement of your antennas, and probably more importantly the topography and forest density. In terms of battery usage, they are very efficient when compared to the cellular modules we use in the hundreds of areas where we don’t have a base station. The radios sleep constantly just like the loggers, and when it’s time for a transmission, they are powered for a fraction of a second and then return to sleep.

    I use both the RPSMA modules as well as the U.FL models, depending on what sort of enclosure I’m mounting the Mayfly in.
    I use weatherproof bulkhead RPSMA fittings that mount the antenna on the enclosure, and sometimes they are a continuous, 1-piece design with a u.fl connector on the inside end. It also depends on how much physical abuse the radio module is going to see. The RPSMA fittings are much more appropriate if you’ll be moving the board or cables around frequently, since the u.fl connectors are somewhat fragile and finicky, and will fail quickly if you make-break the connection too many times.

  • #12577


    Wow – nice Shannon,
    I was wondering @shicks do you have any references to the XBP900 driver code on the mayfly. Since you’ve put the infrastructure in place be nice to have a starting point :). Thanks for the reference to the Uno. Interesting what you can do on an Uno.
    Same observation about 2.4GHz in a forest – the 2.4G gets absorbed by water – ie leaves.
    I used two XBP900 in a point-2-multipoint with an Lantronix XPORT AR, that delivered the UART serial data to a destination port – that was then processed into a mysql record.

    The wire protocol used a TinyOS packet structure which could support a mesh. For a mesh the power usage and network maintenance considerations get more complicated.
    The multi-point was a “gateway” that was at buildings that had power and internet access. So from the building antenna position the Line Of Sight for a standard XBP-900HP is about 9miles in a radius from that point – and can support 16bit addressing (65K) end point nodes.
    In one location there was a slight ground hump in the way and it was on the edge of the range. I made sure the RSSI was part of the reported signal to be able to monitor it.
    There are websites out there that can analyze elevation profile between two points to determine if there is an LOS.

    Now-days I’m looking at a PocketBeagle with a Ethernet module and POE splitter

    • #12611



      This is very helpful! We’ve ordered a few XBee PRO S3B 900 modules but are having trouble getting them to communicate via the Mayfly script.

      One thing we think may be a problem is whether or not we chose the ‘programmable’ version of the modules. I noticed that Scott had an issue with this in another post from earlier in the Spring, and that he just purchased non-programmable XBees and the situation resolved itself. I’m willing to just purchase those if that makes the difference, but figured it was worthwhile to ask you to see which versions of the 900 modules you had been using successfully.

      One thing we’re also not convinced we are doing correctly is adding the proper libraries to the simple sketch you posted before (here). I don’t see any libraries in that and think that also may be an issue.

      Do you have any suggestions?


      • #12616

        Shannon Hicks

        That simple Xbee serial printing example doesn’t require any additional libraries installed in you IDE or called by your sketch. All it is doing is printing text to the 2 separate hardware serial ports on the Mayfly.

        I have never used the programmable versions of the Xbee 900HP. There are infinite combinations of ways to configure an Xbee module and its network, and it gets complicated really fast once you start changing things and adding features. So when I set up my network years ago, I kept it really simple. You first have to program the modules with the X-CTU software before they can be used. I keep them in the same basic configuration that they’re shipped in. Transparent, AT mode, 9600 baud, but I set them as end nodes and not coordinators (my base station is set as the coordinator and never sleeps). The end nodes are set to pin-sleep mode so that the Mayfly wakes them when it’s time to send data. So the Mayfly just drives a pin low (Xbee modules sleep when pin high, and wake when pin low) to wake the module, send it a line of serial text at 9600bd, and the Xbee transmits that line to the coordinator (who’s always awake), and then the Mayfly puts the Xbee back to sleep and then the Mayfly sleeps. I found that sending serial data from the Mayfly to the Xbee module using anything faster than 9600bd will sometimes throw a corrupted character in there occasionally, which messes up the receiving sketch on the coordinator’s UnoEthernet basestation. So it’s best to keep serial communication between the Mayfly and bee modules at the default 9600bd.

  • #12583


    Had this come through –
    https://www.crowdsupply.com/silicognition/wesp32 – POE ESP supposedly first delivery mid-Dec
    https://github.com/espressif/arduino-esp32 No idea how well an Arduino XBP900 interface would work with this.

    I personally have found PoE 802.15af has worked very well for “borrowing” some space on some other entities building.
    It has meant a long drill for going through an insulated wall, and physical access to the network somewhere in the building. Building maintenance is used to being helpful. It has been easier than IT WiFi access that is nervous about network breaches, and changing passwords.

You must be logged in to reply to this topic.