diff --git a/qgroundcontrol.pro b/qgroundcontrol.pro
index ee921d1..0b5b58c 100644
--- a/qgroundcontrol.pro
+++ b/qgroundcontrol.pro
@@ -267,8 +267,6 @@ FORMS += \
     src/ui/watchdog/WatchdogControl.ui \
     src/ui/watchdog/WatchdogProcessView.ui \
     src/ui/watchdog/WatchdogView.ui \
-    src/ui/QGCFirmwareUpdate.ui \
-    src/ui/QGCPxImuFirmwareUpdate.ui \
     src/ui/QGCDataPlot2D.ui \
     src/ui/QGCRemoteControlView.ui \
     src/ui/QMap3D.ui \
@@ -295,9 +293,7 @@ FORMS += \
     src/ui/WaypointViewOnlyView.ui \
     src/ui/WaypointEditableView.ui \
     src/ui/mavlink/QGCMAVLinkMessageSender.ui \
-    src/ui/firmwareupdate/QGCFirmwareUpdateWidget.ui \
     src/ui/QGCPluginHost.ui \
-    src/ui/firmwareupdate/QGCPX4FirmwareUpdate.ui \
     src/ui/mission/QGCMissionOther.ui \
     src/ui/mission/QGCMissionNavWaypoint.ui \
     src/ui/mission/QGCMissionDoJump.ui \
@@ -419,8 +415,6 @@ HEADERS += \
     src/uas/UASWaypointManager.h \
     src/ui/HSIDisplay.h \
     src/QGC.h \
-    src/ui/QGCFirmwareUpdate.h \
-    src/ui/QGCPxImuFirmwareUpdate.h \
     src/ui/QGCDataPlot2D.h \
     src/ui/linechart/IncrementalPlot.h \
     src/ui/QGCRemoteControlView.h \
@@ -470,9 +464,7 @@ HEADERS += \
     src/ui/WaypointEditableView.h \
     src/ui/QGCRGBDView.h \
     src/ui/mavlink/QGCMAVLinkMessageSender.h \
-    src/ui/firmwareupdate/QGCFirmwareUpdateWidget.h \
     src/ui/QGCPluginHost.h \
-    src/ui/firmwareupdate/QGCPX4FirmwareUpdate.h \
     src/ui/mission/QGCMissionOther.h \
     src/ui/mission/QGCMissionNavWaypoint.h \
     src/ui/mission/QGCMissionDoJump.h \
@@ -611,8 +603,6 @@ SOURCES += \
     src/uas/UASWaypointManager.cc \
     src/ui/HSIDisplay.cc \
     src/QGC.cc \
-    src/ui/QGCFirmwareUpdate.cc \
-    src/ui/QGCPxImuFirmwareUpdate.cc \
     src/ui/QGCDataPlot2D.cc \
     src/ui/linechart/IncrementalPlot.cc \
     src/ui/QGCRemoteControlView.cc \
@@ -660,9 +650,7 @@ SOURCES += \
     src/ui/WaypointEditableView.cc \
     src/ui/QGCRGBDView.cc \
     src/ui/mavlink/QGCMAVLinkMessageSender.cc \
-    src/ui/firmwareupdate/QGCFirmwareUpdateWidget.cc \
     src/ui/QGCPluginHost.cc \
-    src/ui/firmwareupdate/QGCPX4FirmwareUpdate.cc \
     src/ui/mission/QGCMissionOther.cc \
     src/ui/mission/QGCMissionNavWaypoint.cc \
     src/ui/mission/QGCMissionDoJump.cc \
