Bluenet is the firmware on the Crownstone power outlets. It allows you to build smart home apps using presence and proximity of people with smartphones and wearables.
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
conf Change default mesh channel to 37, as the signal strenght seems bette… Jun 21, 2018
docs update baudrate Nov 14, 2018
include Made code compilable again for new compiler. Dec 13, 2018
release Add release config for crownstone_2.1.4 Nov 5, 2018
src Merge branch 'master' of Dec 13, 2018
test Switch works 90% of the time. Apr 5, 2018
util/memory Clean up the scripts a bit. Feb 21, 2017
.gitignore Ignore docs/html Aug 30, 2017
CHANGES Version bump to 2.1.4 Nov 5, 2018
LICENSE-APACHE Update License texts Oct 25, 2017
LICENSE-LGPL Update License texts Oct 25, 2017
LICENSE-MIT Update License texts Oct 25, 2017
LICENSE-NORDIC Update License texts Oct 25, 2017
Makefile Switch works 90% of the time. Apr 5, 2018 fixed link to python lib Oct 3, 2018
Rakefile Travis: BLUENET_BUILD_DIR/test Feb 27, 2017
VERSION Version bump to 2.1.4 Nov 5, 2018
doxygen.config merged Aug 10, 2017
gulpfile.js merged Aug 10, 2017


License: LGPL v3 License: MIT License Build Status

Bluenet is code running on Crownstone compatible devices such as electronic connectors, electronic EU plugs and grid-powered beacons, GuideStones. Each Crownstone or GuideStone is a node in a network that uses signal strength for indoor localization of smartphones and wearables.


  • Made for indoor localization.
  • Includes a mesh network.
  • Power measuring.
  • iBeacon compliant.
  • Configurable over the air.


To use a device with bluenet code on it, you only need to know the Bluetooth protocol that bluenet uses. You can find the protocol definitions in the protocol document.


We also provide libraries which implements this protocol (so if you build a smartphone app you will not be bogged down into Bluetooth Low Energy details):


To build the bluenet code yourself, follow the installation instructions.


The Crownstones and GuideStones come with a bootloader, which enables over the air updates. This bootloader is a small adaptation of the one provided by Nordic. The build instructions are described on the bootloader repository.


You can best communicate bugs and feature requests via the issue tracker. For all other questions, please, feel free to ask us anything on our website.


The different other software tools and online resources have been mentioned above, but here is a short list:

Resource Description
Bluenet firmware This repository, open-source firmware (C++) for smart plugs
Bluenet documentation Documentation of the firmware (doxygen-based)
Android library Android library (Java)
iOS library iOS library (Swift)
Bootloader Bootloader, fork of Nordic's bootloader for the smart plugs
Crownstone website Website and shop for the Crownstone plugs
Crownstone Android app Android app on the Play Store
Crownstone iOS app iOS app on the Apple Store
Crownstone app source Source code for the cross-platform app (React Native)

Commercial use

This code is used in a commercial product, the Crownstone. Our intellectual property exists on two levels:

  • The hardware is patented under Dutch law with the main aim to protect you as a developer against fraudulent claims.
  • The software in these repositories allow developers to build a complete indoor localization system. We do have pro-versions of e.g. the basic indoor localization library to be used by other companies under a commercial license.

Summarized, as a developer you can build your own services on top of the Crownstone stack. Benefit from our software development as much as you want! For PR reasons, it would be much appreciated to if you mention us of course!

Commercial activities

Crownstone sells the Crownstone products through our own channels. Buying our products is the best way in which you can support open-source projects like these!

Crownstone also integrates their hardware technology in third-party products, ranging from lights to desks.


Bart van Vliet

Dominik Egger

Anne van Rossum

Alex de Mulder

Marc Hulscher

Christian Haas

Peet van Tooren


Copyrights belong to the team of Crownstone B.V. and are provided under an noncontagious open-source license:

  • Authors: Dominik Egger, Bart van Vliet, Anne van Rossum, Marc Hulscher, Peet van Tooren, Alex de Mulder, Christian Haas
  • Date: 27 Jan. 2014
  • Triple-licensed: LGPL v3+, Apache, MIT
  • Crownstone B.V.,
  • Rotterdam, The Netherlands

This code is built on the shoulders of giants. Our special thanks go to Christopher Mason for the initial C++ code base at and Trond Einar Snekvik, department of Engineering Cybernetics at Norwegian University of Science and Technology (and Nordic Semiconductor) for the meshing functionality (OpenMesh) and Nordic Semiconductor for the beautiful SoftDevices they have developed. The code of Mason falls under the same triple license. The code by Nordic falls under the license from Nordic (and that code is not part of this repository).