diff --git a/libweave/.gitignore b/libweave/.gitignore
index a4a2e7d..4011af4 100644
--- a/libweave/.gitignore
+++ b/libweave/.gitignore
@@ -1,3 +1,4 @@
+*~
 /out/
 /third_party/include
 /third_party/lib
diff --git a/libweave/examples/ubuntu/bluez_client.cc b/libweave/examples/ubuntu/bluez_client.cc
new file mode 100644
index 0000000..d1f6558
--- /dev/null
+++ b/libweave/examples/ubuntu/bluez_client.cc
@@ -0,0 +1,14 @@
+// Copyright 2015 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "libweave/examples/ubuntu/bluez_client.h"
+
+namespace weave {
+namespace examples {
+
+BluetoothImpl::BluetoothImpl() {};
+BluetoothImpl::~BluetoothImpl() {};
+
+}  // namespace examples
+}  // namespace weave
diff --git a/libweave/examples/ubuntu/bluez_client.h b/libweave/examples/ubuntu/bluez_client.h
new file mode 100644
index 0000000..0915403
--- /dev/null
+++ b/libweave/examples/ubuntu/bluez_client.h
@@ -0,0 +1,24 @@
+// Copyright 2015 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef LIBWEAVE_EXAMPLES_UBUNTU_BLUEZ_CLIENT_H_
+#define LIBWEAVE_EXAMPLES_UBUNTU_BLUEZ_CLIENT_H_
+
+#include <weave/bluetooth.h>
+
+namespace weave {
+namespace examples {
+
+// Example of weave::Bluetooth implemented with bluez.
+class BluetoothImpl : public Bluetooth {
+ public:
+  BluetoothImpl();
+
+  ~BluetoothImpl() override;
+};
+
+}  // namespace examples
+}  // namespace weave
+
+#endif  // LIBWEAVE_EXAMPLES_UBUNTU_BLUEZ_CLIENT_H_
diff --git a/libweave/examples/ubuntu/main.cc b/libweave/examples/ubuntu/main.cc
index b42ab66..9901898 100644
--- a/libweave/examples/ubuntu/main.cc
+++ b/libweave/examples/ubuntu/main.cc
@@ -5,6 +5,7 @@
 #include <weave/device.h>
 
 #include "libweave/examples/ubuntu/avahi_client.h"
+#include "libweave/examples/ubuntu/bluez_client.h"
 #include "libweave/examples/ubuntu/curl_http_client.h"
 #include "libweave/examples/ubuntu/event_http_server.h"
 #include "libweave/examples/ubuntu/event_task_runner.h"
@@ -18,6 +19,7 @@
   weave::examples::NetworkImpl network{&task_runner};
   weave::examples::MdnsImpl mdns;
   weave::examples::HttpServerImpl http_server{task_runner.GetEventBase()};
+  weave::examples::BluetoothImpl bluetooth;
 
   auto device = weave::Device::Create();
   weave::Device::Options opts;
@@ -26,7 +28,7 @@
   opts.disable_security = false;
   opts.enable_ping = true;
   device->Start(opts, &config_store, &task_runner, &http_client, &network,
-                &mdns, &http_server);
+                &mdns, &http_server, &bluetooth);
 
   task_runner.Run();
 
diff --git a/libweave/examples/ubuntu/weave.gyp b/libweave/examples/ubuntu/weave.gyp
index 0aa4e3a..e8abc5e 100644
--- a/libweave/examples/ubuntu/weave.gyp
+++ b/libweave/examples/ubuntu/weave.gyp
@@ -12,6 +12,7 @@
         'network_manager.cc',
         'avahi_client.cc',
         'event_http_server.cc',
+        'bluez_client.cc',
       ],
       'dependencies': [
         '../../libweave_standalone.gyp:libweave',
diff --git a/libweave/include/weave/bluetooth.h b/libweave/include/weave/bluetooth.h
new file mode 100644
index 0000000..69fdc5e
--- /dev/null
+++ b/libweave/include/weave/bluetooth.h
@@ -0,0 +1,20 @@
+// Copyright 2015 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef LIBWEAVE_INCLUDE_WEAVE_BLUETOOTH_H_
+#define LIBWEAVE_INCLUDE_WEAVE_BLUETOOTH_H_
+
+namespace weave {
+
+class Bluetooth {
+ public:
+  // TODO(rginda): Add bluetooth interface methods here.
+
+ protected:
+  virtual ~Bluetooth() = default;
+};
+
+}  // namespace weave
+
+#endif  // LIBWEAVE_INCLUDE_WEAVE_BLUETOOTH_H_
diff --git a/libweave/include/weave/device.h b/libweave/include/weave/device.h
index 0bd5ade..c7ed3ae 100644
--- a/libweave/include/weave/device.h
+++ b/libweave/include/weave/device.h
@@ -9,6 +9,7 @@
 #include <set>
 #include <string>
 
+#include <weave/bluetooth.h>
 #include <weave/cloud.h>
 #include <weave/commands.h>
 #include <weave/config_store.h>
@@ -41,7 +42,8 @@
                      HttpClient* http_client,
                      Network* network,
                      Mdns* mdns,
-                     HttpServer* http_server) = 0;
+                     HttpServer* http_server,
+                     Bluetooth* bluetooth) = 0;
 
   virtual Commands* GetCommands() = 0;
   virtual State* GetState() = 0;
