Bluetooth peer-to-peer mesh networking for Android
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
udapp-demo Restored demo app sources to repository. May 10, 2018
LICENSE.txt Underdark license. Jan 10, 2016 Update Jan 10, 2016

Underdark Android

Peer-to-peer networking library for Android, with Wi-Fi and Bluetooth support.

This repository contains library sources, examples of using it and also short "Getting Started" guide below.


Underdark Android is published under the Underdark License, which is modified Apache 2.0 license with added requirement that applications that use the library must add to their app store description the following line: "Mesh networking by"

Demo apps

Please note that for Bluetooth connection to work on Android, one of the phones must have Android 5.x AND support Bluetooth LE Peripheral mode (have "yes" in the last column here:

Video demo:


You can contact me via Telegram at or by email at


First, add underdark repository in your root or app's build.gradle:

repositories {
    maven {
        url ''

Next, add Underdark library dependency in your apps' build.gradle:

dependencies {
    compile 'io.underdark:underdark:1.+'

Getting started

Underdark API is very simple — it consists of entry class Underdark with method configureTransport() — it allows you to create Transport instance with desired parameters (like network interface type) and set listener for callbacks.

Full documentation resides in javadoc jar, starting from io.underdark.Underdark class. If you're using Android Studio or IntelliJ IDEA, you can automatically download it like that:

apply plugin: 'idea'

idea {
    module {
        downloadJavadoc = true