diff --git a/src/PX4FirmwareUpgradeWorker.cc b/src/PX4FirmwareUpgradeWorker.cc
deleted file mode 100644
index 5abd7d1..0000000
--- a/src/PX4FirmwareUpgradeWorker.cc
+++ /dev/null
@@ -1,157 +0,0 @@
-//#include <QJsonDocument>
-#include <QFile>
-
-#include "PX4FirmwareUpgradeWorker.h"
-
-#include <SerialLink.h>
-#include <QGC.h>
-#include "uploader.h"
-
-#include <QDebug>
-
-#define PROTO_GET_SYNC		0x21
-#define PROTO_EOC            0x20
-#define PROTO_NOP		0x00
-#define PROTO_OK		0x10
-#define PROTO_FAILED		0x11
-#define PROTO_INSYNC		0x12
-
-PX4FirmwareUpgradeWorker::PX4FirmwareUpgradeWorker(QObject *parent) :
-    QObject(parent),
-    link(NULL)
-{
-}
-
-PX4FirmwareUpgradeWorker* PX4FirmwareUpgradeWorker::putWorkerInThread(QObject *parent)
-{
-    PX4FirmwareUpgradeWorker *worker = new PX4FirmwareUpgradeWorker;
-    QThread *workerThread = new QThread(parent);
-
-    connect(workerThread, SIGNAL(started()), worker, SLOT(startContinousScan()));
-    connect(workerThread, SIGNAL(finished()), worker, SLOT(deleteLater()));
-    worker->moveToThread(workerThread);
-
-    // Starts an event loop, and emits workerThread->started()
-    workerThread->start();
-    return worker;
-}
-
-
-void PX4FirmwareUpgradeWorker::startContinousScan()
-{
-    exitThread = false;
-    while (!exitThread) {
-//        if (detect()) {
-//            break;
-//        }
-        QGC::SLEEP::msleep(20);
-    }
-
-    if (exitThread) {
-        link->disconnect();
-        delete link;
-        exit(0);
-    }
-}
-
-void PX4FirmwareUpgradeWorker::detect()
-{
-    if (!link)
-    {
-        link = new SerialLink("", 921600);
-        connect(link, SIGNAL(bytesReceived(LinkInterface*,QByteArray)), this, SLOT(receiveBytes(LinkInterface*,QByteArray)));
-    }
-
-    // Get a list of ports
-    QVector<QString>* ports = link->getCurrentPorts();
-
-    // Scan
-    for (int i = 0; i < ports->size(); i++)
-    {
-        // Ignore known wrong link names
-
-        if (ports->at(i).contains("Bluetooth")) {
-            //continue;
-        }
-
-        link->setPortName(ports->at(i));
-        // Open port and talk to it
-        link->connect();
-        char buf[2] = { PROTO_GET_SYNC, PROTO_EOC };
-        if (!link->isConnected()) {
-            continue;
-        }
-        // Send sync request
-        insync = false;
-        link->writeBytes(buf, 2);
-        // Wait for response
-        QGC::SLEEP::msleep(20);
-
-        if (insync)
-            emit validPortFound(ports->at(i));
-            break;
-    }
-
-    //ui.portName->setCurrentIndex(ui.baudRate->findText(QString("%1").arg(this->link->getPortName())));
-
-    // Set port
-
-    // Load current link config
-
-}
-
-void PX4FirmwareUpgradeWorker::receiveBytes(LinkInterface* link, QByteArray b)
-{
-    for (int position = 0; position < b.size(); position++) {
-        qDebug() << "BYTES";
-        qDebug() << (char)(b[position]);
-        if (((const char)b[position]) == PROTO_INSYNC)
-        {
-            qDebug() << "SYNC";
-            insync = true;
-        }
-
-        if (insync && ((const char)b[position]) == PROTO_OK)
-        {
-            emit detectionStatusChanged("Found PX4 board");
-        }
-    }
-
-    printf("\n");
-}
-
-void PX4FirmwareUpgradeWorker::loadFirmware(const QString &filename)
-{
-    qDebug() << __FILE__ << __LINE__ << "LOADING FW" << filename;
-
-    PX4_Uploader uploader;
-    const char* filenames[2];
-    filenames[0] = filename.toStdString().c_str();
-    filenames[1] = NULL;
-    uploader.upload(filenames, "/dev/tty.usbmodem1");
-
-//    QFile f(filename);
-//    if (f.open(QIODevice::ReadOnly))
-//    {
-//        QByteArray buf = f.readAll();
-//        f.close();
-//        firmware = QJsonDocument::fromBinaryData(buf);
-//        if (firmware.isNull()) {
-//            emit upgradeStatusChanged(tr("Failed decoding file %1").arg(filename));
-//        } else {
-//            emit upgradeStatusChanged(tr("Ready to flash %1").arg(filename));
-//        }
-//    } else {
-//        emit upgradeStatusChanged(tr("Failed opening file %1").arg(filename));
-//    }
-}
-
-void PX4FirmwareUpgradeWorker::upgrade()
-{
-    emit upgradeStatusChanged(tr("Starting firmware upgrade.."));
-}
-
-void PX4FirmwareUpgradeWorker::abort()
-{
-    exitThread = true;
-}
diff --git a/src/PX4FirmwareUpgradeWorker.h b/src/PX4FirmwareUpgradeWorker.h
deleted file mode 100644
index c505133..0000000
--- a/src/PX4FirmwareUpgradeWorker.h
+++ /dev/null
@@ -1,73 +0,0 @@
-#ifndef PX4FIRMWAREUPGRADEWORKER_H
-#define PX4FIRMWAREUPGRADEWORKER_H
-
-#include <QObject>
-//#include <QJsonDocument>
-
-#include <SerialLink.h>
-
-class PX4FirmwareUpgradeWorker : public QObject
-{
-    Q_OBJECT
-public:
-    explicit PX4FirmwareUpgradeWorker(QObject *parent = 0);
-    static PX4FirmwareUpgradeWorker* putWorkerInThread(QObject *parent);
-
-signals:
-    void detectionStatusChanged(const QString& status);
-    void upgradeStatusChanged(const QString& status);
-    void upgradeProgressChanged(int percent);
-    void validPortFound(const QString& portName);
-    
-public slots:
-
-    /**
-     * @brief Continously scan for bootloaders
-     * @return
-     */
-    void startContinousScan();
-
-    /**
-     * @brief Detect connected PX4 bootloaders
-     *
-     * If a bootloader was found, the link will be opened to this
-     * bootloader and ready for flashing when returning from the call.
-     *
-     * @return true if found on one link, false else
-     */
-    void detect();
-
-    /**
-     * @brief Upgrade the firmware using the currently connected link
-     * @param filename file name / path of the firmware file
-     */
-    void upgrade();
-
-    /**
-     * @brief Load firmware from disk into memory
-     * @param filename
-     */
-    void loadFirmware(const QString &filename);
-
-    /**
-     * @brief Receive bytes from a link
-     * @param link
-     * @param b
-     */
-    void receiveBytes(LinkInterface* link, QByteArray b);
-
-    /**
-     * @brief Abort upgrade worker
-     */
-    void abort();
-
-protected:
-    bool exitThread;
-
-private:
-    SerialLink *link;
-    bool insync;
-    //QJsonDocument firmware;
-};
-
-#endif // PX4FIRMWAREUPGRADEWORKER_H
diff --git a/src/ui/PX4FirmwareUpgrader.cc b/src/ui/PX4FirmwareUpgrader.cc
deleted file mode 100644
index f1682f5..0000000
--- a/src/ui/PX4FirmwareUpgrader.cc
+++ /dev/null
@@ -1,65 +0,0 @@
-#include <QFileDialog>
-#include <QStandardPaths>
-#include <QSettings>
-
-#include "PX4FirmwareUpgrader.h"
-#include "ui_PX4FirmwareUpgrader.h"
-
-#include <QGC.h>
-#include <QDebug>
-
-
-PX4FirmwareUpgrader::PX4FirmwareUpgrader(QWidget *parent) :
-    QWidget(parent),
-    ui(new Ui::PX4FirmwareUpgrader)
-{
-    ui->setupUi(this);
-
-    connect(ui->selectFileButton, SIGNAL(clicked()), this, SLOT(selectFirmwareFile()));
-    connect(ui->flashButton, SIGNAL(clicked()), this, SIGNAL(upgrade()));
-}
-
-PX4FirmwareUpgrader::~PX4FirmwareUpgrader()
-{
-    delete ui;
-}
-
-void PX4FirmwareUpgrader::selectFirmwareFile()
-{
-    QSettings settings;
-    QString path = settings.value("PX4_FIRMWARE_PATH",
-                                     QStandardPaths::writableLocation(QStandardPaths::DesktopLocation)).toString();
-    const QString widgetFileExtension(".px4");
-    QString fileName = QFileDialog::getOpenFileName(this, tr("Specify File Name"),
-                       path,
-                       tr("PX4 Firmware (*%1);;").arg(widgetFileExtension));
-    settings.setValue("PX4_FIRMWARE_PATH", fileName);
-    qDebug() << "EMITTING SIGNAL";
-    emit firmwareFileNameSet(fileName);
-}
-
-void PX4FirmwareUpgrader::setDetectionStatusText(const QString &text)
-{
-    ui->detectionStatusLabel->setText(text);
-}
-
-void PX4FirmwareUpgrader::setFlashStatusText(const QString &text)
-{
-    ui->flashProgressLabel->setText(text);
-    qDebug() << __FILE__ << __LINE__ << "LABEL" << text;
-}
-
-void PX4FirmwareUpgrader::setFlashProgress(int percent)
-{
-    ui->flashProgressBar->setValue(percent);
-}
-
-void PX4FirmwareUpgrader::setPortName(const QString &portname)
-{
-    // Prepend newly found port to the list
-    if (ui->serialPortComboBox->findText(portname) == -1)
-    {
-        ui->serialPortComboBox->insertItem(0, portname);
-        ui->serialPortComboBox->setEditText(portname);
-    }
-}
diff --git a/src/ui/PX4FirmwareUpgrader.h b/src/ui/PX4FirmwareUpgrader.h
deleted file mode 100644
index 94daf37..0000000
--- a/src/ui/PX4FirmwareUpgrader.h
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef PX4FIRMWAREUPGRADER_H
-#define PX4FIRMWAREUPGRADER_H
-
-#include <QWidget>
-#include <QTimer>
-
-#include <SerialLink.h>
-
-namespace Ui {
-class PX4FirmwareUpgrader;
-}
-
-class PX4FirmwareUpgrader : public QWidget
-{
-    Q_OBJECT
-    
-public:
-    PX4FirmwareUpgrader(QWidget *parent = 0);
-    ~PX4FirmwareUpgrader();
-
-public slots:
-
-    void setDetectionStatusText(const QString &text);
-
-    void setFlashStatusText(const QString &text);
-
-    void setFlashProgress(int percent);
-
-    void selectFirmwareFile();
-
-    void setPortName(const QString &portname);
-
-signals:
-    void firmwareFileNameSet(const QString &fileName);
-    void upgrade();
-
-private:
-    Ui::PX4FirmwareUpgrader *ui;
-};
-
-#endif // PX4FIRMWAREUPGRADER_H
diff --git a/src/ui/PX4FirmwareUpgrader.ui b/src/ui/PX4FirmwareUpgrader.ui
deleted file mode 100644
index 91d2249..0000000
--- a/src/ui/PX4FirmwareUpgrader.ui
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>PX4FirmwareUpgrader</class>
- <widget class="QWidget" name="PX4FirmwareUpgrader">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>428</width>
-    <height>331</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <layout class="QGridLayout" name="gridLayout">
-   <item row="3" column="0" colspan="3">
-    <widget class="QTextBrowser" name="descriptionTextBrowser"/>
-   </item>
-   <item row="4" column="0" colspan="3">
-    <widget class="QProgressBar" name="flashProgressBar">
-     <property name="value">
-      <number>24</number>
-     </property>
-    </widget>
-   </item>
-   <item row="5" column="0" colspan="2">
-    <widget class="QLabel" name="flashProgressLabel">
-     <property name="text">
-      <string>No update in progress.</string>
-     </property>
-    </widget>
-   </item>
-   <item row="2" column="0">
-    <widget class="QComboBox" name="versionComboBox"/>
-   </item>
-   <item row="2" column="2">
-    <widget class="QPushButton" name="selectFileButton">
-     <property name="text">
-      <string>Select File..</string>
-     </property>
-    </widget>
-   </item>
-   <item row="2" column="1">
-    <widget class="QPushButton" name="versionButton">
-     <property name="text">
-      <string>Check Online</string>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="2">
-    <widget class="QPushButton" name="serialPortButton">
-     <property name="enabled">
-      <bool>false</bool>
-     </property>
-     <property name="text">
-      <string>Set Serial Port</string>
-     </property>
-    </widget>
-   </item>
-   <item row="5" column="2">
-    <widget class="QPushButton" name="flashButton">
-     <property name="text">
-      <string>Flash Firmware</string>
-     </property>
-    </widget>
-   </item>
-   <item row="0" column="0" colspan="2">
-    <widget class="QLabel" name="detectionStatusLabel">
-     <property name="text">
-      <string>No PX4 board detected..</string>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="1">
-    <widget class="QCheckBox" name="detectionAutoCheckBox">
-     <property name="text">
-      <string>Auto Detect Port</string>
-     </property>
-     <property name="checked">
-      <bool>true</bool>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="0">
-    <widget class="QComboBox" name="serialPortComboBox">
-     <property name="editable">
-      <bool>true</bool>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/ui/QGCFirmwareUpdate.cc b/src/ui/QGCFirmwareUpdate.cc
deleted file mode 100644
index 99c870f..0000000
--- a/src/ui/QGCFirmwareUpdate.cc
+++ /dev/null
@@ -1,56 +0,0 @@
-/*=====================================================================
-
-QGroundControl Open Source Ground Control Station
-
-(c) 2009, 2010 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
-
-This file is part of the QGROUNDCONTROL project
-
-    QGROUNDCONTROL is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    QGROUNDCONTROL is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
-
-======================================================================*/
-
-/**
- * @file
- *   @brief Implementation of QGCFirmwareUpdate
- *   @author Lorenz Meier <mavteam@student.ethz.ch>
- *
- */
-
-#include "QGCFirmwareUpdate.h"
-#include "ui_QGCFirmwareUpdate.h"
-
-QGCFirmwareUpdate::QGCFirmwareUpdate(QWidget *parent) :
-    QWidget(parent),
-    ui(new Ui::QGCFirmwareUpdate)
-{
-    ui->setupUi(this);
-}
-
-QGCFirmwareUpdate::~QGCFirmwareUpdate()
-{
-    delete ui;
-}
-
-void QGCFirmwareUpdate::changeEvent(QEvent *e)
-{
-    QWidget::changeEvent(e);
-    switch (e->type()) {
-    case QEvent::LanguageChange:
-        ui->retranslateUi(this);
-        break;
-    default:
-        break;
-    }
-}
diff --git a/src/ui/QGCFirmwareUpdate.h b/src/ui/QGCFirmwareUpdate.h
deleted file mode 100644
index 852c977..0000000
--- a/src/ui/QGCFirmwareUpdate.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef QGCFIRMWAREUPDATE_H
-#define QGCFIRMWAREUPDATE_H
-
-#include <QWidget>
-
-namespace Ui
-{
-class QGCFirmwareUpdate;
-}
-
-class QGCFirmwareUpdate : public QWidget
-{
-    Q_OBJECT
-public:
-    QGCFirmwareUpdate(QWidget *parent = 0);
-    ~QGCFirmwareUpdate();
-
-protected:
-    void changeEvent(QEvent *e);
-    void showEvent(QShowEvent* event)
-    {
-        QWidget::showEvent(event);
-        emit visibilityChanged(true);
-    }
-
-    void hideEvent(QHideEvent* event)
-    {
-        QWidget::hideEvent(event);
-        emit visibilityChanged(false);
-    }
-
-private:
-    Ui::QGCFirmwareUpdate *ui;
-
-signals:
-    void visibilityChanged(bool visible);
-};
-
-#endif // QGCFIRMWAREUPDATE_H
diff --git a/src/ui/QGCFirmwareUpdate.ui b/src/ui/QGCFirmwareUpdate.ui
deleted file mode 100644
index cd2aa4e..0000000
--- a/src/ui/QGCFirmwareUpdate.ui
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>QGCFirmwareUpdate</class>
- <widget class="QWidget" name="QGCFirmwareUpdate">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>596</width>
-    <height>343</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <layout class="QGridLayout" name="gridLayout">
-   <item row="0" column="0">
-    <widget class="QComboBox" name="autopilotComboBox"/>
-   </item>
-   <item row="1" column="0">
-    <widget class="QWidget" name="widget" native="true"/>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/ui/QGCPxImuFirmwareUpdate.cc b/src/ui/QGCPxImuFirmwareUpdate.cc
deleted file mode 100644
index 330d6b9..0000000
--- a/src/ui/QGCPxImuFirmwareUpdate.cc
+++ /dev/null
@@ -1,56 +0,0 @@
-/*=====================================================================
-
-QGroundControl Open Source Ground Control Station
-
-(c) 2009, 2010 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
-
-This file is part of the QGROUNDCONTROL project
-
-    QGROUNDCONTROL is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    QGROUNDCONTROL is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
-
-======================================================================*/
-
-/**
- * @file
- *   @brief Implementation of QGCPxImuFirmwareUpdate
- *   @author Lorenz Meier <mavteam@student.ethz.ch>
- *
- */
-
-#include "QGCPxImuFirmwareUpdate.h"
-#include "ui_QGCPxImuFirmwareUpdate.h"
-
-QGCPxImuFirmwareUpdate::QGCPxImuFirmwareUpdate(QWidget *parent) :
-    QWidget(parent),
-    ui(new Ui::QGCPxImuFirmwareUpdate)
-{
-    ui->setupUi(this);
-}
-
-QGCPxImuFirmwareUpdate::~QGCPxImuFirmwareUpdate()
-{
-    delete ui;
-}
-
-void QGCPxImuFirmwareUpdate::changeEvent(QEvent *e)
-{
-    QWidget::changeEvent(e);
-    switch (e->type()) {
-    case QEvent::LanguageChange:
-        ui->retranslateUi(this);
-        break;
-    default:
-        break;
-    }
-}
diff --git a/src/ui/QGCPxImuFirmwareUpdate.h b/src/ui/QGCPxImuFirmwareUpdate.h
deleted file mode 100644
index c724cf2..0000000
--- a/src/ui/QGCPxImuFirmwareUpdate.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*=====================================================================
-
-QGroundControl Open Source Ground Control Station
-
-(c) 2009, 2010 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
-
-This file is part of the QGROUNDCONTROL project
-
-    QGROUNDCONTROL is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    QGROUNDCONTROL is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
-
-======================================================================*/
-
-/**
- * @file
- *   @brief Declaration of class QGCPxImuFirmwareUpdate
- *   @author Lorenz Meier <mail@qgroundcontrol.org>
- */
-
-#ifndef QGCPXIMUFIRMWAREUPDATE_H
-#define QGCPXIMUFIRMWAREUPDATE_H
-
-#include <QWidget>
-
-namespace Ui
-{
-class QGCPxImuFirmwareUpdate;
-}
-
-class QGCPxImuFirmwareUpdate : public QWidget
-{
-    Q_OBJECT
-public:
-    QGCPxImuFirmwareUpdate(QWidget *parent = 0);
-    ~QGCPxImuFirmwareUpdate();
-
-protected:
-    void changeEvent(QEvent *e);
-
-private:
-    Ui::QGCPxImuFirmwareUpdate *ui;
-};
-
-#endif // QGCPXIMUFIRMWAREUPDATE_H
diff --git a/src/ui/QGCPxImuFirmwareUpdate.ui b/src/ui/QGCPxImuFirmwareUpdate.ui
deleted file mode 100644
index 8f4111c..0000000
--- a/src/ui/QGCPxImuFirmwareUpdate.ui
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>QGCPxImuFirmwareUpdate</class>
- <widget class="QWidget" name="QGCPxImuFirmwareUpdate">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>400</width>
-    <height>300</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <layout class="QGridLayout" name="gridLayout">
-   <item row="0" column="0" colspan="5">
-    <widget class="QGroupBox" name="groupBox">
-     <property name="title">
-      <string>Instructions</string>
-     </property>
-     <layout class="QHBoxLayout" name="horizontalLayout">
-      <property name="margin">
-       <number>2</number>
-      </property>
-      <item>
-       <widget class="QPlainTextEdit" name="plainTextEdit">
-        <property name="plainText">
-         <string>&lt;h1&gt;pxIMU Firmware Update&lt;/h1&gt;
-
-&lt;li&gt;
-  &lt;item&gt;Item 1&lt;/item&gt;
-&lt;/li&gt;
-</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item row="1" column="0" colspan="2">
-    <widget class="QRadioButton" name="radioButton">
-     <property name="text">
-      <string>From File</string>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="2" colspan="2">
-    <widget class="QLabel" name="label_3">
-     <property name="text">
-      <string>Choose file..</string>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="4">
-    <widget class="QPushButton" name="pushButton_2">
-     <property name="text">
-      <string>Choose File</string>
-     </property>
-    </widget>
-   </item>
-   <item row="2" column="0" colspan="2">
-    <widget class="QRadioButton" name="radioButton_2">
-     <property name="text">
-      <string>From Internet</string>
-     </property>
-    </widget>
-   </item>
-   <item row="2" column="2" colspan="2">
-    <widget class="QLabel" name="label_4">
-     <property name="text">
-      <string>Firmware v.0.2.1</string>
-     </property>
-    </widget>
-   </item>
-   <item row="2" column="4">
-    <widget class="QPushButton" name="pushButton_3">
-     <property name="text">
-      <string>Download</string>
-     </property>
-    </widget>
-   </item>
-   <item row="3" column="0">
-    <widget class="QLabel" name="label">
-     <property name="text">
-      <string/>
-     </property>
-    </widget>
-   </item>
-   <item row="3" column="1" colspan="2">
-    <widget class="QLabel" name="label_2">
-     <property name="text">
-      <string>Waiting for first user action</string>
-     </property>
-    </widget>
-   </item>
-   <item row="3" column="3" colspan="2">
-    <widget class="QPushButton" name="pushButton">
-     <property name="text">
-      <string>Flash Firmware</string>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/ui/firmwareupdate/QGCFirmwareUpdateWidget.cc b/src/ui/firmwareupdate/QGCFirmwareUpdateWidget.cc
deleted file mode 100644
index 3b41f42..0000000
--- a/src/ui/firmwareupdate/QGCFirmwareUpdateWidget.cc
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "QGCFirmwareUpdateWidget.h"
-#include "ui_QGCFirmwareUpdateWidget.h"
-
-QGCFirmwareUpdateWidget::QGCFirmwareUpdateWidget(QWidget *parent) :
-    QWidget(parent),
-    ui(new Ui::QGCFirmwareUpdateWidget)
-{
-    ui->setupUi(this);
-}
-
-QGCFirmwareUpdateWidget::~QGCFirmwareUpdateWidget()
-{
-    delete ui;
-}
diff --git a/src/ui/firmwareupdate/QGCFirmwareUpdateWidget.h b/src/ui/firmwareupdate/QGCFirmwareUpdateWidget.h
deleted file mode 100644
index 44a471c..0000000
--- a/src/ui/firmwareupdate/QGCFirmwareUpdateWidget.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef QGCFIRMWAREUPDATEWIDGET_H
-#define QGCFIRMWAREUPDATEWIDGET_H
-
-#include <QWidget>
-
-namespace Ui {
-class QGCFirmwareUpdateWidget;
-}
-
-class QGCFirmwareUpdateWidget : public QWidget
-{
-    Q_OBJECT
-    
-public:
-    explicit QGCFirmwareUpdateWidget(QWidget *parent = 0);
-    ~QGCFirmwareUpdateWidget();
-    
-private:
-    Ui::QGCFirmwareUpdateWidget *ui;
-};
-
-#endif // QGCFIRMWAREUPDATEWIDGET_H
diff --git a/src/ui/firmwareupdate/QGCFirmwareUpdateWidget.ui b/src/ui/firmwareupdate/QGCFirmwareUpdateWidget.ui
deleted file mode 100644
index 442db35..0000000
--- a/src/ui/firmwareupdate/QGCFirmwareUpdateWidget.ui
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>QGCFirmwareUpdateWidget</class>
- <widget class="QWidget" name="QGCFirmwareUpdateWidget">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>638</width>
-    <height>412</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <layout class="QGridLayout" name="gridLayout">
-   <item row="0" column="0" colspan="2">
-    <widget class="QLabel" name="label_2">
-     <property name="text">
-      <string>1) Select Autopilot</string>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="0" colspan="2">
-    <widget class="QListWidget" name="autopilotListWidget"/>
-   </item>
-   <item row="1" column="2">
-    <widget class="QTextEdit" name="textEdit">
-     <property name="readOnly">
-      <bool>true</bool>
-     </property>
-     <property name="html">
-      <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
-&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:large; font-weight:600;&quot;&gt;Autopilot Selection&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Select one of the connected autopilots from the list on the left.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="3" rowspan="4" colspan="2">
-    <widget class="QTextEdit" name="firmwareInfo">
-     <property name="readOnly">
-      <bool>true</bool>
-     </property>
-     <property name="html">
-      <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
-&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:large; font-weight:600;&quot;&gt;AP Firmware v0.9.1&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;This software update...&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;FIXES:&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;- Fix1&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;FEATURES:&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;- New feature 1&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-     </property>
-    </widget>
-   </item>
-   <item row="2" column="0" colspan="2">
-    <widget class="QLabel" name="label_3">
-     <property name="text">
-      <string>2) Select Software Version</string>
-     </property>
-    </widget>
-   </item>
-   <item row="3" column="0" colspan="2">
-    <widget class="QListWidget" name="firmwareListWidget"/>
-   </item>
-   <item row="3" column="2" rowspan="2">
-    <widget class="QTextEdit" name="textEdit_2">
-     <property name="readOnly">
-      <bool>true</bool>
-     </property>
-     <property name="html">
-      <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
-&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot; margin-top:14px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:large; font-weight:600;&quot;&gt;Software Version Selection&lt;/span&gt;&lt;/p&gt;
-&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:10pt;&quot;&gt;Select the software version from the online repository on the left or choose the select file button to load a file from the harddisk. Detail information is shown on the right.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-     </property>
-    </widget>
-   </item>
-   <item row="4" column="1">
-    <widget class="QPushButton" name="selectFileButton">
-     <property name="text">
-      <string>Select File..</string>
-     </property>
-    </widget>
-   </item>
-   <item row="5" column="0" rowspan="2" colspan="5">
-    <widget class="QProgressBar" name="progressBar">
-     <property name="value">
-      <number>24</number>
-     </property>
-    </widget>
-   </item>
-   <item row="6" column="4" rowspan="2">
-    <widget class="QPushButton" name="flashFirmwareButton">
-     <property name="text">
-      <string>Flash Firmware</string>
-     </property>
-    </widget>
-   </item>
-   <item row="7" column="0">
-    <widget class="QLabel" name="label">
-     <property name="text">
-      <string>Status</string>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/ui/firmwareupdate/QGCPX4FirmwareUpdate.cc b/src/ui/firmwareupdate/QGCPX4FirmwareUpdate.cc
deleted file mode 100644
index 508de6a..0000000
--- a/src/ui/firmwareupdate/QGCPX4FirmwareUpdate.cc
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "QGCPX4FirmwareUpdate.h"
-#include "ui_QGCPX4FirmwareUpdate.h"
-
-QGCPX4FirmwareUpdate::QGCPX4FirmwareUpdate(QWidget *parent) :
-    QWidget(parent),
-    ui(new Ui::QGCPX4FirmwareUpdate)
-{
-    ui->setupUi(this);
-}
-
-QGCPX4FirmwareUpdate::~QGCPX4FirmwareUpdate()
-{
-    delete ui;
-}
diff --git a/src/ui/firmwareupdate/QGCPX4FirmwareUpdate.h b/src/ui/firmwareupdate/QGCPX4FirmwareUpdate.h
deleted file mode 100644
index 3d7e503..0000000
--- a/src/ui/firmwareupdate/QGCPX4FirmwareUpdate.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef QGCPX4FIRMWAREUPDATE_H
-#define QGCPX4FIRMWAREUPDATE_H
-
-#include <QWidget>
-
-namespace Ui {
-class QGCPX4FirmwareUpdate;
-}
-
-class QGCPX4FirmwareUpdate : public QWidget
-{
-    Q_OBJECT
-    
-public:
-    explicit QGCPX4FirmwareUpdate(QWidget *parent = 0);
-    ~QGCPX4FirmwareUpdate();
-    
-private:
-    Ui::QGCPX4FirmwareUpdate *ui;
-};
-
-#endif // QGCPX4FIRMWAREUPDATE_H
diff --git a/src/ui/firmwareupdate/QGCPX4FirmwareUpdate.ui b/src/ui/firmwareupdate/QGCPX4FirmwareUpdate.ui
deleted file mode 100644
index 1fdcba7..0000000
--- a/src/ui/firmwareupdate/QGCPX4FirmwareUpdate.ui
+++ /dev/null
@@ -1,143 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>QGCPX4FirmwareUpdate</class>
- <widget class="QWidget" name="QGCPX4FirmwareUpdate">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>400</width>
-    <height>300</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Form</string>
-  </property>
-  <layout class="QGridLayout" name="gridLayout">
-   <item row="0" column="0" colspan="4">
-    <widget class="QTabWidget" name="tabWidget">
-     <property name="currentIndex">
-      <number>2</number>
-     </property>
-     <widget class="QWidget" name="firmwareSelectTab">
-      <attribute name="title">
-       <string>Firmware</string>
-      </attribute>
-      <layout class="QGridLayout" name="gridLayout_2">
-       <property name="leftMargin">
-        <number>6</number>
-       </property>
-       <property name="rightMargin">
-        <number>6</number>
-       </property>
-       <property name="bottomMargin">
-        <number>6</number>
-       </property>
-       <item row="0" column="0" colspan="2">
-        <widget class="QListWidget" name="fileList"/>
-       </item>
-       <item row="1" column="0">
-        <widget class="QLineEdit" name="fileLineEdit"/>
-       </item>
-       <item row="1" column="1">
-        <widget class="QPushButton" name="selectFileButton">
-         <property name="text">
-          <string>Select File</string>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </widget>
-     <widget class="QWidget" name="settingsBackupTab">
-      <attribute name="title">
-       <string>Settings</string>
-      </attribute>
-      <layout class="QGridLayout" name="gridLayout_3">
-       <item row="0" column="0">
-        <widget class="QLineEdit" name="lineEdit"/>
-       </item>
-       <item row="0" column="1">
-        <widget class="QPushButton" name="settingsStoreButton">
-         <property name="text">
-          <string>Select File</string>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </widget>
-     <widget class="QWidget" name="flashTab">
-      <attribute name="title">
-       <string>Flash Firmware</string>
-      </attribute>
-      <layout class="QGridLayout" name="gridLayout_4">
-       <item row="0" column="0">
-        <widget class="QLabel" name="fileLabel">
-         <property name="text">
-          <string>Filename</string>
-         </property>
-        </widget>
-       </item>
-       <item row="1" column="0">
-        <widget class="QProgressBar" name="progressBar">
-         <property name="value">
-          <number>24</number>
-         </property>
-        </widget>
-       </item>
-       <item row="2" column="0">
-        <widget class="QLabel" name="statusLabel">
-         <property name="text">
-          <string>Status</string>
-         </property>
-        </widget>
-       </item>
-       <item row="3" column="0">
-        <widget class="QPushButton" name="flashButton">
-         <property name="text">
-          <string>Flash Firmware</string>
-         </property>
-        </widget>
-       </item>
-      </layout>
-     </widget>
-    </widget>
-   </item>
-   <item row="1" column="0">
-    <spacer name="horizontalSpacer">
-     <property name="orientation">
-      <enum>Qt::Horizontal</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>40</width>
-       <height>20</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item row="1" column="1">
-    <widget class="QPushButton" name="pushButton">
-     <property name="text">
-      <string>Prev</string>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="2">
-    <widget class="QPushButton" name="pushButton_2">
-     <property name="text">
-      <string>Next</string>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="3">
-    <widget class="QPushButton" name="pushButton_3">
-     <property name="text">
-      <string>Flash</string>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>