Transmit (experimental) in OnAir
A separate view for licensed users. Off until you press the big button, and your responsibility.
release-0.2.6 branch). The three real transmit paths were built from the radios' documented interfaces and have never been run on a real radio by the project. Nothing here has been transmitted by a real radio, the project says.Where it is#
A slider at the top left of the interface switches between RX (the normal receiver) and TX (the Transmit panel). The transmitter is independent of the receivers, as in SDRangel: it has its own radio choice and its own mode, so a receiver keeps receiving while you transmit. Switching the view starts and stops nothing. Menu: View > Transmit....
Rules the program follows#
- Transmitting is off until you press Start transmitting. It never starts by itself, never restarts after a crash or when the program starts (the settings do not remember "transmitting"; the program opens in RX view), and it stops when you stop it, the radio fails or you quit.
- The first time, a notice asks you to confirm that you understand (one button, once per install).
- The frequency is pre-filled from the receiver but is yours to edit. A frequency offset can be added for a radio that radiates off frequency.
- The gain slider is the radio's own TX gain range (lowest by default).
- A radio is never used by a receiver and the transmitter at the same time, unless it is genuinely full duplex (none is today). A radio a receiver has open is marked "in use by RX n" and cannot be started for transmitting. Nothing is stopped silently.
- The microphone or camera is not opened until you press Start transmitting.
- A Carrier tune hold button sends an unmodulated carrier at the current frequency and gain, for setting drive, filter, SWR or dummy-load level. It is not saved as transmitting.
- A refusal by the radio's driver is shown in its own words.
Radios that can transmit#
| Radio | Notes |
|---|---|
| HackRF One / Pro (OnAir's own USB driver) | 2 to 20 Msps, TX VGA 0 to 47 dB, the +14 dB amplifier is a switch. The HackRF Pro path is read from the vendor's sources, not tried: no HackRF Pro was available to the project. |
| PlutoSDR (libiio) | 2.1 Msps and up, TX attenuation -89.75 to 0 dB |
| Any SoapySDR radio with a TX channel (LimeSDR, bladeRF, USRP and others) | through its SoapySDR module |
Every other radio (RTL-SDR, Airspy, RX888, SDRplay, Fobos...) is receive-only. The native LimeSDR, bladeRF and USRP drivers are receive-only: use their SoapySDR module to transmit. If no radio can transmit, the panel says so.
Modes that can transmit#
Every mode that has a signal generator is offered except the cases below (a deny-list, not an allow-list). The Transmit panel has a payload field for each: callsign, grid, text, IDs, a file or the microphone, as that mode fits. Empty fields fall back to the demo signal.
- TV and radio: DVB-T2, DVB-T, ATSC 1.0, DAB / DAB+, ISDB-T, DVB-S / S2 / S2X, DTMB, analogue TV (a test card, a video file or a live camera) and D2-MAC. Your own .ts / .m2ts file is sent as-is where the mode supports it.
- Voice: FM broadcast (live microphone or a WAV / MP3 into a stereo multiplex with RDS), NFM, airband AM, analogue-TV sound and amateur SSB; M17 and FreeDV with Codec 2. DMR, P25, NXDN, dPMR and D-STAR cannot encode voice: IDs still go on the air, and a tone, silence or a WAV is offered.
- Others: pagers (POCSAG and FLEX), ADS-B, AIS, ACARS, and further modes that have generators.
Standing warnings in the app: ADS-B simulates aircraft and AIS simulates vessels. Send them only into a dummy load or a shielded setup, never to an antenna: false aircraft or ships can confuse real receivers, which is a safety risk and illegal in most places.
Modes that are not offered#
The interface shows the reason for each: the cellular modes (the generators model a network cell for testing), GNSS (spoofing), Bluetooth / Wi-Fi / HaLow / ANT+ / Remote ID (would impersonate those networks), ISM sensors and Datawell (receive-only harvesters), the spectrum analyser and every analysis, general-listening and workbench mode, time-signal clocks (spoofing), and Multitone paging (the real format is not public).
What has been tested#
The loop-back tests (a generated signal decoded again by OnAir), the HackRF sample conversion, the PlutoSDR path against a fake libiio and the SoapySDR path against a fake driver run in the project's test suite. The maintainer has used transmit on a real radio.
See also Legal.