diff --git a/.idea/misc.xml b/.idea/misc.xml
index 39638799269d0193201b39e5276d8236659f97fe..75dac502959ec4f6e5232282499067f85aa716f5 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -24,7 +24,7 @@
       </value>
     </option>
   </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/build/classes" />
   </component>
   <component name="ProjectType">
diff --git a/common/src/main/java/de/tudresden/inf/st/sensorsharing/common/Constants.java b/common/src/main/java/de/tudresden/inf/st/sensorsharing/common/Constants.java
index 6387ae001403b0b9d9dfb4e850050ab9a5151f32..d816dd8cab25ce198796505d6aa397b8066557df 100644
--- a/common/src/main/java/de/tudresden/inf/st/sensorsharing/common/Constants.java
+++ b/common/src/main/java/de/tudresden/inf/st/sensorsharing/common/Constants.java
@@ -1,14 +1,24 @@
 package de.tudresden.inf.st.sensorsharing.common;
 
+import java.nio.charset.Charset;
+
 public class Constants {
 
     public static final String BASE_KEY = "/wearable/sensors/";
     public static final int BASE_KEY_LENGTH = BASE_KEY.length();
+
     public static final String SUB_KEY_BRIGHTNESS = "brightness";
     public static final String KEY_BRIGHTNESS = BASE_KEY + SUB_KEY_BRIGHTNESS;
+
     public static final String SUB_KEY_LINEAR_ACCELERATION = "acceleration";
     public static final String KEY_LINEAR_ACCELERATION = BASE_KEY + SUB_KEY_LINEAR_ACCELERATION;
+
     public static final String SUB_KEY_ROTATION_VECTOR = "rotation";
     public static final String KEY_ROTATION_VECTOR = BASE_KEY + SUB_KEY_ROTATION_VECTOR;
 
+    public static final String SUB_KEY_NAME = "name";
+    public static final String KEY_NAME = BASE_KEY + SUB_KEY_NAME;
+
+    public static final Charset MQTT_CHARSET = Charset.forName("UTF-8");
+
 }
diff --git a/mobile/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java b/mobile/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java
index 0e8a96152c1fadfc6ebbbe2c1e8514fc6f8719d7..a1e40f929357246e2fde0e2062cd5aa3ac5245ae 100644
--- a/mobile/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java
+++ b/mobile/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java
@@ -5,6 +5,7 @@ import android.hardware.Sensor;
 import android.hardware.SensorEvent;
 import android.hardware.SensorEventListener;
 import android.hardware.SensorManager;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.support.annotation.NonNull;
@@ -37,8 +38,10 @@ import java.util.Locale;
 
 import static de.tudresden.inf.st.sensorsharing.common.Constants.BASE_KEY;
 import static de.tudresden.inf.st.sensorsharing.common.Constants.BASE_KEY_LENGTH;
+import static de.tudresden.inf.st.sensorsharing.common.Constants.MQTT_CHARSET;
 import static de.tudresden.inf.st.sensorsharing.common.Constants.SUB_KEY_BRIGHTNESS;
 import static de.tudresden.inf.st.sensorsharing.common.Constants.SUB_KEY_LINEAR_ACCELERATION;
+import static de.tudresden.inf.st.sensorsharing.common.Constants.SUB_KEY_NAME;
 import static de.tudresden.inf.st.sensorsharing.common.Constants.SUB_KEY_ROTATION_VECTOR;
 
 public class MainActivity extends AppCompatActivity implements
@@ -52,7 +55,6 @@ public class MainActivity extends AppCompatActivity implements
     private static final String MQTT_TOPIC_POLAR_ROTATION = MQTT_TOPIC_POLAR_BASE + "rotation";
     private static final String MQTT_TOPIC_SAMSUNG = "sensors/samsung/brightness";
     private static final int MQTT_DEFAULT_QOS = 0;
-    private static final Charset MQTT_CHARSET = Charset.forName("UTF-8");
     /** Delay in milliseconds after which the wearable is assumed to be offline */
     public static final int DELAY_WEARABLE_ASSUMED_OFFLINE = 30000;
 
@@ -72,6 +74,8 @@ public class MainActivity extends AppCompatActivity implements
 
         System.setProperty("log.tag." + TAG, "INFO");
 
+        setName();
+
         // setup sensor manager and light sensor
         mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
         if (mSensorManager == null) {
@@ -99,6 +103,11 @@ public class MainActivity extends AppCompatActivity implements
         handler.post(runnable);
     }
 
+    private void setName() {
+        TextView ownName = findViewById(R.id.value_own_name);
+        ownName.setText(Build.MODEL);
+    }
+
     public void connectMqtt(View view) {
         // disconnect if there is a connected client
         if (mqttAndroidClient != null && mqttAndroidClient.isConnected()) {
@@ -203,7 +212,7 @@ public class MainActivity extends AppCompatActivity implements
             final Date contactTime = new Date();
             lastMessageFromWearable = contactTime.getTime();
             final String updatedValue;
-            String topic;
+            String topic = null;
             final TextView textViewToUpdate;
 
             switch (path.substring(BASE_KEY_LENGTH)) {
@@ -229,8 +238,13 @@ public class MainActivity extends AppCompatActivity implements
                     textViewToUpdate = findViewById(R.id.value_wear_rotation);
                     topic = MQTT_TOPIC_POLAR_ROTATION;
                     break;
+                case SUB_KEY_NAME:
+                    updatedValue = new String(messageEvent.getData(), MQTT_CHARSET);
+                    textViewToUpdate = findViewById(R.id.value_wear_name);
+                    break;
                 default:
-                    throw new IllegalArgumentException("Unknown path: " + path);
+                    Log.w(TAG, "Unknown path: " + path);
+                    return;
             }
             runOnUiThread(new Runnable() {
                 @Override
@@ -242,7 +256,9 @@ public class MainActivity extends AppCompatActivity implements
 
                 }
             });
-            sendUpdateOfWearable(topic, updatedValue);
+            if (topic != null) {
+                sendUpdateOfWearable(topic, updatedValue);
+            }
         }
     }
 
diff --git a/mobile/src/main/res/layout/activity_main.xml b/mobile/src/main/res/layout/activity_main.xml
index a3c2f712c9a9ab7d6bc6326e8722754eb7478d0a..98a00dc4d9b419c6427b6c54c69f846bf271e97a 100644
--- a/mobile/src/main/res/layout/activity_main.xml
+++ b/mobile/src/main/res/layout/activity_main.xml
@@ -6,6 +6,48 @@
     android:layout_height="match_parent"
     tools:context="de.tudresden.inf.st.sensorsharing.MainActivity">
 
+    <TextView
+        android:id="@+id/label_wear_name"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="16dp"
+        android:layout_marginTop="8dp"
+        android:text="@string/text_name"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/checkBox" />
+
+    <TextView
+        android:id="@+id/value_wear_name"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="8dp"
+        android:layout_marginTop="8dp"
+        android:text="@android:string/unknownName"
+        app:layout_constraintStart_toEndOf="@+id/label_wear_name"
+        app:layout_constraintTop_toBottomOf="@+id/checkBox" />
+
+    <TextView
+        android:id="@+id/label_own_name"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="8dp"
+        android:layout_marginTop="8dp"
+        android:text="@string/text_name"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/separator_own" />
+
+    <TextView
+        android:id="@+id/value_own_name"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="8dp"
+        android:layout_marginTop="8dp"
+        android:text="@android:string/unknownName"
+        app:layout_constraintStart_toEndOf="@+id/label_own_name"
+        app:layout_constraintTop_toBottomOf="@+id/separator_own" />
+
     <TextView
         android:id="@+id/separator_own"
         style="?android:attr/listSeparatorTextViewStyle"
@@ -65,7 +107,7 @@
         android:text="@string/text_own_brightness"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/separator_own" />
+        app:layout_constraintTop_toBottomOf="@+id/label_own_name" />
 
     <TextView
         android:id="@+id/label_wear_brightness"
@@ -75,7 +117,7 @@
         android:layout_marginTop="8dp"
         android:text="@string/text_wear_brightness"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/checkBox" />
