Skip to content
Romain Jacob edited this page Apr 7, 2020 · 17 revisions

Baloo

Baloo is a design framework for network stacks based on Synchronous Transmissions (i.e., using a flooding protocol like Glossy as underlying communication primitive). Baloo is flexible enough to implement a wide variety of network layer protocols, while introducing only limited memory and energy overhead.

Using Baloo, one can relatively easily re-implement network layer protocols like the Low-power Wireless Bus, Crystal, and Sleeping Beauty.

The general concept of Baloo and its working principles have been presented in the following paper.

Synchronous Transmissions Made Easy: Design Your Network Stack with Baloo
Romain Jacob, Jonas Bächli, Reto Da Forno, Lothar Thiele
Proceedings of the 2019 International Conference on Embedded Wireless Systems and Networks (EWSN) 2019.
[ Paper ] [ Presentation ]

Online presence

This wiki contains the detailed documentation of all Baloo mechanics and features, how they are implemented and how to use them for your own designs. In addition, the Baloo source files contain detailed Doxygen comments. The Doxygen documentation can be generated using the following commands

cd <path-to-baloo-directory>/tools/doxygen/
make html

This generates the complete documentation for Contiki-NG. Documentation of Baloo files can be directly accessed at /tools/doxygen/html/group__gmw.html

Unless explicitly stated otherwise, all Baloo sources are distributed under the terms of the 3-clause BSD license. This license gives everyone the right to use and distribute the code, either in binary or source code format, as long as the copyright license is retained in the source code.

This repository contains an implementation of Baloo using the Contiki-NG operating system. Minor modifications of the original OS code where made. See the list of modified files (and rational for changes, whenever appropriate).

Getting started

Programming with Baloo

Advanced features

Functionalities

Scheduling

Radio settings

Platform, primitives, and network stacks

The richness of the Baloo framework lies in the variety of embedded platforms and synchronous transmission primitives supported. Using those, a range of network stacks have been implemented and made available.

Baloo is meant to live and expend! If you are interested in adding your own platforms, primitives, or stacks, don't hesitate to get in touch!

Supported Platforms

Supported Primitives

Available network stacks

Future developments