How to Interface and Configure a GPS module for CC3D Flight Controller

Published  January 3, 2022   0
GPS Configuration for CC3D Flight Controller

CC3D (Copter control 3) is a flight controller, which is developed by Open Pilot and is completely open-source. In this tutorial, we are going to interface the CC3D flight controller with the NEO-6M GPS module. GPS is used in drones for many purposes like position hold, delivery, return to position, and many more but the CC3D flight controller does not support the return to base and position hold functionalities as it does not have enough memory for that. The only reason for employing GPS is for telemetry via radio modems (OPLink) or to relay GPS position to an OSD device. In this tutorial, we will see how to set up a GPS module using the TTL module and after that, we will interface the CC3D flight controller with the GPS module (Neo-6m).


First, you have to download U center software. U-center is a powerful GNSS (Global navigation satellite system) evaluation and visualization tool that enables end-users to evaluate and test the navigation and positioning performance of u-blox GNSS positioning chips and modules. You can download the u-center for windows (v.21.09) by using this link. In the below image, you can see the blue circled downloadable link.


One thing you should remember is that this software is for only windows. It does not support Linux and Mac.

Components Required for Interfacing GPS with CC3D Flight Controller

  • Neo-6m GPS module with antenna
  • USB to TTL module
  • PC with Windows OS
  • Jumper wires
  • U-center v21.09 software

Configuring GPS for CC3D Flight Controller

After downloading the u-center v.21.09, you need to install it. And follow the below steps to configure your GPS.

Step-1 Connect USB to TTL module with Neo-6m GPS according to the given table and circuit diagram. You have to do a serial connection between the GPS module and USB to the TTL module.

TTL module With Neo-6m GPS

USB to TTL Module

GPS Module









Step-2 After stabilizing the connection between the TTL module and GPS. Now, insert TTL module USB in your PC and open the U-center v.21.09 software. You will see the below screen on your PC. 

U center software

Step-3 Now, select the COM port for your GPS module. COM port option will be converted into green color after stabilizing the connection. If you are not able to see your COM port in this connection then you have to install a driver for it.

COM port on U-center software

Step-4 Go to the View option and click on the Packet Console option. You should see message output from your GPS in the packet console window. If it is not showing any GPS output then try to connect it again and follow the same process.

Packet Console on U-center software

Step-5 Go to the View option and click on the Configuration View option. Now, click on CFG (configuration) option on the left-hand side and select the Revert to default configuration option.

Configuration View on U-center software

Now click on the send option at the bottom of the configuration window.

send option at configuration window

Step-6 Go to the View option and select the Message View option. Disable all the active NMEA messages.

Disable NMEA messages on U-center

Go to the UBX option and enable the following in NAV (navigation) and NAV2 options.





UBX option on U-center Software

Now, save the current configuration by clicking on save current receiver configuration at the top menu bar. You can see the save button in the red circle.

save current receiver configuration on u-center

Note- By using this configuration we cannot display the GPS plugin because GPS does not send SVINFO messages. CC3D flight controller works only with the minimum messages (VELNED, SOL, DOP, POSLLH).

Step-7 Go to the View option and select the Configuration View option. Scroll down and select the PRT (ports) option. Give the Target, Protocol in, Protocol out, and Baud rate values according to the below image.

Configure Port on U-center Software

Note- You can select 19200 or 9600 baud rate for the CC3D flight controller.

Now click on the send option at the bottom of the configuration window.

Step-8 Now, go to the RATE (rates) option in the left column and select the Time source and Measurement Period according to the below image.

Configure Rates on U-center Software

Now click on the send option at the bottom of the configuration window.

Step-9 Go to the CFG option and select the Save current configuration option. All devices should be selected in blue.

CFG option on U-center

Now click on the send option at the bottom of the configuration window. After this remove the TTL module from your PC.

Step-10 After configuring the Software part now connect the NEO-6M GPS module with the main port of the CC3D flight controller as shown in the below image and connect the CC3D flight controller with your PC by using a micro-USB cable.

CC3D flight controller with NEO-6M GPS module Connection

Step-11 Now, open the liber pilot GCS (ground control station) software and click on the configuration option.

liber pilot GCS software

Step-12 Click on the Hardware option on the left-hand side and select the main port as GPS. Select telemetry speed 57600 and GPS speed 38400. But you will not be able to see GPS protocol.

hardware option on liber-pilot-GCS-software

To enable GPS protocol, go to the system option at the bottom menu bar then click the settings option. Now, go to Hw settings then click on the Optional Modules option. Go to the GPS option and enable the GPS.

enable GPS protocol on liber pilot GCS software

To upload settings to the CC3D board, click the upside arrow on the top left corner of the window. Remove CC3D connection with PC and plugin again it into PC. Open the GCS software, now you are able to see GPS protocol on it.

upload settings to the CC3D board

Click on the Save button to save all the settings.

Step-14 Go to the flight data option and now you can see green colored GPS option, which means GPS is working properly. If the GPS option is black colored then it means that GPS is not properly connected with the CC3D board.

flight data option on liber pilot GCS software

In the below image, you can see a cross sign in GPS, which means GPS is not properly connected.

cross sign in GPS

So, this is how you can interface GPS with the CC3D flight controller. Hope you enjoyed the project and learned something useful. If you have any questions, please leave them in the comment section below or use our forum to start a discussion on this.

Have any question realated to this Article?

Ask Our Community Members