Aircraft FLARM to MQTT via SDR and Raspberry Pi

Job ID: 38500768

Budget: €750 – €1,500 EUR

Requirements Document - 26th August 2024 (PDF attached is identical text, but with formatting!)

Requirement
Our project requires the receipt of radio messages from aircraft using the FLARM protocol https://en.wikipedia.org/wiki/FLARM

There are numerous ways of receiving and decoding this (closed source) protocol, with open source projects such as:
https://github.com/lyusupov/SoftRF
https://github.com/xoolive/rs1090
https://github.com/creaktive/flare
https://github.com/argilo/gr-flarm
https://github.com/gereic/GXAirCom
https://github.com/3s1d/fanet-stm32
https://github.com/biturbo/stratux-flarm
https://github.com/PepperJo/stratux
https://github.com/VirusPilot/stratux
https://github.com/Turbo87/united-flarmnet

Our project would like to:
Receive FLARM transmissions from passing aircraft via an SDR radio (see note below)
Decode the information received, and post it to a local MQTT server, making sure to include an accurate NTP timestamp of when the transmission was observed.
The MQTT payload should be JSON one string per packet detection. Any decode failures should be included also.

Proposed hardware:
Recommend Raspberry Pi 4 or 5 for the performance to run an SDR, FLARM decoding, NTP and a MQTT server locally.
An SDR that can receive FLARM data. We propose a nRF905 based SDR - they are very low cost (eg <$10 on Ebay), and contain the same chip that FLARM use for official FLARM hardware. It also has two pins (6 & 7 - carrier detect and address match) which we might wish to connect directly to electronically for future proofing. However, we are receptive to proposals on alternative SDRs if there is sufficient benefit.


Proposed deliveries:

Work Package One - Planning
Create an analysis document outlining:
different software packages available (including but not limited to the links above), their advantages/disadvantages, and any licencing limitations to them
the SDRs that could be used, advantages and disadvantages, and recommendations
Design detail for how you would propose using the available software and ‘off the shelf’ SDRs you have found to create the desired solution.
Analysis of risks and uncertainties (if any)
Commentary on any other recommendations you have, eg:
Different hardware/software choices
Other marine, aviation or land based signals that could easily also be decoded via the same electronics, eg ADS-B
Final commercial proposal (with work packages/deliverables) for Work Package 2: implementation, including example MQTT messages so we can agree on format before Work Package 2 commences.


Work Package 2 (with milestones within it) - Implementation
Fuller details of this can be re-negotiated once Work Package One (Planning) is complete. However, please provide best estimate for delivery of:

A complete Raspberry Pi 4 or 5 SD Card image that contains:
NTP Server
MQTT Server
SDR Software to decode FLARM
Script to take the decoded FLARM data and push it into the MQTT Server
Documentation of the necessary commands to go from a vanilla Raspberry Pi installation (see Raspberry Pi foundation for downloads) to a fully working system
Full source code and documentation of the above

Contractual notes:
You will need to source your own Raspberry Pi and nRF905 based SDR. Please factor this in your commercial proposal - and expect to keep them afterwards.
There is potential for longer term work after this project.
Please do not send a general ‘yes we can do it’ response without specifics of your experience in this area. If you can evidence SDR, Raspberry Pi, Electronics or ADS-B/Flarm experience, that will be significantly more interesting than a proposal from an individual who can only show SEO or web development experience and shows no evidence of having actually read or understood the requirements! :-)
Related categories: C Programming Python Electronics MQTT Raspberry Pi