Jan 2, 2018

Connecting to Universal Ground Control Station (UgCS) with DJI Phantom 4 Pro

Objective: Connecting to Universal Ground Control Station (UgCS) with DJI Phantom 4 Pro
Prepared by: henry pai
Began on: 2 Jan 2018
Last edit: 2 Jan 2018

For DJI Phantom 4 Pro and UgCS, the mobile Android device (tablet or cell phone) and laptop need to be on the same network.  This is specified on page 6 of the DJI UgCS manual (url: https://www.ugcs.com/files/manuals/mc.v.2.9/UgCS-for-DJI_User_manual_2.9.pdf).

Prior to testing connectivity, ensure mobile apps (DJI Go 4, UgCS for DJI) and desktop software (UgCS for Desktop) are updated.

In the field, the "network" does not necessarily need to be connected to the internet (be sure to cache flight area before going to field w/o internet!).  To have both mobile device and laptop on the same network, we recommend two methods

  • Connectify software on laptop to make laptop into network access point (note, be careful as some tablets are only 2.4 GHz capable and laptop settings will need to be changed; useful links here and here).  After installation, set up the network name and password.  Final note, the free version times out after 30 minutes so be sure to restart in between swapping batteries.
  • Portable router with both mobile device and laptop connected to.  Network settings and setup on pages 11-29 of manual

Jun 6, 2017

Project: Pixhawk 2.1 Cube upgrade
Objective: Test Pixhawk 2.1 Cube and Reach+ GPS as well as UGCS compatibility
Flight Date: 6/6/2017
Flight Location:
 Airframe: Tarot 810
Sensors: NA
Crew: Burnett and Benz

Swap from Pixhawk to the Cube Pixhawk 2.1 with Reach+ GPS was less than 20 minutes.  Initial thoughts are that hardware appears higher quality than the original 3DR equipment.

Hardware Observations:

Threaded hard points on autopilot base for mounting
Connection cables have cable protectors
Cable ends use a quick release that will be less susceptible to breakage
Reach+ GPS integrates the safety switch and a second barometer
Included power module supports up to 8S.  No more integrating an attopilot or some other questionable alternative


Reach+ GPS can produce raw .obs files for post-processing if raw logging is enabled (results are untested but we can confirm it does produce a .obs file when processing the dataflash logs)

Compass calibrates and accurately accounts for proper declination (with Pixhawk we always saw a 15 degree heading error that we were unable to correct; we had to rely on GPS heading corrections when moving to resolve this in automode)

KDE incompatibility seems to be resolved. ESCs and motors do not lose calibration randomly during power up.  This was an issue we could never reliably correct with the original Pixhawk


Reach+ and Reach+ RTK are designed to work with Arducopter 3.5 which is still in beta.  As of June 6, the beta version will not upload to the Pixhawk 2.1 Cube we have. The major issue with AC 3.4.6 is the aircraft fails pre-arm check for GPS 1 despite having a low PDOP and > 15 satellites in view.  This can be bypassed by arming in stabilize / altitude hold, then switching to loiter or auto mode.


The autopilot connected to UGCS without any issues. UGCS was able to upload mission and arm/disarm as required. Telemetry data appeared accurate. However, ALL configuration and calibration has to be performed in Mission Planner before hand.  We will be conducting more flight testing with UGCS in the future. We are concerned that RTK functionality will require Mission Planner, which is disappointing because we are impressed with the DEM following functionality of UGCS (tested with P4). Also, after over coming the initial learning curve, mission planning with UGCS has become much more efficient.

Reach+ RTK

The base station appears to work. Due to the issues acquiring Arducopter 3.5 we were never able to confirm that corrections were being sent to the onboard GPS.  When we go live with RTK we are concerned that RTK may disable SBAS.  This means if RTCM corrections stop coming in (e.g. telemetry drop out), positioning goes back to uncorrected code-based positioning which can be highly imprecise.  The mitigation to this is to have two GPS units with one in conventional non-RTK mode, however, we'll have to investigate how the aircraft handles the blending of the two positons.


The test pilot said the PIDs out of the box were not optimized and of the 12+ builds he's done, this was the most dangerous.  This may be because the Cube Pixhawk 2.1 represents a major shift in hardware and the defaults don't adequately account for the new sensors. After autotune, the pilot felt this was the most solid hardware we've flown to date (Phantom 3/4 excepted).


These results give us enough confidence to switch our other Tarot 810 to the Cube Pixhawk 2.1. We think the hardware improvements mentioned earlier are going to save us a lot of troubleshooting time in the field.  In addition, the added redundancy that is inherent in the Pixhawk 2.1 design gives us more confidence that a catastrophic autopilot failure is less likely (yes it's happened....).

May 28, 2017

Project: High resolution topographic features controlling water retention in agricultural landscapes, Iowa (part of Intensively Managed Landscapes Critical Zone Observatory)

Objective: Capture resolutions of less than 2-cm with UAS and terrestrial lidar following a heavy rain event on two farm plots with differing slopes and land practices

Flight Date: May 21-25, 2017

Flight Location: Near Williamsburg, Iowa at Maas (large slope variation) and Trimpe (low slope variation) farms

Airframe: Phantom 4 Pro

Sensors: Phantom 4 Pro camera

Crew: Michael Wing, Chris Sladek, and henry pai

  •  Successful flights at both farms
    • Maas (May 22) and Trimpe (May 23) flight characteristics
      • 30 m altitude
      • 2.9 m/s
      • Cross-grid pattern, 40-50 minute total flight time (~20 min per battery)
      • 0.8 cm resolution
      • >1000 images
  • Comments
    • Phantom 4 Pro handled heavy winds quite well (on May 22)
    • Only pushed Phantom 4 Pro to 30% battery warning
    • Return to launch feature more reliable than pilot control in heavy winds
    • Issues with tablet obtaining live view using UgCS for DJI app
      • Tablet was only 2.4 GHz capable 
      • Changed Connectify (wifi hotspot) setting so that 2.4 GHz device could connect
      • Worked on Chris's cell phone (may be only dual band device; 2.4 & 5 GHz)
      • Check Android OS versions
      • Email UgCS for any updates
    • Issues with blurry images
      • Initial settings for shutter priority set in DJI Go app (ISO 200, shutter 1/1000 sec)- blurry
      • Changed settings to Auto (ISO 200) and image quality was good (ISO 400 was washed out)
      • Test Auto (ISO 100); could not see red tape on white lids while visible on blue (Maas site with blue and white target in same frame seen below)

    • Issues with continuing mission on power down
      • When replacing battery, mission was not found on Phantom 4 Pro
      • Email UgCS about DJI functionality with "Continue" mission feature
    • Issues on takeoff from ground software?
      • At Trimpe, takeoff caused one flip (slow motor ramp up then flip on take off)
      • Adjusted for faster vertical takeoff speed but still slow motor ramp up
      • Removed takeoff command and takeoff & mission completed without issue; though hard to predict initial waypoint
    • Logistics were challenging given target requirements for both terrestrial lidar and UAS requirements
    • Locus Map Free remains a workhorse app for my phone for laying out targets, importing kml polygons and points, and saving survey points
      • Recommend bringing battery packs for phone for all-day app usage
    • Generous hotel wifi (500 mb/s upload) allowed for data to be uploaded (~3-4 hrs) on work desktop and initial alignment and DSM reconstructions for next-day assessments

May 9, 2017

Project: Medusahead identification invasive plant identification with high resolution multispectral and surface roughness

Objective: Exploratory data collection and proof of concept for automated invasive species (Medusahead) mapping with high resolution multispectral and surface roughness characterization

Flight Date: Weekly starting May 2, 2017 to ?

Flight Location: Reno, NV (39.580312, -119850044)

Airframe: Tarot, DJI Mavic (other faculty)

Sensors: Micasense RedEdge, Mapir, Sony a5100

Crew: Chris Sladek, Chris Kratt, henry pai

Mission 1 (2017/5/2)
  • Successful flights (no crashes!)
    • RedEdge
      • 30 m altitude
      • 4 m/s air speed
      • 1.23 sec camera interval
      • 2.05 cm/pixel resolution
      • ~750 images (x 5 per band)

    • Mapir
      • 35 m altitude
      • 4 m/s air speed
      • 2.72 sec camera interval
      • 1.18 cm/pixel resolution
      • ~210 images

  • Cameras collected data
    • Challenges
      • RedEdge downwelling light sensor and GPS unit cable was loose (did not register data)
      • Mapir did not trigger consistently (different number of camera trigger commands than Mapir photos)
      • Atlas RedEdge post-processing requires GPS coordinates
      • Visible imagery has poor automated alignment (<50 percent of collected images)
    • Adjustments (in progress)
      • Geotag RedEdge images (equal number of trigger commands with photos make this possible)
          • This was successful, steps
          1. Mission planner > download .bin and .log telemetry files > review a log > choose log > left click column "0", header row > filter "CAM" command > right click table and export visible to csv
          2. Used R-script to create new csv file with file names + path seen in above link
          3. Used ExifTool command from prompt from directory of csv:
            ExifTool -csv="panel_firstImg_000.csv" D:\hank\_medusahead_offSync\data\imagery\20170502_flight1\rededge\000\
          4. Used ExifTool from command prompt to tie XMP data to standard Exif geotag data:
            ExifTool "-GPS:all<XMP-exif:all" "-GPS:GPSLongitudeRef<Composite:GPSLongitudeRef" "-GPS:GPSLatitudeRef<Composite:GPSLatitudeRef" "-GPS:GPSAltitudeRef<Composite:GPSAltitudeRef" D:\hank\_medusahead_offSync\data\imagery\20170502_flight1\rededge\000\
          5. Used R-script to organize photos by band
          6. Add dummy location to reflectance panel shot
          7. Atlas Uploader > upload folders (photo locations should appear in map) > click select all and include (claims doesn't see GPS but appears in map)
        • Method 2 (to be done)- script to organize files by band per folder then use Mission Planner to geotag photos  Forgot, Mission Planner can not geotag tiffs.
      • Slow Mapir flight speed to 3 m/s (3.63 sec camera interval) 
      • Use Sony a5100 @ 45 m altitude (0.88 cm/pixel resolution)
      • Use collaborating professor's DJI Mavic (using DJI Go app and Drone Deploy) not registered

May 2, 2017


RCTimer Legacy 3-Axis Aerial Version DSLR Brushless Gimbal


  • Multispectral camera: 
      • Common Uses: Remote sensing analysis of vegetation health status and/or landcover type classification
  • Thermal Imaging Infrared Camera:  
      • Common Uses: Thermographic analysis of a large area where results in C or F are desired (e.g. surface temperature analysis of a grassland prairie)
  • Hyperspectral camera: 
    • Headwall Nano-Hyperspec 
      • Common Uses: Various spectral analysis related to: water quality, plant physiology, vegetative cover classification, and mineral detection


Safely Flying Drones