diff --git a/groundStation/gui/MicroCART/controlworker.cpp b/groundStation/gui/MicroCART/controlworker.cpp
index 866c3656a58565c58435cfbeddb638a146169663..3201d0ef341e73bde79b7e7ccc490e1ef7a5b4ce 100644
--- a/groundStation/gui/MicroCART/controlworker.cpp
+++ b/groundStation/gui/MicroCART/controlworker.cpp
@@ -93,7 +93,7 @@ void ControlWorker::getParamValue(QString node, QString param)
                         /* Set pd.param and finish the job */
                         pd.param = j;
                         frontend_getparam(conn, &pd);
-                        emit(gotParamValue(pd.value));
+                        emit(gotParamValue(node, param, pd.value));
                     }
                 }
             }
diff --git a/groundStation/gui/MicroCART/controlworker.h b/groundStation/gui/MicroCART/controlworker.h
index c2711004794e3fca76051c13a2a73af8a0f2ca05..58939cd8d2067a625e0fd4a934f05cacb866b4d8 100644
--- a/groundStation/gui/MicroCART/controlworker.h
+++ b/groundStation/gui/MicroCART/controlworker.h
@@ -15,7 +15,7 @@ public:
 signals:
     void gotNodes(QStringList nodes);
     void gotParams(QStringList params);
-    void gotParamValue(float value);
+    void gotParamValue(QString node, QString param, float value);
     void gotConstantBlocks(QStringList blocks);
     void paramSet(QString node, QString param);
 
diff --git a/groundStation/gui/MicroCART/mainwindow.cpp b/groundStation/gui/MicroCART/mainwindow.cpp
index c7da65e6c417a94275f0ca720076a6de4708fd22..0867aa4ae92c0330eae276d961c7e882494b0af7 100644
--- a/groundStation/gui/MicroCART/mainwindow.cpp
+++ b/groundStation/gui/MicroCART/mainwindow.cpp
@@ -43,7 +43,7 @@ MainWindow::MainWindow(QWidget *parent) :
     /* Connect signals from control worker */
     connect(controlWorker, SIGNAL (gotNodes(QStringList)), this, SLOT (newNodes(QStringList)));
     connect(controlWorker, SIGNAL (gotParams(QStringList)), this, SLOT (newParams(QStringList)));
-    connect(controlWorker, SIGNAL (gotParamValue(float)), this, SLOT (newParamValue(float)));
+    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 (paramSet(QString, QString)), controlWorker, SLOT (getParamValue(QString, QString)));
 
@@ -77,8 +77,6 @@ MainWindow::MainWindow(QWidget *parent) :
     connect(findChild<QLineEdit *>("xSetpoint"), SIGNAL (returnPressed()), this, SLOT (sendSetpoints()));
     connect(findChild<QLineEdit *>("ySetpoint"), SIGNAL (returnPressed()), this, SLOT (sendSetpoints()));
     connect(findChild<QLineEdit *>("zSetpoint"), SIGNAL (returnPressed()), this, SLOT (sendSetpoints()));
-
-    connect(findChild<QListView *>("setpointList"), SIGNAL (doubleClicked(QModelIndex)), this, SLOT (sendSelectedSetpoint()));
 }
 
 MainWindow::~MainWindow()
@@ -159,15 +157,15 @@ void MainWindow::newNodes(QStringList blocks)
 void MainWindow::newConstantBlocks(QStringList blocks)
 {
     QComboBox * xSelect = findChild<QComboBox *>("xSetpointSelect");
-    xSelect->clear(); /* Hopefully this clears the list */
+    xSelect->clear();
     xSelect->addItems(blocks);
 
     QComboBox * ySelect = findChild<QComboBox *>("ySetpointSelect");
-    ySelect->clear(); /* Hopefully this clears the list */
+    ySelect->clear();
     ySelect->addItems(blocks);
 
     QComboBox * zSelect = findChild<QComboBox *>("zSetpointSelect");
-    zSelect->clear(); /* Hopefully this clears the list */
+    zSelect->clear();
     zSelect->addItems(blocks);
 
     for (ssize_t i = 0; i < blocks.size(); i++) {
@@ -188,13 +186,22 @@ void MainWindow::newConstantBlocks(QStringList blocks)
 void MainWindow::newParams(QStringList params)
 {
     QComboBox * select = findChild<QComboBox *>("paramSelect");
-    select->clear(); /* Hopefully this clears the list */
+    select->clear();
     select->addItems(params);
 }
 
-void MainWindow::newParamValue(float val)
+void MainWindow::newParamValue(QString node, QString param, float val)
 {
     findChild<QLineEdit *>("paramValue")->setText(QString::number(val));
+
+    /* Update the nav page setpoints if it's a setpoint paramvalue */
+    if (node == findChild<QComboBox *>("xSetpointSelect")->currentText()) {
+        findChild<QLineEdit *>("xSetpoint")->setText(QString::number(val));
+    } else if (node == findChild<QComboBox *>("ySetpointSelect")->currentText()) {
+        findChild<QLineEdit *>("ySetpoint")->setText(QString::number(val));
+    } else if (node == findChild<QComboBox *>("zSetpointSelect")->currentText()) {
+        findChild<QLineEdit *>("zSetpoint")->setText(QString::number(val));
+    }
 }
 
 void MainWindow::on_paramSelect_currentIndexChanged(const QString &arg1)
diff --git a/groundStation/gui/MicroCART/mainwindow.h b/groundStation/gui/MicroCART/mainwindow.h
index 3520d4b6b2aab904baf585f1c581ebf08ff6ea6f..d59e10f03f63b3cbb39b1fc17d2381a5331e645f 100644
--- a/groundStation/gui/MicroCART/mainwindow.h
+++ b/groundStation/gui/MicroCART/mainwindow.h
@@ -38,7 +38,7 @@ private slots:
 
     void newNodes(QStringList blocks);
     void newParams(QStringList params);
-    void newParamValue(float val);
+    void newParamValue(QString node, QString param, float val);
     void newConstantBlocks(QStringList blocks);
 
     void on_paramSelect_currentIndexChanged(const QString &arg1);
diff --git a/groundStation/gui/MicroCART/mainwindow.ui b/groundStation/gui/MicroCART/mainwindow.ui
index a66bc8fbc24802438108a2aab83badd3416bd50f..c22a9fccfaa2e2732c2a01f59f83d90f7b86e15f 100644
--- a/groundStation/gui/MicroCART/mainwindow.ui
+++ b/groundStation/gui/MicroCART/mainwindow.ui
@@ -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">
@@ -476,6 +476,26 @@
               </property>
              </widget>
             </item>
+            <item>
+             <widget class="QPushButton" name="pbInsertSetpoint">
+              <property name="enabled">
+               <bool>false</bool>
+              </property>
+              <property name="text">
+               <string>Insert</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QPushButton" name="pbDeleteSetpoint">
+              <property name="enabled">
+               <bool>false</bool>
+              </property>
+              <property name="text">
+               <string>Delete</string>
+              </property>
+             </widget>
+            </item>
             <item>
              <spacer name="verticalSpacer_3">
               <property name="orientation">
@@ -498,6 +518,15 @@
               <property name="editTriggers">
                <set>QAbstractItemView::NoEditTriggers</set>
               </property>
+              <property name="dragEnabled">
+               <bool>true</bool>
+              </property>
+              <property name="dragDropMode">
+               <enum>QAbstractItemView::InternalMove</enum>
+              </property>
+              <property name="defaultDropAction">
+               <enum>Qt::MoveAction</enum>
+              </property>
              </widget>
             </item>
             <item>