FruityMesh v1.0 - connection-based open source BLE Mesh now available on Github

FruityMesh v1.0 - connection-based open source BLE Mesh now available on Github

Hello everyone,

5 years ago, FruityMesh was open sourced as the first connection-based Bluetooth Low Energy mesh network based on the nRF52 series. Now, after constant development at our Mway headquarter in Stuttgart, we are proud to announce FruityMesh 1.0 with a lot more features. The promise is still the same as it was 5 years ago.

Plug in any number of nodes, and they will automatically build a mesh without user interaction.

We have prepared a short list of the main features why you should use FruityMesh. For a more complete list of features have a look at:

https://www.bluerange.io/docs/fruitymesh/Features.html

Mesh Features

  • Automatic meshing and self-healing capabilities with the FruityMesh Algorithm
  • Low battery consumption allows use-cases with all nodes running on batteries
  • High throughput of around 8 kbyte/s (64 kbit/s)
  • Provisioning (Enrollment) of nodes both point-to-point or over the mesh by using a smartphone or gateway
  • Always-On Proxy feature for connecting to the mesh with devices such as a smartphone using our MeshAccessModule
  • 128-bit AES Encrypted mesh and smartphone connections by default
  • Integrated message queuing, automatic splitting of large messages
  • Integrated quality of service with multiple message priorities
  • Successfully used in production in a wide range of devices from lights to beacons to HVAC components

Gateway Features

  • UART Terminal (additional USB support upcoming) for quick gateway development
  • Status reporting, debug logger, reboot reason logging already integrated
  • Automatic mesh wide time synchronisation (also possible to set time using a smartphone)

Development Features

  • Full-fledged Simulator allows you to do most development on your development machine without hardware
  • Flexible testing suite in the simulator using the Google Test framework
  • Segger RTT and UART terminal built-in
  • Easy development through modular approach
  • Flexible featuresets to support multiple targets with the same codebase with runtime board configurations
  • Many additional features such as an integrated small file system, runtime error logger, ...
  • CMake build system
  • Lots of documentation to get you started quickly

Find FruityMesh on GitHub
The latest source code and documentation is available here:

https://github.com/mwaylabs/fruitymesh

Don't hesitate to post questions :-)

The Concept of FruityMesh
For those of you who are still reading, here's a short explanation about the basic FruityMesh concept:

FruityMesh can be seen as an application, and it sits on top of the BLE stack. It is 100% compatible with other Bluetooth Low Energy devices or chipsets. It only requires Bluetooth 4.2 capabilities but can also make use of some newer BLE 5 features. All platform dependent code is implemented in our FruityHal. This makes it different from other implementations that are highly dependent on the chipset that they have been written for.

This is a very basic graphic of the way FruityMesh works in conjunction with the rest of the BLE stack.

Our Simulator: CherrySim
Our simulator makes use of our HAL by abstracting all the chipset specific functionality with simulation methods. It compiles almost all FruityMesh firmware code (excluding e.g. some drivers) into a singly x86 binary. This binary is then able to do a time step based simulation of any number of nodes you like. We have integrated the Google Test framework which means that you can do most of the development and testing right on your development machine.

And it is fast, really fast.

Setting up 50 nodes and simulating them for one minute takes around 5-10 seconds. And the great thing is, you can write tests against all of your custom logic and debug issues easily. The simulator will reproducibly run the exact same simulation if the same random seed is given, which is great for debugging an issue that might only happen in a mesh network with multiple nodes.

Open Source
We have precompiled binaries and have lots of documentation available to get you started as quickly as possible with all the instructions on how to get your development machine ready. We're happy to get questions, feedback, pull requests and more on our GitHub repository:

https://github.com/mwaylabs/fruitymesh

About Us

Take a look at our commercial BlueRange offering at http://bluerange.io to see what is possible with FruityMesh. We offer functionality such as asset tracking, firmware updates for mesh firmware and attached 3rd party controllers, Modbus functionality, lighting and sensor support, a fully featured gateway and a whole platform to back it up.

See you there,
Marius