diff --git a/applications/gui/CMakeLists.txt b/applications/gui/CMakeLists.txt
index 652495e9e28aa8885f6e35f0d31fa90699f28b34..c4ea2272fd92e76ccf0aa6b4b9154d06aaea8485 100644
--- a/applications/gui/CMakeLists.txt
+++ b/applications/gui/CMakeLists.txt
@@ -4,6 +4,7 @@
 
 set(GUISRC
 	src/main.cpp
+	src/ctrl_window.cpp
 )
 
 add_executable(ftl-gui ${GUISRC})
diff --git a/applications/gui/src/ctrl_window.cpp b/applications/gui/src/ctrl_window.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..3ab9285ed0e26e5cbdc2f1d03406a5c7858734d6
--- /dev/null
+++ b/applications/gui/src/ctrl_window.cpp
@@ -0,0 +1,16 @@
+#include "ctrl_window.hpp"
+
+#include <nanogui/layout.h>
+
+using ftl::gui::ControlWindow;
+
+
+ControlWindow::ControlWindow(nanogui::Widget *parent, ftl::ctrl::Master *ctrl)
+		: nanogui::Window(parent, "Control"), ctrl_(ctrl) {
+	setLayout(new nanogui::GroupLayout());
+}
+
+ControlWindow::~ControlWindow() {
+
+}
+
diff --git a/applications/gui/src/ctrl_window.hpp b/applications/gui/src/ctrl_window.hpp
new file mode 100644
index 0000000000000000000000000000000000000000..973ffe1aadbf4e7281f006eb5c9bc445f7efe3fd
--- /dev/null
+++ b/applications/gui/src/ctrl_window.hpp
@@ -0,0 +1,25 @@
+#ifndef _FTL_GUI_CTRLWINDOW_HPP_
+#define _FTL_GUI_CTRLWINDOW_HPP_
+
+#include <nanogui/window.h>
+#include <ftl/master.hpp>
+
+namespace ftl {
+namespace gui {
+
+/**
+ * Manage connected nodes and add new connections.
+ */
+class ControlWindow : public nanogui::Window {
+	public:
+	ControlWindow(nanogui::Widget *parent, ftl::ctrl::Master *ctrl);
+	~ControlWindow();
+
+	private:
+	ftl::ctrl::Master *ctrl_;
+};
+
+}
+}
+
+#endif  // _FTL_GUI_CTRLWINDOW_HPP_
diff --git a/applications/gui/src/main.cpp b/applications/gui/src/main.cpp
index fba870c5341d0cf987d611a683953ff33f3f2c54..a62a091dbeb80700062f4fe772ad4c1f409f2161 100644
--- a/applications/gui/src/main.cpp
+++ b/applications/gui/src/main.cpp
@@ -16,6 +16,8 @@
 #include <nanogui/combobox.h>
 #include <nanogui/label.h>
 
+#include "ctrl_window.hpp"
+
 using std::string;
 using ftl::rgbd::RGBDSource;
 
@@ -188,6 +190,8 @@ class FTLApplication : public nanogui::Screen {
 			
 		});
 
+		window = new ftl::gui::ControlWindow(this, controller);
+
 		setVisible(true);
 		performLayout();
 	}