Upwork logo

Build Android-based RTL-SDR RF Signal detection & forwarding App - Contract to Hire

Upwork

The application shall function as an Android-based RF survey platform that continuously monitors the RF environment using an attached RTL-SDR receiver, performs lightweight signal classification, and captures geotagged RF observations for subsequent analysis. The system shall identify candidate signal families including analog radio, land mobile radio (e.g., P25-like, DMR-like, NXDN-like, and MPT-1327-like), low-power IoT protocols (e.g., LoRa-like, LoRaWAN-like, Sigfox-like, and Wireless M-Bus-like), unknown digital narrowband and wideband signals, and other unclassified RF activity without requiring full protocol decoding. The application shall maintain a configurable circular IQ buffer and support manual, RSSI-based, signal appearance, and classification-based recording triggers. Upon a trigger event, the system shall preserve pre-event IQ samples, record post-event activity, generate associated metadata (including timestamp, GPS location, frequency, signal strength, classification, and trigger reason), store recordings locally, and publish RF detection and IQ recording events via MQTT using authenticated, encrypted, and store-and-forward capable communications. The application shall provide configurable local storage and retention management, an operator dashboard displaying SDR, GPS, MQTT, and storage status, monitoring and recording controls, and configuration settings for frequency ranges, gain, sample rates, trigger thresholds, and MQTT connectivity. Deliverables shall include complete Android source code, compiled APK, build and installation documentation, MQTT and metadata schemas, testing documentation, and end-user guidance.

RF Signal Classification Engine

Application shall perform lightweight signal classification.

The application is not required to fully decode protocols.

The application shall identify candidate signal families.

Analog Signals

  • Analog FM
  • Analog AM
  • Unknown Analog

Land Mobile Radio

  • P25-like
  • DMR-like
  • NXDN-like
  • MPT-1327-like

IoT / Low-Power RF

  • LoRa-like
  • LoRaWAN-like
  • Sigfox-like
  • Wireless M-Bus-like

Digital RF

  • Unknown Digital Narrowband
  • Unknown Digital Wideband

General

  • Unknown RF Signal

IQ Capture System

Application shall support

  • Manual recording
  • Triggered recording
  • Ring-buffer recording

Continuous IQ storage is not required.

Ring Buffer Requirements

Application shall continuously maintain a circular memory buffer.

Default

  • 30 seconds pre-event

Configurable by operator.

Trigger Conditions

Application shall support

Manual Trigger

User initiates recording.

RSSI Trigger

Signal exceeds configurable threshold.

Signal Appearance Trigger

New signal detected.

Classification Trigger

Signal classified as

  • P25-like
  • DMR-like
  • NXDN-like
  • LoRa-like
  • LoRaWAN-like
  • Sigfox-like
  • Wireless M-Bus-like
  • Unknown Digital

Trigger Actions

Upon trigger

1. Preserve pre-event IQ buffer.

2. Record post-event IQ.

3. Generate metadata.

4. Save recording locally.

5. Publish MQTT event.

Default post-event recording

  • 30 seconds (configurable)

IQ Metadata

Each IQ recording shall generate a metadata file.

MQTT Integration

Application shall publish RF Detection Events and IQ Recording Events.

MQTT shall support

  • Authentication
  • TLS
  • Reconnection
  • Store-and-forward

________________________________________

Local Storage

Application shall support

  • Local metadata storage
  • Local IQ storage
  • Upload queue
  • Configurable retention periods.

________________________________________

User Interface

Application shall provide

Dashboard

  • SDR status
  • GPS status
  • MQTT status
  • Storage utilization

Controls

  • Start monitoring
  • Stop monitoring
  • Manual IQ capture

Configuration

  • Frequency ranges
  • Gain settings
  • Sample rates
  • Trigger thresholds
  • MQTT settings

Deliverables

1. Android source code

2. APK package

3. Build instructions

4. MQTT schema documentation

5. Metadata schema documentation

6. Installation guide

7. Test plan

8. User guide

Job Type

Job Type
Contract
Location
Anywhere(Remote)

Share this job: