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


  • MR60


    Lots of people are looking for the FLASH DEFINITION FILE. Is is not mentioned where to find it in the tutorial.

    You will find this file in the directory where you installed u-Center : directory/\u-blox\u-center\contents\flash.txt


    (I have been looking myself for it for a few hours...)

  • Hi Chris, u-center is now works on windows 7.



  • I am looking for the flash definition file that needs to be loaded with the firmware update. I try to update the firmware to v6.00 / 6.02. My upload screen all goes well until it looks for the flash definition file and then the screen goes red and the firmware is not flashed.... pls help me...... :(  i use 9600 braud rate...and flash definition fileC:\Program Files\u-blox\u-center\flash.txt.... but still the screen goes red and the firmware is not flashed..... :(

  • Developer

    I could not find Flash Definition file location, but thanks to Jack Crossfire, It was solved.

    "4 U Blox fans, to flash the Blox, once U have u-Center working & found your way to the "Firmware update u-Blox5" window, U need to specify the .BIN image for "Firmware Image" & for the "Flash Definition File", specify C:\Program Files\u-blox\u-center\flash.txt. They didn't mention that nugget of information in the GUI.

    If U screw this up, your blox won't boot anymore until its RAM is reset. You'll have to either short circuit the coin cell or wait a day for it to die on its own, not that the coin cell serves any purpose other than ballast."


  • Hello

    I have ublox6m, i can successfully change the baud rate to 38400, but still have error when upload the configuration file.  Any guys can success to config Ublox6m used with apm2?

  • Hello dears,

    i would like to bother you for a question might seem to be unconcerned with this forum. I have salvaged a GPS module from an old car tracker, The Module is PROGIN NR-85-R. I want to connect this module with my laptop but I do not know how to convert its signals into USB?

    Its specifications are:

    Pin2 UART Tx NMEA Serial data output

    Pin3 UART Rx NMEA Serila data input.

    So please can anyone help me to configure it? the company ProGin says there is a USB cable for it but I fear it would to much costly to order it in Pakistan, in fact more costly than a pre-built gps receiver.

    Hope someone will help me.


    Ahmad Pakistan.

    ProGin Technology Inc.
  • Hi Chris,

    I can't get a Lock no matter how long I wait. I've checked with the U-center, and everything seems ok, I get connection at 38400, green lights blink, data flows in the binary window, but no lock.

    So I reloaded the FW following the tuto, everything went smoothly, but nothing new, connection ok, green lights, data flows, but no GPS lock.

    Is there anything else I can do, any test to see if the unit is broken, anything I could log or post here for someone to check....

    Please anyone???



  • Good afternoon,
    I've got a Ublox LEA-5H-0-009. I've tried many times, but I'm not able to fix the satellites.
    I updated the firmware and tried all the solution mentioned in the forum, but nothing…seems that it works, but the antenna does not catch the satellites.
    In attached you can find the ublox center snapshots.
    Have you got any other solution?
    Thanks, Giuseppe.3692244128?profile=original

  • I have followed the instruction and flashed few times, don't seem to have any luck....any ideas...anyone?
  • What voltage are you supplying to it? I have a new GS407 module and DIYdrones breakout board for it, and I can talk to the chip and reconfigure it just fine, but I get no fixes, see no satellites, and get no time info. I have heard this can be fixed by upping the voltage but I am reluctant to try without someone who knows about this chiming in as to why that is good...
This reply was deleted.