Why FLARM protects it’s radio protocol

The FLARM device is definitely useful for avoiding collision in sailplane.

But the company behind maintains it’s monopoly position arguing that’s it’s safer and cheaper for the users:

We fundamentally believe that our low cost collision warning technology and its licensing procedures are in the
best interests of the sport and its participants.

To ensure safety, full compatibility and interoperability are essential. Experience shows that it is impossible to
be compatible just by following a written specification.


This text is just regular company’s crap, to reassure themselves (and the shareholders) they can maintain a high level of monopoly (and profit).

They also state the radio protocol is patented:

FLARM applies for the radio communication between the units a proprietary and copyright-protected protocol

Unfortunately, there is no such thing as copyrighted radio protocol!

My prefered part is it when the founder respond this accusation of being obscure and avoid implementation in many hardware device, and in software such as XCSoar:


The best part it: they managed to impose the device, not only in competition but for any sailplane in France. How comes the FFVV (French Gliding Federation) can make a device mandatory without any alternative?

One person, Hiram Yaeger seemed to have reverse engineered the protocol:



If interoperability by documentation or standardization would not be possible, even in RF, there would be no GSM, no GPRS, no WIFI, no Bluetooth.

What do you thing you are FLARM? You are just making a simple electronic device broadcasting GPS position in the free RF band, and it’s not even EASA / CAA / FAA certified! (just like any regular babyphone)

Step down while you can and publish this RF protocol, or the community will do it for you sooner or later! (and no update of the 10k units released in the world will save you)

6 thoughts on “Why FLARM protects it’s radio protocol

  1. FLARM company is feeding us with crap. Since when monopoly is good for customers? They are selling a device for nearly 1000 euro and they call this cheap? I can bet that manufacturing the hardware is worth less than 100 euro. There is of course cost of developing software, but this is not that expensive either.

    “Experience shows that it is impossible to be compatible just by following a written specification.”
    They treat us as retards, who are not aware, as you mentioned, of hundreds of protocols implemented by different parties and all those devices works! It must be just a miracle supported by god’s intervention.

    Is there anty-monopoly office in France? Why nobody will sue them? Time to finish this monopoly!

  2. I wholeheartedly agree with the comments here. Also what is the feeling behind the dataport protocol, they have extended the NMEA standard and claim a copyright??? Can they do this ?
    If so it means that an alternative system could not interface to existing viewes such as skydemon. In any other sphere this behavior would be outrageous.
    And finally i have developed a rival system with better range which can display adsb and bespoke traffic, and display on skydemon, and the api and hardware will be public


  3. Hello Lee,

    what has happened with your device ?
    Guys, have you followed the flarm change in March 2015 ?
    Another change in the encryption protocol. Now they use XXTEA, but “unfortunately” Hiram has published the details of the encryption just 2 weeks after the release of the new (bugged) firmware.
    The publication is here: http://pastebin.com/YK2f8bfm

    courtesy of unknown

    Document Release: 0.0

    For background information read document from 2008:

    courtesy of Hiram Yaeger


    Swiss glider anti-colission system moved to a new encryption scheme: XXTEA
    The algorithm encrypts all the packet after the header: total 20 bytes or 5 long int words of data

    XXTEA description and code are found here: http://en.wikipedia.org/wiki/XXTEA
    The system uses 6 iterations of the main loop.

    The system version 6 sends two type of packets: position and … some unknown data
    The difference is made by bit 0 of byte 3 of the packet: for position data this bit is zero.

    For position data the key used depends on the time and transmitting device address.
    The key is as well obscured by a weird algorithm.
    The code to generate the key is:

    void make_key(long *key, long time, long address)
    { const long table[4] = { 0xe43276df, 0xdca83759, 0x9802b8ac, 0x4675a56b } ;
    for(int i=0; i>6) ^ address), 0x045D9F3B) ^ 0x87B562F4; }

    long ObscureKey(long key, unsigned long seed)
    { unsigned long m1 = seed * (key ^ (key>>16));
    unsigned long m2 = seed * (m1 ^ (m1>>16));
    return m2 ^ (m2>>16); }


    Byte Bits
    0 AAAA AAAA device address
    3 00aa 0000 aa = 10 or 01

    4 vvvv vvvv vertical speed
    5 xxxx xxvv
    6 gggg gggg GPS status
    7 tttt gggg plane type

    8 LLLL LLLL Latitude
    10 aaaa aLLL
    11 aaaa aaaa Altitude

    12 NNNN NNNN Longitude
    13 NNNN NNNN
    14 xxxx NNNN
    15 FFxx xxxx multiplying factor

    16 SSSS SSSS as in version 4
    17 ssss ssss
    18 KKKK KKKK
    19 kkkk kkkk

    20 EEEE EEEE
    21 eeee eeee
    22 PPPP PPPP
    24 pppp pppp

  4. Hi lucas

    Please email me directly I can give you lots of details

    moorel at ntlworld dot com

    The hardware is now working in skydemon and xcsoar, hopefully soon runwayhd

    I have only just seen this posting, i thought i would have been emailed on a thread update 🙁


  5. Hi Lee

    As part of project we are looking into implementing a FLARM data receiver. I have seen the information from Hiram and other sparsely available information on FLARM radio protocol. From the above comments I gather that you have more details for Flarm Radio Protocol. I would be grateful if you can provide me more details of Flarm radio protocol that you have. Further does the Flarm Radio protocol use the Unnumbered AX.25 Frames used for APRS or has its own proprietary data link format?


Leave a Reply

Your email address will not be published. Required fields are marked *