FruityMesh open sourced - Connection based meshing that will run on batteries

image description

Hello everybody,

I have just published the sourcecode of FruityMesh on GitHub. It is a meshing algorithm that uses standard BLE connections. Plug in as many nodes as you like and they will automatically build a mesh without any user interaction. You can then send data through the mesh as you please.

Find FruityMesh on GitHub

The latest sourcecode is available here: https://github.com/mwaylabs/fruitymesh

Also have a look at the documentation that is found in the wiki: https://github.com/mwaylabs/fruitymesh/wiki

Simulation

The algorithm has been simulated in a custom simulation that is part of the release: simulation

Terminal

The release includes an interactive terminal that is used to test and to control the mesh. The terminal supports debug logging with log-tags.

terminal

Features

The algorithm will automatically create a mesh network with all your nodes, it has self-healing capabilities, has a modular structure for adding additional functionality and supports automatic message-splitting. A few basic modules are provided for advertising, scanning and status reporting.

The algorithm is built around the S130 SoftDevice and uses concurrent connections to build a spanning-tree. It is written in C++ to facilitate development.

OpenSource

FruityMesh has been made open source because everybody should be able to use it and help to enhance it. It is still in its early stages but should be extended to provide a solid platform for all applications that benefit from a BLE mesh network.

Tutorial(s)

There are now tutorial(s) available that should quickly get you started with development.

Have a look and tell what you think :-)

Thanks, Marius

Parents
  • Hi, most of the information is available on GitHub, for battery consumption, you can have a look here: github.com/.../Battery-Consumption There's some information about memory consumption in the wiki as well. In short, the binary size is currently very big with around 100 kb in debug mode and the ram consumption is a little too high to work on the 16kb chipset. With some tweaking in the config, the binary size can be as low as 40kb depending on the number of modules activated and it should be possible to use it with 16kb devices. But there's more optimization work needed here.

Comment
  • Hi, most of the information is available on GitHub, for battery consumption, you can have a look here: github.com/.../Battery-Consumption There's some information about memory consumption in the wiki as well. In short, the binary size is currently very big with around 100 kb in debug mode and the ram consumption is a little too high to work on the 16kb chipset. With some tweaking in the config, the binary size can be as low as 40kb depending on the number of modules activated and it should be possible to use it with 16kb devices. But there's more optimization work needed here.

Children
No Data