Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
DJI drone flight log viewer (flightreader.com)
107 points by NKosmatos on May 8, 2023 | hide | past | favorite | 47 comments


Nice such a tool appears up here. There is still lots of unsolved problems in the open source space of drones.

We are currently developing a open source flight log database & plotting tool for ardupilot logs (graphs, maps, stats, images using PostgreSQL, FastAPI, Next.JS) covered by the german prototype fund (sorry german only link) : https://prototypefund.de/project/searchwing/

Source is here: https://gitlab.com/searchwing/development/groundstation/flig...

Maybe this is also helpful for others.


This is cool, is there a docs website available?


Not yet, as its work in progress, but we want to push a initial docu how to set up our current progress this week.


That’s one of these programs where I'm thinking: "Why didn’t I build it?". Well, obviously because I don’t have a drone. Kudos, nice tool!

I wonder if there are more such opportunities…


I'm curious -- what about this strikes you as a novel "opportunity?" To me, reading your post is a bit like seeing someone say "wow, a chair! Why didn't I build that? I wonder if there are more opportunities?" Like, yeah, build a table... or a different chair...?

I built an online flight log analyzer about 10 years ago ( https://www.youtube.com/watch?v=8XBCBC2oJ70 , https://github.com/foobarbecue/afterflight ) . When DJI hit the scene I used some a DJI log decoder someone else wrote to get my Phantom logs into the system, but never integrated the converter with the website.

Good ideas are a dime a dozen. It's the execution and the follow-through that matters.


I think you are right.

Somehow, in my mind, I'd like to find a niche where I can start building something (software-related). Something that is of use, and which solves a problem people are willing to pay for. Not a "get rich in two months"-scheme, but something sustainable. I have no problem with commitments, but it’s the problem to solve that I'm currently lacking.

Apparently, this tool does it. I think there are not many tools like that on the market (I might be wrong).


As is often heard, necessity is the mother of invention. Most of these niche ideas come from people that are active in whatever space the nice product serves and yet has no product. It takes the timing of someone with the need && the know-how of how to make the product. Just having the need for a product part of the equation. Having someone recognize what the solution would be, the time available to create that solution, and an overall understanding if the effort would be worth it all aligning.


Well, I have a DJI gathering dust here because of drone flight rules that seeds me to drive a couple hours before I can fly it.

Last time I recorded video with the drone I am suprised there is a SRT file bundled. Turns out that is the telemetry data in plain text recorded at 10 Hz. It should be trivial to write a script that transform it into KML or some GIS-friendly format.

And I am sure I do not need any shareware for this...


This program should be part of the main DJI software suite or something that you could download from the drone manufacturer. I, as a drone owner, should have full access to all the telemetry data for my own analysis and archiving purposes.


That data is available as part of the API. I use other flight control software like Litchi that gives me a lot of control. Even allows me to create and import a flight plan for semi-autonomous flight.


this seems illegal


This is completely legal in the US on both recreational and commercial licenses, so long as you have visual line of sight to the drone and the ability to regain direct command of the drone via RC (and are following all other flight rules). It is commonly used for video work, such as programmed aerial timelapses.


Absolutely not. It’s illegal for the common person in America, but there are plenty of locations where it wouldn’t be, especially with a drone license.


It's only illegal to leave LOS. Whether the computer is in control, or the sticks are in control the PIC is still the PIC.


I'm 100% with you, but if that's what you want, don't buy DJI.


DJI is pretty great with telemetry, logs are stored locally and on the cloud with many ways to access your data. Not so great with privacy due to governments having a tight watch on drone flight, making it very likely your flight data is monitored.


It's not just that, all their stuff is locked down hard, you can't mod anything and you can't fix the bugs they refuse tom


It's also at risk of some teenager with a drone making an open source competitor because they are annoyed that there's no Linux version.


Ahah I actually once looked for such tool AND even started writing one. Raising two kids got the better of me!


Maybe one of your kids will keep the torch when he or she's a teenager, closing the open source cycle


An open source competitor to what? You mean like Ardupilot or QGroundControl?


I believe it's from 2016 and by far predating the Mavic series which made drones common among regular people. So if you're looking for similar opportunities, you probably need to jump on the next trend before it goes popular.


Check out also https://www.phantomhelp.com/LogViewer/Upload/ which is free.

And https://airdata.com which has a free tier. It can also sync automatically with DJI and third party apps (I use Litchi).


Thanks for sharing my free log viewer! Flight Reader also syncs automatically with DJI.


> Access 300+ flight data points logged every 1/10 of a second

> View over 200 data points collected every 1/10 of a second during the flight

Is there some significance to these numbers (20 seconds and 30 seconds of data) or is that just an attempt at "big numbers sound good"?


As a flight pilot engineer you have to find a sweet spot and balance logging too much and too little. Writing logs to an SD card has huge costs that come with it, that's why you don't want to log too much. Logging too little and you can't debug issues later on properly.

PX4 also has lots of "topics" logged at around 1/10, e.g. hover thrust estimate every 100ms:

https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/l...


This has a lot to do with the performance of your processor.

Running on a single-board computer with an applications processor like a Raspberry Pi or BeagleBone, with multiple cores at 1 GHz+, gigabytes of DDR3, with on-chip SDXC drivers? Logging loads are irrelevant. The only thing to watch out for is that if you want to use the logs to figure out why you had a catastrophic crash, the OS may have write-buffered a lot of data in RAM.

If you're running on a crossover MCU, like a Cortex M7, with a core or maybe two at a couple hundred MHz? Think about it what you log.

Running on a Cortex M3 with a few dozen MHz and a few dozen kB of RAM? Yeah, appending to and rolling over a whole 512-byte page in RAM and finding the time to push it over the SPI peripheral is going to be tough, you may want to use a binary protocol so you're not burning unnecessary cycles in itoa() and you get more data per byte of buffer.

The DJI drones discussed here have big Cortex-A53 SOCs that are already logging 4k video at 30 FPS to that SD card; the log file is only noticeable as a distraction from that task. I think the crossovers are the sweet spot, though, because a 'fast' clock or interrupt on that Linux board is slow in comparison to the more tightly integrated RTOSes.


I wondered the same thing and looked a little at the DJI Drone family which seems pretty large and broad in application.

The generic data channels number easily less than 50 - time, X,Y,Z, axis velocity, battery life, yaw, tilt, pitch, etc.

I dare say some of the special domain applications generate more channels of data from mounted instrumentation - all logged to a common DJI family log format - for extraction on landing or broadcast during flight etc.

The 200 channel Vs 300 channel thing is likely just poor copywriting from looking at max channels in two different application areas.


There's also (probably) detailed logs from the collision avoidance sensors, as well as GPS. Even the relatively small Mini 3 Pro has six cameras and a downward-facing IR distance meter, the larger ones (Mavic 3) have even more cameras and ultrasonic short-distance sensors. At least from Reddit reports, the amount of data that these flight logs gather is more than enough for the customer support to determine a warranty case without sending the drone in (if that's even possible because the drone crashed into water and got lost).

