Phantom 4 Pro Emlid Reach PPK Integration Kit

Phantom PPK


Snap PPK is an adapter kit to connect an Emlid Reach GNSS receiver [not included] to a Phantom 4 Pro/Advance. The kit snaps on in seconds to your Phantom 4 Pro - without any modifications. It is easily removed so you can still use your travel case. The front LEDs on a Phantom 4 Pro blink each time a picture is taken. A phototransistor detects the blink and a time mark is recorded in the Reach's log file. The time marks are extracted and combined with the pictures as precision geotags. Accuracy is further improved by setting the Phantom on a GCP target and taking a picture while stationary. This position is free from shutter timing errors, lever-arm errors, and camera calibration errors.

SnapPPK currently does NOT work with Reach M2. Its power requirements are 3 times higher than Reach M+. We are looking for a solution now.


  • Phantom 4 Pro/Advance [Not Phantom 4 original]
  • Emlid Reach M+ & Tallysman antenna [Not included. Order from Emlid]
  • RINEX capable base receiver
  • Tuffwing Snap PPK kit

How it works

Snap PPK kit contents

  1. Main body with ground plane, Velcro and
  2. Cross brace
  3. Zip ties for attaching antenna and Reach M+.
  4. Micro USB cable for charging battery


  1. Install the cross bar at the bottom of the right landing gear.
  2. Slide the cross bar up.
  3. Snap in the battery/mast holder. Slide to left so the antenna mast is between the side sensors.
  4. Install your Tallysman antenna on the ground plane using Velcro and zip ties as shown.
  5. Wrap the antenna wire around the mount and zip tie in place as shown.
  6. Install the your Reach using Velcro. Connect the antenna to ANT and the time mark/power cable to C1.
  7. Slide on the LED cover.
  8. Snap LED cover into place. You do not need to remove the screws.
  9. Tuck the LED cover wire into the groove.
  10. Position vibration dampener as shown.
  11. Go to DJI Go > Advanced Settings and enable Turn on Aircraft Arm LEDs.

Charge battery

  1. Connect the MicroUSB cable to the port as shown. Power with any 5 volt USB charger/laptop.
    • Blinking LED indicates battery not fully charged.
    • Solid LED indicates full battery.
    • Blinking LED while no USB cable connected indicates low battery.