diff --git a/libweave/include/weave/test/mock_bluetooth.h b/libweave/include/weave/test/mock_bluetooth.h
new file mode 100644
index 0000000..d02e314
--- /dev/null
+++ b/libweave/include/weave/test/mock_bluetooth.h
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef LIBWEAVE_INCLUDE_WEAVE_TEST_MOCK_BLUETOOTH_H_
+#define LIBWEAVE_INCLUDE_WEAVE_TEST_MOCK_BLUETOOTH_H_
+
+#include <weave/bluetooth.h>
+
+namespace weave {
+namespace test {
+
+class MockBluetooth : public Bluetooth {
+ public:
+};
+
+}  // namespace test
+}  // namespace weave
+
+#endif  // LIBWEAVE_INCLUDE_WEAVE_TEST_MOCK_BLUETOOTH_H_
diff --git a/libweave/src/device_manager.cc b/libweave/src/device_manager.cc
index a54ac05..1435aeb 100644
--- a/libweave/src/device_manager.cc
+++ b/libweave/src/device_manager.cc
@@ -35,7 +35,8 @@
                           HttpClient* http_client,
                           Network* network,
                           Mdns* mdns,
-                          HttpServer* http_server) {
+                          HttpServer* http_server,
+                          Bluetooth* bluetooth) {
   command_manager_ = std::make_shared<CommandManager>();
   command_manager_->Startup(config_store);
   state_change_queue_.reset(new StateChangeQueue(kMaxStateChangeQueueSize));
@@ -56,7 +57,7 @@
   device_info_->Start();
 
   if (!options.disable_privet) {
-    StartPrivet(options, task_runner, network, mdns, http_server);
+    StartPrivet(options, task_runner, network, mdns, http_server, bluetooth);
   } else {
     CHECK(!http_server);
     CHECK(!mdns);
@@ -87,7 +88,8 @@
                                 TaskRunner* task_runner,
                                 Network* network,
                                 Mdns* mdns,
-                                HttpServer* http_server) {
+                                HttpServer* http_server,
+                                Bluetooth* bluetooth) {
   privet_.reset(new privet::Manager{});
   privet_->Start(options, task_runner, network, mdns, http_server,
                  device_info_.get(), command_manager_.get(),
diff --git a/libweave/src/device_manager.h b/libweave/src/device_manager.h
index 951cbf2..376f122 100644
--- a/libweave/src/device_manager.h
+++ b/libweave/src/device_manager.h
@@ -32,7 +32,8 @@
              HttpClient* http_client,
              Network* network,
              Mdns* mdns,
-             HttpServer* http_server) override;
+             HttpServer* http_server,
+             Bluetooth* bluetooth) override;
 
   Commands* GetCommands() override;
   State* GetState() override;
@@ -46,7 +47,8 @@
                    TaskRunner* task_runner,
                    Network* network,
                    Mdns* mdns,
-                   HttpServer* http_server);
+                   HttpServer* http_server,
+                   Bluetooth* bluetooth);
 
   void OnWiFiBootstrapStateChanged(weave::WifiSetupState state);
 
diff --git a/libweave/src/weave_unittest.cc b/libweave/src/weave_unittest.cc
index 0f7e274..a957f1c 100644
--- a/libweave/src/weave_unittest.cc
+++ b/libweave/src/weave_unittest.cc
@@ -6,6 +6,7 @@
 
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
+#include <weave/test/mock_bluetooth.h>
 #include <weave/test/mock_config_store.h>
 #include <weave/test/mock_http_client.h>
 #include <weave/test/mock_http_server.h>
@@ -293,7 +294,7 @@
     options.xmpp_enabled = false;
 
     device_->Start(options, &config_store_, &task_runner_, &http_client_,
-                   &network_, &mdns_, &http_server_);
+                   &network_, &mdns_, &http_server_, &bluetooth_);
 
     cloud_ = device_->GetCloud();
     ASSERT_TRUE(cloud_);
@@ -321,6 +322,7 @@
   StrictMock<test::MockNetwork> network_;
   StrictMock<test::MockMdns> mdns_;
   StrictMock<test::MockHttpServer> http_server_;
+  StrictMock<test::MockBluetooth> bluetooth_;
 
   std::vector<Network::OnConnectionChangedCallback> network_callbacks_;
 
@@ -341,7 +343,7 @@
 
   InitConfigStore();
   device_->Start(options, &config_store_, &task_runner_, &http_client_,
-                 &network_, nullptr, nullptr);
+                 &network_, nullptr, nullptr, nullptr);
 }
 
 class WeaveBasicTest : public WeaveTest {
