This page has deprecated and will be archived. Please go to [[https://www.bitcraze.io/]]. ====== Adding a u-blox MAX-7 GPS module ====== ===== What you need ===== * u-blox MAX-7 GPS breakout (we have [[http://ava.upuaut.net/store/index.php?route=product/product&path=59_60&product_id=52|one from HAP Supplies]]) * KDE Marble built with Python bindings ===== How to get it working ===== These instructions are valid for Ubuntu 13.10 but similar steps should work with other distros. * Attach the u-blox beakout to the expansion header by connecting the following pins (breakout -> Crazyflie expansion header): * GND -> DGND (pin 17) * VCC -> VCC (pin 15) * TXD -> TX (pin 5) * RXD -> RX (pin 3) * Since the Python bindings for Marble isn't built by default you will have to build Marble from source and enable these (instructions taken from [[http://techbase.kde.org/Projects/Marble/MarblePythonInstructions|here]]) sudo apt-get install python-sip-dev python-qt4-dev kdelibs5-dev python-kde4 git clone git://anongit.kde.org/marble.git ~/marble/sources -b KDE/4.12 mkdir -p ~/marble/build cd ~/marble/build cmake ~/marble/sources -DCMAKE_BUILD_TYPE=Release -DEXPERIMENTAL_PYTHON_BINDINGS=TRUE -DCMAKE_INSTALL_PREFIX=/usr/local make sudo make install * Make sure you have the correct firmware/software (the firmware is on the [[https://github.com/bitcraze/crazyflie-firmware/tree/gps_ublox_dev|gps_ublox_dev]] branch and the client is on the [[https://github.com/bitcraze/crazyflie-clients-python/tree/gpstab|gpstab]] branch) ===== Tweaking and development ===== There's no assisted GPS or battery backup so every time the Crazyflie is powered on the GPS module does a cold-start, which a while to get a fix. During ideal conditions it should be 42 seconds (according to datasheet) but during testing we have seen times closer to 4-6 minutes. The plan is to improve this in the future by implementing assisted GPS (downloading almanac on the PC and transferring via CRTP). Getting a position fix will not be as easy as with your phone, so make sure to be outside (or at least stick the Crazyflie a couple of meters outside the window). If you don't have a GPS module you can still use the [[projects:crazyflie:pc_utils:debugdriver|DebugDriver]] which will send fake latitude/longitude/altitude to the UI.