The timing of this is poor, but I figured people might want to try an alternative to the quickly developing Andropilot.  I'd like to release what I have been working on, just to get feedback and bug reports.

The development of Copter-GCS stalled quite some time ago, but I recently picked up the source and started fixing bugs and adding features.  The app still has some quirks, and the UI is pretty terrible, but the function is there:

It includes:

-A full Heads Up Display

-Mission planning, with all commands and parameters available

-Follow-Me with offset mode, Guided Mode flight

-a Command Line terminal

-built for Android 2.2 and up

-full parameter editing

-works for Arduplane and Arducopter

-text to speach announces mode changes and waypoints reached


The included mission planner needs some instructions for use. All possible options are available, so it may be a bit dangerous if you don't use them correctly.


-to set a waypoint, long press in the map view, or use the "add waypoint" button in the list view menu.

-waypoint 0 is the uav's home location. It is important to keep the elevation frame as "Mav_frame_global" this means you are using actual ground elevation

-this app will automatically set the ground elevation (from Google's API) which is why it may pause for a few seconds when the first waypoint is added.

-when you add additional waypoints, the default frame is "mav_frame_global_relative_alt", which is an altitude relative to the home elevation, which is 75 meters by default.

-you can add as many waypoints as you like, then go to the list view to edit them, change then to do_jump or whatever, add in the parameters, etc. Then go back to the map and Save to UAV. I would suggest after you get confirmation, you Load from UAV to check that everyhting is correct

-All mission commands available to Mavlink have been included in this app, but there are some options that have not been implemented by Ardupilot or Arducopter.  Not all waypoint types will work, for example, DO_SET_RELAY doesn't work for APM2 UAVs.










The app connects to your telemetry with a bluetooth to XBee/3DR radio bridge:

APM<-->XBee/3DR<------------------------->XBee/3DR<-->Bluetooth<----------->Android Phone/Tablet

The bridge consists of an XBee or 3DR radio, and a Bluetooth radio, connected by serial port. There are expensive solutions for this, but I have made a inexpensive bluetooth module that includes a power regulator, a bluetooth radio, and a plug for my xbee.  If anyone is interested, I can detail the build process, and/or offer a hardware kit (with the smd bluetooth chip already soldered). The good thing about this set up, as opposed to a usb link to the radio, is (obviously) it is wire-free, and it is possible to have a stationary antenna, and even add in antenna tracking, and it is easily switched to link with a bluetooth enabled laptop..

According to [Pieter], this [DealExtreme Link] ($8.20 w/ free shipping to USA) works almost out of the box.  Set it to 57000 baud by connecting it to your computer with an FDTI cable, RX to TX, TX to RX, power and ground.  Open your serial terminal (I use RealTerm) with 9600 baud. Make sure LED on module is blinking (DON'T pair it with anything yet) Type in transmit field AT+BAUD7 and hit send (UPPER case letters or it wont work). You should get a OK response indicating that it worked.  You'll have to power cycle the bluetooth before the change takes effect.  Then pair with your phone.

Connect to a XBee adapter like this:

Another connection option is to connect the bluetooth directly to the APM telemetry port.  Remember the bluetooth range is short, so you won't be able to control it in the air, but you can set missions and tune param while on the ground.  Instructions from Ioan:

Cheap Bluetooth serial module (CBSM):

CBSM VCC -> APM Telemetry VCC

CBSM GND -> APM Telemetry GND

CBSM TX -> APM Telemetry RX

CBSM RX -> APM Telemetry TX

and then the phone connects directly to the APM's bluetooth adapter: 

Phone <----> APM + Bluetooth

If anyone wants to test, please remember that it is still BETA software, so there are certainly bugs.  


Also, feel free to make suggestions and feature requests....

This community has been very helpful and supportive, so I feel bad requesting donations, but I have put lots of time into this application, and I'm sure Bart has as well.  If you want to buy me a beer (or a PX4), you can donate whatever you like here: PAYPAL




























































Confirmed Bugs:
-crashes without internet connection

-flight modes on arducopter do not show correctly

-auto rotation while in MAV_CMD list crashes app


Feature Suggestions:
-connect to xbee/3dr/APM2 over usb

-keep screen on (added)


Views: 23086

Reply to This

Replies to This Discussion

Hi, I've connected my bluetooth module directly to the Ardupilot telemetry port RX to TX, TX to RX, etc... and also I've set the baud rate of the telemetry port and bluetooth module to 57Kbps.

I've selected Mavlink protocol and the correct bluetooth paired device.

I get "Active Link" message in the GCS, but nothing shows up. Does anyone knows what should I be missing:


"Active Link" means you are only connecting to the Bluetooth, not to your APM. Once you are properly connected to the APM, you will get "Heartbeat".

I suspect you have a problem with the way you have connected your Bluetooth module to the apm. You can try using the Terminal built into this app to see if you are getting any info from the APM. You should see text continuously adding to the screen when properly connected. (Though most will be unreadable).

Your other choice for debugging is to try to connect your apm to a computer over your Bluetooth link, and see if mission planner will work.

Great job Seth........

How do i set the altitude in a waypoint?

Thank you

There are two ways to edit waypoints. The first is in the map interface, you can single tap on the waypoint, and you will get an edit box that you can set all parameters in. The altitude is set in meters, in the lower right side of that popup.

You can also change these parameters via the waypoint list, where you can see other types of mission commands that do not have a location associated, like do_jump. The list also allows you to drag and drop waypoints, so you can change the order.

Remember to save your mission to the uav when you are done editing!

I suggest waiting for the uav to get GPS lock, so home is set correctly, and then loading the mission from uav, and then editing or adding waypoints. Otherwise, you may set the home location incorrectly.

The altitude is set at 75m by default for all waypoints you add via map or list.

Thank you Seth,

I'm new at this, so I have 2 more questions if you don't mind ;-)

What do the "Param 1 to Param 4" mean in the edit screen?

And what is the function "Current" mean?

The "current" button just makes the waypoint current, as-in your uav will go there next.

The parameters are specific to the type of waypoint.  I lifted these from the Mission Planner wiki page for example:

  • {NAV_WAYPOINT n/a, alt, lat, lon}
  • {NAV_TAKEOFF pitch, target altitude}
  • {NAV_LAND n/a, alt, lat, lon}
  • {DO_JUMP waypoint, n/a, repeat count, n/a}
  • {WAYPOINT delay, hit radius, n/a, yaw angle}

So, for a regular waypoint, all of the params can be left blank, or you can choose the:

  • Delay: Param 1
  • Hit Radius: Param 2
  • Yaw Angle: Param 4

I've thought about adding in better guidance to the waypoint editing screen, but it is difficult to tell if all of these waypoint parameters are actually working on for all of the Ardu* platforms, so I decided to leave it as "user-beware" for now.

Hi Seth,

We have recently discovered your app and have a few questions in the thread below.

My understanding is that your bridge is basically, for those that want to control/change/monitor their APM/MPNG MRC on a Laptop with a wireless Bluetooth connection between the Laptop and XBee/3DR radio. The advantage of the wireless link, as opposed to the normal usb link (from Laptop to the radio) is that it is possible to have a stationary antenna, and even add in antenna tracking. It is also easily switched to link with a bluetooth enabled laptop.

The assumption here, as I have not tried it yet, is that the app works with just a simple Bluetooth connection (like our MultiWii app) between the tablet and MRC. Further, when you mention "laptop" can we substitute "tablet" so that we can have a longer radio link distance using our tablets?


   Greg C.

Witespy Pro 2.0 Flight Controller for MegaPirate Next Generation

Nice, have you thought about creating an app meant for an on board phone? Sending telemetry and video live?

After having used Copter-GCS and AQ-GCS I've found by chance this great app and tested today on a MegaPirateNG  DIY quad. It's really impressive....thank you Seth for your effort. You definitely deserve a beer!

I've found some difficulties in planning a large mission as, if the copter is connected and GPS fixed, the map is always centering copter position so you are not able to move the map far from copter position. For planning large missions you need to zoom out or switch off copter GPS.

Other functions are working pretty well. Text to speech is great!

Do pls maintain this version of GCS!!! :)


This is good stuff. I'm in the process of building my copter but would like to see this be developed more. Keep up the good work.

I tried the Android-GCS and it works great with just the Bluetooth connection on the MPNG pre-R2.9 r298. By adding the XBee/3DR radio bridge to it , you can increase the wireless link connection, if desired.

If i understand correct, you can extend the range by connecting the bluetooth to a 3DR radio.

Would some one please be so kind to upload a plan (drawing) on how to connect the bluetooth and 3DR radio.

Thank you in advance.



Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service