+        app:layout_constraintTop_toBottomOf="@+id/label_wear_name" />
 
     <TextView
         android:id="@+id/label_wear_acceleration"
@@ -105,7 +147,7 @@
         android:layout_marginTop="8dp"
         android:text="@android:string/unknownName"
         app:layout_constraintStart_toEndOf="@+id/label_own_brightness"
-        app:layout_constraintTop_toBottomOf="@+id/separator_own" />
+        app:layout_constraintTop_toBottomOf="@+id/label_own_name" />
 
     <TextView
         android:id="@+id/value_wear_brightness"
@@ -115,7 +157,7 @@
         android:layout_marginTop="8dp"
         android:text="@android:string/unknownName"
         app:layout_constraintStart_toEndOf="@+id/label_wear_brightness"
-        app:layout_constraintTop_toBottomOf="@+id/checkBox" />
+        app:layout_constraintTop_toBottomOf="@+id/label_wear_name" />
 
     <TextView
         android:id="@+id/value_wear_acceleration"
diff --git a/mobile/src/main/res/values/strings.xml b/mobile/src/main/res/values/strings.xml
index 081b270ba0d08d638dcdedfe2afa2946397689cd..96cdfc471d6653babebdd44d33edc9898f1ea59c 100644
--- a/mobile/src/main/res/values/strings.xml
+++ b/mobile/src/main/res/values/strings.xml
@@ -1,5 +1,6 @@
 <resources>
     <string name="app_name">SensorSharing</string>
+    <string name="text_name">Name</string>
     <string name="text_own_brightness">Own Brightness</string>
     <string name="text_wear_brightness">Wear Brightness</string>
     <string name="text_wear_acceleration">Wear Acceleration</string>
diff --git a/wear/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java b/wear/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java
index ec74faf0a94f15d88242507e1d328b7ff138466a..005e9cccf2cf2fb994ab516e298213e371a98ab4 100644
--- a/wear/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java
+++ b/wear/src/main/java/de/tudresden/inf/st/sensorsharing/MainActivity.java
@@ -5,6 +5,7 @@ import android.hardware.Sensor;
 import android.hardware.SensorEvent;
 import android.hardware.SensorEventListener;
 import android.hardware.SensorManager;
+import android.os.Build;
 import android.os.Bundle;
 import android.support.wearable.activity.WearableActivity;
 import android.util.Log;
@@ -24,7 +25,9 @@ import java.util.Locale;
 
 import static de.tudresden.inf.st.sensorsharing.common.Constants.KEY_BRIGHTNESS;
 import static de.tudresden.inf.st.sensorsharing.common.Constants.KEY_LINEAR_ACCELERATION;
+import static de.tudresden.inf.st.sensorsharing.common.Constants.KEY_NAME;
 import static de.tudresden.inf.st.sensorsharing.common.Constants.KEY_ROTATION_VECTOR;
+import static de.tudresden.inf.st.sensorsharing.common.Constants.MQTT_CHARSET;
 
 public class MainActivity extends WearableActivity implements SensorEventListener {
 
@@ -37,6 +40,7 @@ public class MainActivity extends WearableActivity implements SensorEventListene
     private float[] mLinearAccelerationValues;
     private Sensor mRotationVector;
     private float[] mRotationVectorValues;
+    private boolean sendName = true;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -132,6 +136,11 @@ public class MainActivity extends WearableActivity implements SensorEventListene
                 final byte[] accelerationData = floatArray2ByteArray(mLinearAccelerationValues);
                 final byte[] rotationData = floatArray2ByteArray(mRotationVectorValues);
                 for (Node node : nodes) {
+                    if (sendName) {
+                        final byte[] nameData = Build.MODEL.getBytes(MQTT_CHARSET);
+                        messageClient.sendMessage(node.getId(), KEY_NAME, nameData);
+                        sendName = false;
+                    }
                     messageClient.sendMessage(node.getId(), KEY_BRIGHTNESS, brightnessData);
                     messageClient.sendMessage(node.getId(), KEY_LINEAR_ACCELERATION, accelerationData);
                     messageClient.sendMessage(node.getId(), KEY_ROTATION_VECTOR, rotationData);