diff --git a/groundStation/gui/MicroCART/controlworker.cpp b/groundStation/gui/MicroCART/controlworker.cpp
index 6e7d92564b9bfe649352abba0939ea7c062b2b9d..6cd8b01c08877ad2b17ef8c27307006f361cb265 100644
--- a/groundStation/gui/MicroCART/controlworker.cpp
+++ b/groundStation/gui/MicroCART/controlworker.cpp
@@ -56,7 +56,7 @@ void ControlWorker::getNodes()
 
         /* Add nodes */
         for (size_t i = 0; i < num_nodes; i++) {
-            graph_add_node_id(cgraph, nd[i].block, nd[i].name, blockDefs[nd[i].type], NULL);
+            graph_add_node_id(cgraph, nd[i].block, nd[i].name, blockDefs[nd[i].type]);
         }
 
         /* Set sources */
@@ -86,11 +86,11 @@ void ControlWorker::getNodes()
 
         /* This is a massive hack... */
         /* Could be done with popen, but fuck it */
-        FILE * dotfile = fopen("/tmp/ucart-tmp-graph.dot", "rw");
+        FILE * dotfile = fopen("/tmp/ucart-tmp-graph.dot", "w");
         if (dotfile) {
             export_dot(cgraph, dotfile, 0);
             fclose(dotfile);
-            if (int dot_exit = QProcess::execute("dot /tmp/ucart-tmp/graph.dot -Tpng -o /tmp/ucart-tmp-graph.png")) {
+            if (int dot_exit = QProcess::execute("dot /tmp/ucart-tmp-graph.dot -Tpng -o /tmp/ucart-tmp-graph.png")) {
                 warnx("dot returned nonzero value (%d)", dot_exit);
             } else {
                 emit(graphRendered(QString("/tmp/ucart-tmp-graph.png")));
diff --git a/groundStation/gui/MicroCART/mainwindow.cpp b/groundStation/gui/MicroCART/mainwindow.cpp
index b4fbee5827cf49377a4591c60ec215542902994c..68b410c57da1b4b6e8aaf2d73a14dfde7f21d273 100644
--- a/groundStation/gui/MicroCART/mainwindow.cpp
+++ b/groundStation/gui/MicroCART/mainwindow.cpp
@@ -50,6 +50,7 @@ MainWindow::MainWindow(QWidget *parent) :
     connect(controlWorker, SIGNAL (gotParams(QStringList)), this, SLOT (newParams(QStringList)));
     connect(controlWorker, SIGNAL (gotParamValue(QString, QString, float)), this, SLOT (newParamValue(QString, QString, float)));
     connect(controlWorker, SIGNAL (gotConstantBlocks(QStringList)), this, SLOT (newConstantBlocks(QStringList)));
+    connect(controlWorker, SIGNAL (graphRendered(QString)), this, SLOT (newControlGraph(QString)));
     connect(controlWorker, SIGNAL (paramSet(QString, QString)), controlWorker, SLOT (getParamValue(QString, QString)));
 
     /* Signals to control worker */
@@ -298,3 +299,12 @@ void MainWindow::newControlGraph(QString graph)
 {
     findChild<QLabel *>("graphImage")->setPixmap(QPixmap(graph));
 }
+
+void MainWindow::on_pbActualToWaypoint_clicked()
+{
+    QString str("[" + findChild<QLineEdit *>("xActual")->text() + ", "+
+            findChild<QLineEdit *>("yActual")->text() + ", " +
+            findChild<QLineEdit *>("zActual")->text() + "]");
+
+    setpointList->appendRow(new QStandardItem(str));
+}
diff --git a/groundStation/gui/MicroCART/mainwindow.h b/groundStation/gui/MicroCART/mainwindow.h
index 8e7d0351e91da987d18ea7a1c08250694bbbb266..e704deecdc779444034bb308affd264f5a12046b 100644
--- a/groundStation/gui/MicroCART/mainwindow.h
+++ b/groundStation/gui/MicroCART/mainwindow.h
@@ -57,6 +57,8 @@ private slots:
 
     void on_pbDeleteSetpoint_clicked();
 
+    void on_pbActualToWaypoint_clicked();
+
 private:
     Ui::MainWindow *ui;
     pid_t backendPid;
diff --git a/groundStation/gui/MicroCART/mainwindow.ui b/groundStation/gui/MicroCART/mainwindow.ui
index d2a155240b54e69ef447cc7e5ba1e4279892b66b..4b75cdbafa31e49f8bef144eaad91e5bf6a9f31d 100644
--- a/groundStation/gui/MicroCART/mainwindow.ui
+++ b/groundStation/gui/MicroCART/mainwindow.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>874</width>
-    <height>596</height>
+    <width>1369</width>
+    <height>995</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -18,7 +18,7 @@
     <item>
      <widget class="QTabWidget" name="tabWidget">
       <property name="currentIndex">
-       <number>0</number>
+       <number>2</number>
       </property>
       <widget class="QWidget" name="backend">
        <attribute name="title">
@@ -142,19 +142,43 @@
        </attribute>
        <layout class="QVBoxLayout" name="verticalLayout_2">
         <item>
-         <widget class="QLabel" name="graphImage">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="text">
-           <string>Refresh to display controller graph</string>
-          </property>
-          <property name="alignment">
-           <set>Qt::AlignCenter</set>
+         <widget class="QScrollArea" name="scrollArea">
+          <property name="widgetResizable">
+           <bool>true</bool>
           </property>
+          <widget class="QWidget" name="scrollAreaWidgetContents">
+           <property name="geometry">
+            <rect>
+             <x>0</x>
+             <y>0</y>
+             <width>1333</width>
+             <height>727</height>
+            </rect>
+           </property>
+           <layout class="QVBoxLayout" name="verticalLayout_8">
+            <item>
+             <widget class="QLabel" name="graphImage">
+              <property name="sizePolicy">
+               <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="font">
+               <font>
+                <pointsize>32</pointsize>
+               </font>
+              </property>
+              <property name="text">
+               <string/>
+              </property>
+              <property name="alignment">
+               <set>Qt::AlignCenter</set>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </widget>
          </widget>
         </item>
         <item>
@@ -307,6 +331,9 @@
             <underline>true</underline>
            </font>
           </property>
+          <property name="styleSheet">
+           <string notr="true">QLabel {color : red; }</string>
+          </property>
           <property name="text">
            <string>NO CONTROL GRAPH LOADED!</string>
           </property>
@@ -483,6 +510,13 @@
               </property>
              </widget>
             </item>
+            <item>
+             <widget class="QPushButton" name="pbActualToWaypoint">
+              <property name="text">
+               <string>To Waypoint</string>
+              </property>
+             </widget>
+            </item>
             <item>
              <spacer name="verticalSpacer_4">
               <property name="orientation">
@@ -665,6 +699,75 @@
               </property>
              </widget>
             </item>
+            <item>
+             <layout class="QHBoxLayout" name="horizontalLayout_2">
+              <item>
+               <widget class="QCheckBox" name="autonavEnabled">
+                <property name="text">
+                 <string>Auto</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="Line" name="line_5">
+                <property name="orientation">
+                 <enum>Qt::Vertical</enum>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="label_9">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="text">
+                 <string>Delay</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLineEdit" name="autonavDelay">
+                <property name="sizePolicy">
+                 <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="text">
+                 <string>1500</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+            <item>
+             <widget class="Line" name="line_4">
+              <property name="orientation">
+               <enum>Qt::Horizontal</enum>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <layout class="QHBoxLayout" name="horizontalLayout">
+              <item>
+               <widget class="QPushButton" name="pbSaveWaypoints">
+                <property name="text">
+                 <string>Save</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QPushButton" name="pbLoadWaypoints">
+                <property name="text">
+                 <string>Load</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
            </layout>
           </item>
           <item>
@@ -700,7 +803,7 @@
     <rect>
      <x>0</x>
      <y>0</y>
-     <width>874</width>
+     <width>1369</width>
      <height>30</height>
     </rect>
    </property>