3D Robotics

Tutorial: Programming your uBlox GPS module

Although you can buy the uBlox modules pre-programmed from the DIY Drones store, you may want to do it yourself, either because you want to update the firmware or change some settings, or because you've bought the module from Sparkfun because we were out of stock and you need to set it up to use with ArduPilot.

Here's a simple tutorial on how to program your module (it replaces this older tutorial):

First, you'll need the DIY Drones adapter if you don't already have it.

You can use our GPS-to-FTDI cable to connect this directly to your PC, or make your own.

If you're going make your own, solder a four pin header on the pins below the GPS connector on the adapter, as shown above. Now connect it to your FTDI cable, with the pin mappings shown above. I use jumper cables and a six-pin breakaway header for this, as shown below, but you can use any method you want, including making a custom cable, which is the neatest method if you plan to do this more than once:

Jumper wires connected to six-pin header:


Header plugged into FTDI cable:


Once you've made the physical connections, download and install the U-center software from uBlox. (It doesn't work on Windows 7, so if that's what you're using, open a virtual Windows XP mode window to run the software in. You'll also need to "attach" the FTDI USB serial ports, which you should be pretty familiar with if you use virtual XP mode).

Now run the U-center software, selecting the Com port that your FTDI cable is attached to. You also need to tell it what baud rate the GPS module is running at. If you got it from the DIY Drones store, it's 38,400. If you got it from Sparkfun, it's probably 9,600:


You can tell if it's working by going to View/Binary Console. You should see the data flowing through. Also, the icons circled below should be green or flashing green (it's not showing a sat lock because I'm indoors):


If it's not working, check these things:

1) Did you wire it up right?
2) Did you select the right Com port?
3) Did you select the right baud speed?

If you want to update the firmware, you can get the latest uBlox firmware here. Use the one for the "LEA-5H" modules.

To flash the new firmware go to Tools/Firmware update. Make sure the firmware image points to the file you downloaded and unzipped.


To configure a module to use with ArduPilot, download this file.

Go to Tools/GPS configuration, and select the file you just downloaded. Check the "Store configuration..." box and click on "File >>> GPS".



If you were communicating with the module at any speed other than 38,400, you'll find that the configuration process will fail midway through. That's because it's just gotten to the bit that changes the communications speed to 38,400. Set your u-center com speed to 38,400 and run it again. It should work this time.

When you're done, go to Receiver>> Action>> then click Save Config. Otherwise, every time you unplug your gps, it will revert back to the original configuration.
E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Excellent tutorial - just the badger
    u-center works with wine too - which is nice
    Thanks
  • Interestingly I actually managed to use straight Win 7 Home Premium 64 bit to update the GS407 so that the arduimu now gets a gps lock. The GPS module doesn't seem to be reporting satellites properly, but I thought that could be an issue with the config changes (as it was doing so fine before I made the config change).
  • Moderator
    Thanks for your help :)
  • Developer
    Alex, Click on "F9" or click on "View" menu and select "Messages", then double click on SVINFO, it will turn bold when active. All Sat's data will start to display.
    Do NOT save configuration with SVINFO on or you will not get a lock!
    Just disconnect uBlox when done viewing.
    You can re-connect uBlox to verify only required messages are on, POSLLH, SOL, STATUS, and VELNED only.
  • Moderator
    Thanks but I cant seem to find where the SVINFO thing is to click on?
  • Developer
    Alex, when uCenter does this, just click on SVINFO and it will display Sats etc.
  • We talked about this a while back. They sent it programmed for 9600 instead of 38400. I reconfigured it and had it working perfectly...but it went haywire all of a sudden. I have it back to firmware 5.0 and I have it configured for 38400 baud again....I am trying to get a lock again now.
  • 3D Robotics
    Update the right firmware first. Remember that the new firmware defaults to 9600. Change the baud rate and try again. Just follow the process word for word and you should be okay...

    But out of curiosity, why are you doing this anyway? Your GPS was configured at the DIY Drones store, wasn't it? There's no need to go through this if so...
  • When I try to upload the configuration file it gives me the "wrong gps version" error message......and the GPS will only work on 9600.........I exported the config file on the GPS and it matches up perfectly with the configuration file that I am supposed to download....so why is it not working on 38400 baud? I had it working for weeks.and all of a sudden...it wont' work
  • Moderator
    Hey, thanks for the tutorial, I upgraded my firmware to 6.02 and used the config file provided (v11) I got a warning when flashing the config file saying that the config file is for version 6, and my firmware is 6.02, however i still continued with the flash and it worked fine. I can get a GPS lock and seems to be correct position but there is a problem. I cant see the time stamp, or see how many satellites the GPS module is connected to in ucenter? (the sky view remains blank, so does the other appropriate windows), but my speed, heading position all work fine. Is there any reason why?
This reply was deleted.