Safesky GDL 90


I am trying to get external GDL 90 to work with an external application, but the Generic GDL 90 indicator stays grey. I am broadcasting the gdl 90 data to Safesky Android device via UDP on port 4000, is this assumption correct? Does grey mean not connected, or invalid data?

Also, is there some specification about required format to be accepted by SafeSky?

Any information would be greatly appreciated.

Best regards,
Andreas Enbacka

Hello, Could you be more explicit?
Which external app?


Yes I have been working on a custom Android application project that provides real-time UAV position, altitude information (from e.g. DJI drones) via GDL90. I have successfully been able to display the info in e.g., SkyDemon, but when trying to broadcast same data to SafeSky, it does not recognize it.

Hello @aenbacka ,

Interesting development you are doing :slight_smile:

SafeSky is expected to listen to port 4000 for incoming UDP packets, since this is what we use with SkyEcho, PowerFlarm or PilotAware…

You can contact me on so that I can help making a diagnostic.

Fly Safe,


1 Like

Hi Tristan,

Thanks for your reply, sent you an email.:grinning:

Hi @Tristan

I have now an initial prototype Android app that should be able to send data over the gdl 90 protocol. I have verified the communication with SkyDemon, which correctly displays the uav location.

SafeSky displays waiting for gdl 90 data, but do not pick up the uav location information (after selecting Take off). Does Safesky expect some specific message sequence?

Currently the app sends heartbeat, ownership report and geometric altitude report, in this order continuously on udp port 4000 (and both apps are on same wifi localhost, so should be able to find each other).


Hello @aenbacka ,

I just responded by email to help make a diagnostic.

It’s very interesting what you are doing :slight_smile:


1 Like

I have made a short demo using a preview of the Android app for realtime transfer of position, altitude etc UAV data (from dji drone) over GDL 90, which you can watch from Demo of GDL90 UAV realtime position transfer - YouTube. The data is shown using SkyDemon currently (as the data is still not showing up on SafeSky, but hopefully that can be resolved).

Also the update interval is around 1 second in the demo, this can be customised and shortened via app config.

On the left is the custom Android app, on the right is SkyDemon.

1 Like