diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index e70cc74cb..88dedc153 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -41,6 +41,7 @@ set(SRCS
             hle/service/apt_s.cpp
             hle/service/apt_u.cpp
             hle/service/boss_u.cpp
+            hle/service/cam_u.cpp
             hle/service/cecd_u.cpp
             hle/service/cfg/cfg.cpp
             hle/service/cfg/cfg_i.cpp
@@ -139,6 +140,7 @@ set(HEADERS
             hle/service/apt_s.h
             hle/service/apt_u.h
             hle/service/boss_u.h
+            hle/service/cam_u.h
             hle/service/cecd_u.h
             hle/service/cfg/cfg.h
             hle/service/cfg/cfg_i.h
diff --git a/src/core/hle/service/cam_u.cpp b/src/core/hle/service/cam_u.cpp
new file mode 100644
index 000000000..549095339
--- /dev/null
+++ b/src/core/hle/service/cam_u.cpp
@@ -0,0 +1,24 @@
+// Copyright 2015 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "common/log.h"
+#include "core/hle/hle.h"
+#include "core/hle/service/cam_u.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// Namespace CAM_U
+
+namespace CAM_U {
+
+// Empty arrays are illegal -- commented out until an entry is added.
+//const Interface::FunctionInfo FunctionTable[] = { };
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// Interface class
+
+Interface::Interface() {
+    //Register(FunctionTable, ARRAY_SIZE(FunctionTable));
+}
+    
+} // namespace
diff --git a/src/core/hle/service/cam_u.h b/src/core/hle/service/cam_u.h
new file mode 100644
index 000000000..3d48fe76d
--- /dev/null
+++ b/src/core/hle/service/cam_u.h
@@ -0,0 +1,23 @@
+// Copyright 2015 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "core/hle/service/service.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+// Namespace CAM_U
+
+namespace CAM_U {
+
+class Interface : public Service::Interface {
+public:
+    Interface();
+
+    std::string GetPortName() const override {
+    return "cam:u";
+}
+};
+
+} // namespace
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index 83cf617a9..752dc28cb 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -14,6 +14,7 @@
 #include "core/hle/service/apt_s.h"
 #include "core/hle/service/apt_u.h"
 #include "core/hle/service/boss_u.h"
+#include "core/hle/service/cam_u.h"
 #include "core/hle/service/cecd_u.h"
 #include "core/hle/service/cfg/cfg_i.h"
 #include "core/hle/service/cfg/cfg_s.h"
@@ -92,6 +93,7 @@ void Init() {
     g_manager->AddService(new APT_S::Interface);
     g_manager->AddService(new APT_U::Interface);
     g_manager->AddService(new BOSS_U::Interface);
+    g_manager->AddService(new CAM_U::Interface);
     g_manager->AddService(new CECD_U::Interface);
     g_manager->AddService(new CFG_I::Interface);
     g_manager->AddService(new CFG_S::Interface);