If you are new to Icarus, this guide should provide you with the basic information you need to get started.If you use any of our Apps, please consider leaving a rating or review on the Mac App Store as it can really help us out!
Various DJI drones store flight logs within the flight controller app (DJI Go or DJI Fly) which is typically run on an iOS or Android device. This guide describes how to get the data from an iOS device running the DJI Fly App for a Mavic Mini drone but the workflow will be similar for other combinations of DJI App, mobile operating system and drone.
The workflow is as follows
- Acquire: Locate the Flight Logs on your iOS device and copy them to your mac
- Convert: Convert the Flight Log from .txt to .csv
- Import: Import the .csv into Icarus
- Visualise: Use Icarus to visualise the data
DJI Flight Logs are stored on the mobile device and must first be transferred to your mac using the Files App provided by Apple as part of iOS.
Open Files, go to On My iPhone then DJI Fly then Flight Records and if you’ve been flying your drone you should see a list of files with a naming format like DJIFlightRecordDate[Time].txt. Use the Files App to either share these with your mac using Airdrop, email or by simply copying them to your cloud drive so you can get to them from your mac.
Although the Flight Logs have a .txt file extension, they are not standard text files, they are compressed files which tightly pack an incredible amount of data into a very compact format which must first be converted to a .csv file prior to importing them into Icarus for visualisation. DJI do not publish the format of their Flight Logs but there are various ways to convert the .txt files into .csv files. Icarus supports two excellent third party conversion utilities which run on macOS which are
- CsvView (closed source) available from https://datfile.net/
- DJiParseTxt (open source) available from http://djilogs.live555.com/
Both of these utilities are excellent. DJiParseTxt is distributed as open source and is very simple to download and compile using a single make command. Once compiled, .txt files can be converted to .csv files using a single command line but to make things even simpler, we also provide a helper application called Icarus Buddy which can be configured to monitor a specific folder and to automatically convert all Flight Logs you add into that folder to .csv files for you.
- To import a .csv into Icarus, open a new document and use the Import CSV File toolbar button, it is important to select the correct CSV Interface Format to match the utility used to create the .csv as there are subtle differences in the output formats.
- Once a CSV is successfully imported, the map should load your flight path and the table should show three columns which are Row, Flight Time and User Text and a single chart will be loaded with two of the flight variables to give you a feel for how the App works.
- After importing a .csv, you can save the Icarus document to disk as an .ica file to save your work for easy retreival later.
- Being a native macOS Document based application, it is possible to open multiple documents at the same time.
Icarus provides the following tools to help you visualise the flight data
- Table of flight variables
- Map of the flight path
- A Flight Time Selector component to allow you to quickly and easily define what range of the available table to visualise
- Charts of flight variables plotted against flight time
UI: Table of flight variables
After importing a .csv file, the table will contain three columns which are Row Number, Flight Time and User Text.
- In Icarus all table columns are read-only apart from the User Text column which allows you to make notes directly in the file against specific data points
- Using the gear icon, you can select from the variables detected in the .csv file, which variables you want to view in the table as columns
- You can override the name of a column
- Column configuration is document specific and any changes you make are saved within the .ica document and restored when you reopen it
- The variables available may be different depending on which conversion utility was used to convert the .txt to .csv
UI: Map of the flight path
After importing a .csv file, the map should plot out the flight path.
- Use the toolbar Map/Satellite toggle to set your desired map type
- The Map Mouse Mode button (representing a grabbed hand) determines how the mouse behaves. When toggled ON, pressing left mouse button allows you to pan the map, with the wheel zooming in/out. When toggled OFF, a left mouse click selects the nearest data point on the flight path and selects the corresponding row within the table
- The whole flight path is displayed in light blue
- The selected portion of the flight path is displayed in dark blue
- The selection portion of the flight path is controlled using the Flight Time Selector in the document toolbar
- The green pin on the map corresponds to the start of the period of time defined by the Flight Time Selector
- The red pin on the map corresponds to the end of the period of time defined by the Flight Time Selector
UI: Flight Time Selector
The Flight Time Selector allows you to focus the data displayed in the map, table and charts to a specific time period.
- The green semi-circle on the left corresponds to the flight path selected start point pin
- The red semi-circle on the right corresponds to the flight path selected end point pin
- Both of the pins can be dragged by selecting with the mouse and moving them, note that it is also possible to drag the flight path itself
- In the free version of Icarus, the red pin is prevented from moving beyond 3 minutes. An In-App Purchase is available to unlock the functionality of analysing flights which are longer than 3 minutes
After importing a .csv file, a single chart is added with two variables to demonstrate their functionality.
- Charts will only plot the time period selected in the Flight Time Selector
- You can add mulitple charts to each .ica document
- Use the gear icon of any given chart to select which variables to display in that chart
- Charts can contain more than two variables but will only display the Y-axis scale for the first two variables
- You can use drag and drop to reorder the variables if to select which variables will have Y-axis scales added
- The variables available to chart may be different depending on which conversion utility was used to convert the .txt to .csv
Icarus Buddy is a free companion application for Icarus designed to help with converting the compressed DJI .txt files into .csv files which can then be imported into Icarus.
- macOS menu bar application
- Requires Icarus installed on same mac to run
- Define any folder on your mac which will be monitored for added Flight Log .txt files
- Uses the excellent DJIParseTxt to convert the .txt files to .csv
- Customise the checking frequency
- Will not prevent macOS from sleeping