Skip to content
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.
C++ C CMake Shell Python HTML Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Oct 18, 2019
config upgrade PresenceHandler to use background info and update its list wh… Nov 14, 2019
docs Changed name of bitmask with active presence timeout. Jan 21, 2020
patch Implemented error handling for fds_init(). Oct 14, 2019
source Don't use non existing dimmer enable pin for older boards. Jan 22, 2020



Documentation Build Status Forum Twitter

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.


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


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.


A short list for a quick overview:

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 (Kotlin)
iOS library iOS library (Swift)
Python library Python library
Crownstone website Website and shop for the Crownstone products
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!

Help us

There are many ways to help us!

  • 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. Ask us for our expertise!
  • If you want to contribute yourself, please do! Fork this repository, work on your favorite feature, and issue a pull request!
  • If you appreciate open-source and privacy-oriented hardware projects, but you're not into this type of tech or product, feel free to help by starring ⭐️ our repository!


Bart van Vliet

Dominik Egger

Anne van Rossum

Alex de Mulder

Marc Hulscher

Christian Haas

Peet van Tooren

Arend de Jonge

Naveen Chakravarthy

Aniket Samant


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

  • Authors: Dominik Egger, Bart van Vliet, Anne van Rossum, Marc Hulscher, Peet van Tooren, Alex de Mulder, Christian Haas, Naveen Chakravarthy, Aniket Samant
  • Creation date: 27 Jan. 2014
  • Triple-licensed: LGPL v3+, Apache, MIT
  • Crownstone B.V.,
  • Stationsplein 45 d1.118, 3013 AK 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).

License: LGPL v3 License: MIT License: Apache 2.0

You can’t perform that action at this time.