Install firmware on the Reach

  1. Install the ReachView App on your Android or IPhone.
  2. Disable Mobile Data on Android phones while using ReachView.
  3. Power your Reach module.
  4. Go to your mobile device's Wi-Fi settings and connect to the Reach hot spot.
  5. Start ReachView App and select your Reach Module.
  6. Select + to add your Wi-Fi network to your Reach Module.
  7. Enter your Wi-Fi network information.
  8. Reboot your Reach.
  9. Reconnect your mobile device to your Wi-Fi network.
  10. Refresh ReachView. Your Reach Module will now have a local IP address (192.168.1.###)
  11. Update ReachView (the Reach M+ firmware). Reboot when complete.
  12. Refresh ReachView App and connect to the Reach Module. You can now see status, download logs and make configuration changes.

Configure your Reach Module

  1. Go to ReachView > RTK Settings and set GNSS select to GPS, GLONASS, and QZSS. Set Update rate to 5Hz. Do this for both Rover and Base.
  2. Go to ReachView > Logging and set Raw data to UBX.

Go Fly

  1. Create a photographic mission using any flight planning software.
  2. Power up and power down the Reach in this order:
    1. Power Phantom 4 Pro and remote transmitter.
    2. Power Reach
    3. Fly mission
    4. Collect ground control
    5. Power down Reach
    6. Power down Phantom
      Note: the Reach records a time mark when the LEDs are off. This sequence avoids mismatched geotags and photos.
  3. Mark a ground control point [one or more] by using the Shutter button on the Phantom remote to take a picture directly over a target or landmark.

Download log files from your Reach Module

After you fly you will need to download the log files that were accumulated.

  1. Use ReachView  to your Reach Module [and/or Reach base].
    1. If connected to your local Wi-Fi network - Start ReachView App and connect to your Reach Module.
    2. If  in the field (not connected to your local Wi-Fi) - Go to your mobile device's Wi-Fi settings and connect to the Reach hot spot. Then start the ReachView App and connect to your Reach Module.
  2. Select Logging from the ReachView menu.
  3. Use the download link to download the UBX file that was accumulated during the flight.
    Note: You can toggle the On/Off button to break the UBX file and make it downloadable.
  4. Find the UBX file in your mobile device's file system and email it to yourself. Then retrieve it on your PC for post processing.
  5. The UBX file will be in a .zip folder. Save and unzip in a folder appropriately named Base or Rover.

Convert UBX files to RINEX

  1. Download RTKLIB from Emlid.
  2. Start rtkconv.exe [RTK Convert]
  3. Select Options > RINEX Ver > 3.03.

  5. Select Format > u-blox.
  6. Select ... and load your Rover or Base .bx file.
  7. Select Covert to create RINEX files [.obs and .nav]

Compute corrected positions

  1. Start rtkpost.exe [RTK Post], select Options and configure the following:

  2. Select Antenna Type and enter .23 [m] to correct antenna height from camera sensor. Lever-arm error is not accounted for and must be corrected with ground control. Select OK.
  4. Select Lat/Lon/Height for known base position or RINEX Header Position for a CORS base or relative precision using a Reach base.
  5. Use ... to select the Rover and Base Station .obs files. Select the Base .nav file for the RINEX NAV/CLK row.
  6. Note location of Solution folder. Two solution files will be created. .pos is the rover path and _events.pos contains the time mark locations.
  7. Select Execute to process the files and create a solution.
  8. Select Plot to to launch RTK Plot and view your corrected rover path.
  9. Select File > Open Solution 2 and open your _events.pos file. This contains your time marks.
  10. Use the 1 2 buttons at the top left to toggle between Solution 1 and Solution 2.

Create geotag and ground control files

  1. Start Microsoft Excel and select File > Open.
  2. Navigate to the folder that contains the _events.pos file.
  3. Change Files of Type: to All Files (*.*)
  4. Select the .pos file and click Open.
  5. This will start the Text Import Wizard.
  6. Select Delimited, then Next.
  7. Select Space, then Finish.
  8. Select the latitude, longitude, and height data.
    Note height of last time mark. 100m below others. This is a ground control point.
    Note Column Q is Fix or Float status
  9. Copy the time marks [except the ground control points] and paste them into Notepad and save as a geotags.txt.
  10. Subtract .04 [4cm] from the height of the ground control time marks. The antenna height is 27cm above the ground. 23cm was already subtracted during post processing for the geotags. Now an additional 4cm subtracted to reach the ground. Copy and paste the ground control points into Notepad and save as GCP.txt.

Add pictures and geotag file to Pix4D

  1. Open your picture folder and remove any pictures that are not part of the mission.
    Note: You should have a the same amount of pictures and geotags. If you don't have a match you can import into Pix4D to determine which picture/geotags are mismatched by looking at the initial and computed positions of the pictures in the rayCloud editor.
  2. Create a new project in Pix4D and select your pictures.

  3. Select From File > File Format > L,L,A.
  4. Browse to geotag.txt and press the OK button.

  5. Select Custom Geolocation Accuracy.
  6. Right click in the Acuracy Horz [m] box and change the value to .05. Do the same for Vert [m].
  7. Click OK.
  8. Process the 3D Map.

Import the ground control point file into Pix4D

  1. Set the GCP coordinate system. Go to Project > GCP/MTP Manager. Select Edit > Advanced Coordinate Options > From List >>then select WGS 84.
    Go to the bottom of the list and select "WGS 84" only, not any of the zoned.

  2. Import the GCP file.
  3. Select Import GCPs. Browse to GCP.txt.
  4. Set Type to 3D GCP or Check Point.
  5. Press OK.
  6. Mark the GCP and Check Points in the rayCloud editor.
  7. Click the Apply button.
  8. Select Process > Rematch and Reoptimize.
  9. Select Generate Quality Report.