Mari is a lightweight wireless connectivity solution designed for dense IoT networks, with a focus on supporting real-time interactions and fast over-the-air (OTA) updates.
The driving use case for the design of Mari is the OpenSwarm Testbed of 1,000 DotBots. Mari is suitable for any dense IoT deployment requiring low-latency communication.
- TSCH over BLE: Implements Time-Synchronized Channel Hopping (TSCH) over Bluetooth Low Energy (BLE) 2 Mbps PHY
- Multi-Gateway Architecture: Allows scaling the network by adding more gateways
- Non-Coordinated Gateways: Gateways are independent, so the infrastructure setup is very simple
- Fast Handovers: Enables quick transitions between gateways as nodes move
- Low-Power Operation: Designed for energy-efficient operation in battery-powered devices (BLE radio)
- Real-Time Communication: Achieves 100-150 ms average latency with 100 nodes per gateway
- Reasonable Throughput for OTAP: About 10 Kb/s downlink
- Quick Network Join: Best and worst -case join time of 150 ms and 6 seconds, respectively
- Dense Network Support: Scales for networks with hundreds to thousands of nodes
mari/
├── app/ # Example applications and tests
│ ├── 03app_gateway/ # Gateway implementation example
│ ├── 03app_node/ # Node implementation example
│ └── ... # Various test applications
├── drv/ # Hardware drivers
├── mari/ # Core protocol implementation
└── nRF/ # Nordic Semiconductor SDK files
Gateway initialization:
mari_init(MARI_GATEWAY, MARI_NET_ID_DEFAULT, schedule, event_callback);Node initialization:
mari_init(MARI_NODE, MARI_NET_ID_PATTERN_ANY, schedule, event_callback);Mari has been validated with the following Nordic Semiconductor chips:
- nRF52833
- nRF52840
- nRF5340
The project includes configuration files for:
- Segger Embedded Studio (
.emProjectfiles) - Code formatting (
.clang-formatfile, please useclang-formatversion 15) - Git hooks (
.pre-commit-config.yaml)
1- To run Mari network on your computer follow the instructions at : https://github.com/DotBots/mari/wiki/Getting-started#running-mari-network-on-your-computer
This project is licensed under the terms included in the LICENSE file.
- Fedrecheski et al., "Mari: Connecting Large Scale Robot Swarms over BLE using TSCH with Multiple Independent Gateways", CrystalFreeIoT Workshop 2025 [Forthcoming]
This project has received funding from the EU's Horizon Europe Framework Programme under Grant Agreement No. 101093046.