User Tools

Site Tools


misc:hacks:gps

This is an old revision of the document!


Adding a u-blox MAX-7 GPS module

What you need

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 here)
sudo apt-get install python-sip-dev python-qt4-dev kdelibs5-dev

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 gps_ublox_dev branch and the client is on the 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 means that it takes at least ~30 seconds to get a fix. This will be improved in the future.

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 DebugDriver which will send fake latitude/longitude/altitude to the UI.

misc/hacks/gps.1395696520.txt.gz · Last modified: 2015-07-15 16:30 (external edit)