On top of that come RTK and ADS-B receiver data, and the really large ones (Matrice, Agras) add more engines, payload status (weight, flow rate), multi-battery health, RF quality and other data channels.

To be honest, it's amazing just how many features modern drones carry while still allowing sometimes well over half an hour of flight duration.


Just as a reference, I work on flight data recorders for rotor and fixed wing aircraft. 1/10 of a second is pretty common in that world as well.


I've reread their statements and I'm certain they mean data series instead of data points. That is, there are 200 different types of data that they can collect from the logs (for as long as you have the storage to keep it), not that they can only store 20 seconds worth of data.


How does this compare with the data you get from Airdata?

When I was working on an aerial georeferencing project[1] I found that the on-device flight logs didn’t contain all the info in the serverside logs (eg heading, gimbal orientation, GPS coords, altitude)

[1] https://github.com/roboflow/dji-aerial-georeferencing


Here are some differences:

- There are no mandatory monthly/yearly fees

- Flight logs are not uploaded to the Internet

- Many more data points are exposed

- The generated logs/reports are customizable


The SRT logs from DJI are a god send. I wrote some software that helps me deal with importing videos and photos from multiple action cameras and drones, and it uses DJI's SRT files to sort out the location of a video. https://github.com/KonradIT/mmt


Main page says trial is 7 days. License page says 14 days. Either way, the option of a trial is nice.

Also I think this software is Windows only.


> Flight Reader can be installed on any computer running Windows 8.1 (or higher). It can also be run on a Mac with Parallels Desktop or VMware Fusion (free for personal use). You'll need to install Google Earth if you'd like to view the KML files generated by Flight Reader.

Yeah, most people would call that Windows only


At least to me it is. I don’t want to install Windows in a VM on my Mac to run one piece of software. Nothing else that I use regularly needs Windows, and I do not enjoy using Windows and do not want to use Windows.

But most of the world does of course run Windows. So I’m not in the main group of people this software was for. That’s fine.


There is also https://www.phantomhelp.com/logviewer/upload/ and https://airdata.com/ - that's just links, not a recommendation.


phantomhelp is from the same guy that has the flightreader app. Since you upload your .txt log files it might not be "acceptable" by many privacy concerned users. The airdata one looks good and is a bit more professional, worth another look for sure.

Thanks for the recommendations, that's why we have HN comments, to help each other :-)


Side note: I'm a bit envious at just how relaxed drone flight rules are in non-European countries. No way the flight in the last screenshot of the page was done under VLOS conditions.


You mean about the height/distance data visible? I know that in Europe VLOS is defined as 121m (400 ft) height and 500m horizontal distance from the operator.


At least the German Federal Aviation Office defines VLOS as "practical" VLOS - e.g. in severe fog, once you can't see the aircraft any more, you're not covered by VLOS any more even if the drone is only 2m away [1].

[1] https://lba-openuav.de/onlinekurs/lehrmaterial/wichtige-defi...


What if there is a building or a tree between you and the drone?


Not allowed as well. There is a provision for BVLOS when the pilot has one or more "observers" (colloquially, a spotter) that have both VLOS to the drone and a clear line of communication with the pilot ([1], section UAS.OPEN.060 - there's no clear definition but I'd guess a phone call or radio works out), but if you're flying solo no chance of operating in BVLOS and additionally, the EU has transmission power limits in place that limit the effective range to 2km in theory - in practice, I hit link quality warnings at 500m over some huge farm field with clear sight so YMMV. There are (as always) hacks, but if you get caught using that you can end up with serious criminal charges.

In any case, flying with a spotter is always a good idea, particularly with smaller drones or in areas where other people are present that may interrupt you. A spotter can take care of dealing with that.

[1] https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A...


I actually sold my drone last year because I was just a very casual user and I didn't want to deal with the registration hassle in my country.


I wonder if there is a Law Enforcement/Intelligence version of this, so they can download and analyze drones from potential criminals and intelligence services.


great stuff! very useful




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: