How to Setup GPS in Betaflight / Mini Quad

In this tutorial I will show you why and how to setup GPS in Betaflight for a quadcopter. I will also explain which is the best GPS module to get.

Why Install GPS in a Quadcopter?

You can display useful info on your OSD, including the location of the quad (latitude and longitude), distance to home, speed, altitude and arrow pointing home. The last known GPS coordinates can help you find the quad if you crash.

If you use Telemetry on a receiver such as the X4R or R-XSR, you can even send the GPS coordinates to the Taranis in real-time. This makes searching for the lost quadcopter less challenging.

For flight controller firmware that supports features like “Return to Home” or “Position Hold”, requires GPS module to work.

In the latest Betaflight there is a new feature “Rescue Mode” which is similar to Return to Home. It can bring your quad back near the launch point when signals are lost. So it looks like GPS is becoming a useful part of Betaflight.

I have a tutorial explaining how to setup GPS Rescue Mode in Betaflight.

Which GPS Module to Get?

You need a small GPS module due to the limited space in a mini quad. I recommend the BN-220 because it just worked out of the box for me.

Buy BN220: http://bit.ly/2nD6QxP

Another option is the BN-880 which is bigger, but has built-in compass. It’s popular on larger models:

Buy BN880: https://amzn.to/2BctUgg

It’s important to get one with M8N chip, not the older versions such as M7N. M8N can get a GPS fix quicker because it can see two different satellite constellations (systems) at the same time. It effectively doubles the number of satellites the GPS receiver can see.

Most of these GPS units come pre-configured, you can just hook up to a flight controller out of the box. However, if you want to mess with the settings you can configure it using a serial UART adapter and the U-Center software: https://www.u-blox.com/en/product/u-center

Hardware Requirement

If you are using Betaflight, you will need an F4 or F7 flight controller. GPS function was removed for F3 boards since BF3.2 due to memory space limitations.

Connecting GPS and Flight Controller

Wiring the GPS module to a flight controller is straightforward, just connect it directly to a free UART (TX to RX, RX to TX), and power it with 5V.

How to Setup GPS in Betaflight

In the Ports tab in Betaflight, select GPS under “Sensor Input” for the UART that is connected to the GPS receiver. In this example, UART6. I just left Baud Rate at default (57600).

In the Configuration tab:

  • Enable GPS
  • Select Protocol, it’s either UBLOX or NMEA. Usually it’s UBLOX, but try the other if it’s not working
  • Enable Auto Config
  • Save and Reboot

Once you have wired and set it up correctly, you should see the GPS indicator light up at the top of the configurator.

Now you need to wait for the GPS unit to get a “3D fix” (when it sees at least 4 satellites). It might take a few minutes depends on your location.

When it does, the red LED on the BN-220 module should blink (together with the blue LED). You will see information under GPS in the Setup page, where it says “3D Fix” is True, and shows your coordinates.

In order to get a satellite fix sooner, you might want to perform this outdoor, or as close to the windows as possible if you are indoor, with the antenna pointing to the sky.

You have two options to display GPS info: via Betaflight OSD or/and Radio Telemetry.

Check out this tutorial about Betaflight OSD if you are not familiar with it. You can display GPS coordinates, distance and direction to home and many more

Another thing you can do is to use your Taranis to log the real-time coordinates via Telemetry (SmartPort or Crossfire). If you crash, you have the last known position of your aircraft.

Power on the quad, go to the Taranis telemetry page, select “Discover new sensors”. New sensors including GPS coordinates should now appear.

Testing

You want to test the GPS thoroughly before relying on it for long range flying. First thing I would test is to see if the GPS coordinates you are getting is correct. Enter them in Google Maps, and see if it points to where you are.

Repeat this in a few different places if possible.

Tips Mounting your GPS module

Make sure nothing is blocking or interfering with the GPS unit at anytime. Mount it on top of your quad and away from the VTX antenna. By leaving long enough wires allows for more flexible installation. Here are some ideas:

On top of your GoPro/HD camera.

On top of the LiPo battery (you can also mount it on your strap with 3D printed mount).

Top of your frame if you have an under-slung battery.

Using a mast to keep the GPS unit as far away from the quad as possible. But probably a bad idea to have it so close to the VTX antenna in this example…

The rule of thumb is that the GPS must see the sky at all times (except when you are doing a roll or inverted yaw spin).

Before your flight, It can take a while to get a GPS lock. You might want to power on your quad and GPS beforehand to “warm up” first, e.g. on the way to the flying field.

Additional Sensors for GPS

Additional sensors are not required for GPS. But by combining measurements from other sensors can give you a better picture of what the drone is doing. I will add more info here later.

Barometer

A barometer is a pressure sensor that for measuring the aircraft’s altitude. It’s more accurate than using GPS’s estimation. Some flight controllers come with a Barometer, usually the BMP280. (Kakute F7)

Compass/Magnetometer

The compass is for measuring which direction the quadcopter is facing. It’s usually an external sensor that you need to connect to the FC via i2c port.

19 thoughts on “How to Setup GPS in Betaflight / Mini Quad

  1. Mark Pfeifer

    Hi Oscar

    Thanks for the great tutorial, the RTH worked the first time I tried it. So cool! Is there any way you know to synch up the betaglight/crossfire combo to interface with an androud GPS Tracking app like Pilot so you can visually track the quad’s route (and have that data stored if the quad goes down)? I have used Dragonlink in the past and it had a way to do this.

    Reply
  2. Dustin MacFall

    Using Betaflight. Gps works great, except altitude reads over 600 meters, standing in my backyard. That might be “above sea level”? I thought it zero out each time it armed. How to zero out gps altitude. Barometer off btw. Same problem with it on tho. Can I use on board Barometer instead of gps altitude? Thanks.

    Reply
  3. James

    Just installed as you instructed and my bn220 will not pick up and satellites. The red led will not light up and won’t flash after 20 mins of waiting to find satellites on a clear day! And ideas!

    Many thanks

    Reply
  4. Red

    Hi Oscar, got the bn-220, fires up but never sees a single satellite. Instruction say default nmea. If I use that the betaflight doesn’t show any GPS connected. If set back to ublox I get GPS show and no sats. Any ideas what going on?

    Reply
    1. Oscar Post author

      were you outdoor when testing? You might need a laptop for that :) You can also run into problem in cloudy/rainy days, so try to do this under a clear sky :)
      Or move the board as close to a window as possible if you can’t do it outdoor.
      With the BN220 only UBLOX works for me so try that one :)

      Reply
  5. Steph

    “Another thing you can do is to use your Taranis to log the real-time coordinates via Telemetry (SmartPort or Crossfire). If you crash, you have the last known position of your aircraft.”

    I don’t understand this one ? My GPS is connected to TX3 RX3, Do I need to connect my TX to smartPort ? What if I’m already using smartport ?

    Reply
  6. Attila Kovacs

    Hi Oscar
    Have done all of the above and everything is working in betaflight with 12sats sometimes more and with a good fix.The problem i am having is when i enable GPS rescue the quad just drops.
    Any ideas??

    Reply
    1. Michael Ellicott

      in some versions of betaflight set as default, if your craft is closer to you than 100mtrs, the craft will DROP ! not even sure if this setting can be changed in CLi

      Reply
  7. Hs293Go

    Beitian GPS modules are very cost-effective and work well with GPS-based functions in Betaflight. But here’s a word of caution from an Ardupilot user: BE CAREFUL WHEN USING BEITIAN MODULES FOR WAYPOINT NAVIGATION / AUTO MODES.

    Beitian modules work perfectly in ideal conditions, but are substantially less fault-tolerant; positioning accuracy quickly drops off if the sky is slightly cloudy.

    Reply
  8. kev

    Hi Oscar
    thanks for the review, from what you said is the BN-220 not worth adding to a F3 flight controller at all ?
    I know in Betaflight they have removed a lot of things now for F3 but is it just the fail safe GPS features they have removed ? would it still be possible to get the Long and Lat going to the Taranis or is that feature gone too. also all the OSD stuff…
    OR for the full features to work on F3 Fc (such as full OSD, all the tarais stuff and fail safe stuff,)what version of betaflight would be needed, you say it’s been removed since betaflight 3.2 so would 3.2 be ok or an even lower version,
    Many thanks and keep up these great reviews

    Reply
  9. Matthew Earle

    I cant seem to get the GPS setup for the life of me. I have 4 different GPS modules and two different quads with different flight controllers and have the same issue. Betaflight will show GPS signal strength and number of Sats but will never get a fix. Just says GPS fix false even though i have 12+ sats listed.

    If it Setup Serial Passthough in betaflight it connects to U-center fine (through the flight controller) and has a GPS fix. It does not seem to save any settings though in the configuration. I’m trying to use Beitian BN-180 and the UBLOX Micro M8N.

    I only get the Sat strength showing up if i setup Baud to 9600 and NMEA as the protocol. Ublox protocol never seems to work and the auto baud doesn’t work either. I’ve tried every combo i can think of. I’m at my wits end and been working on this for two weeks.
    Any help would be appreciated.

    Reply
    1. Oscar Post author

      As far as i know the BN180 doesn’t have flash memory so it won’t save any changes, that’s why i recommend the BN220 instead which works out of the box for me.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Are you Robot? *

For prompt technical support, please use our forum IntoFPV.com. I check blog comments weekly.