Short-range no-coordinator mesh

I am looking to build a small, mobile, mesh network and so far have either been overwhelmed or underwhelmed by what I have found for protocols and devices. I was hoping someone with more experience could offer guidance.

My requirements

  • Signal must reach at least 100 feet between each node

  • Nodes must be able to broadcast messages to all other nodes in the network (direct communication is NOT needed).

  • Nodes must be able to join in any order and not be dependent on specific other nodes (as in no-coordinator).

  • Simple enough for some one who is a fledgling hobbyist, but an experienced programmer.

  • Existing API.

Arduino support is a plus as that is what I am most familiar with at this stage, but that can change if it needs to.

What I’ve ruled out (open to counterargument)

  • XBee/ZigBee - Coordinator required

  • XBee/DigiMesh - Plenty of documentation on configuration, little on usage especially with Arduino

  • RadioBlock - Can’t actually find where this is being sold.

  • Pinoccio - Awesome product using LWM for mesh, but the addition of WiFi is undesired and overkill.

  • wistick - Not out yet :frowning:

At this stage, I am gunning simply for a proof of concept. I am willing to play around with a few technologies before I settle on the right one for the job.

I am currently eying the Synapse RF266PC1, though I wonder if it is overpowered for what I need. Probably still worth checking out. SNAP seems promising.

I’ve used and do recommend using 802.15.4 modules (XBee is simplest) - with all nodes set as end points, no router, no association required, enable MAC ACK, use only 64 bit addresses. These are just a few AT commands to setup the config.

Any node can unicast to any other in-range node using 64 bit addresses given these addresses are known at design time, or are discovered at run time as below via broadcasts.

Any node can broadcast to all in-range nodes (no MAC ACK)

A node can do a periodic broadcast of a special user data message to announce “I’m here” so other nodes can discover it and others and learn what their MAC addresses are.

I’ve also had immobile nodes do relays to extend range - to like a mile, with good antennas and XBee Pros. The routes are static; not a mesh routing mess.