This project implements an FM Emergency Warning System using GNU Radio and ADALM-PLUTO (PlutoSDR). It broadcasts an FM signal with RDS PTY 31 (Alarm) code, which triggers "ALARM" mode on compatible receivers.
- Web Interface: Control the alarm status and RDS text via a modern web UI.
- PTY 31 Trigger: Instantly switch from normal broadcast to Emergency Alarm mode.
- Hardware Support: Designed for ADALM-PLUTO (PlutoSDR).
- Hardware: ADALM-PLUTO
- OS: Windows 10/11 (or Linux)
- Software:
- Radioconda (Recommended) OR Anaconda
- Python 3.10+
-
Clone the repository:
git clone https://github.com/hakansabunis/FM.git cd FM -
Create Conda Environment:
conda env create -f environment.yml conda activate fm_radio
1. Start the Radio Transmitter: Open a terminal (Radioconda Prompt), activate the environment, and run:
python fm_transmitter.py --ip 192.168.2.1 --freq 1000000002. Start the Web Interface: Open a second terminal and run:
python main.py3. Control:
Go to http://127.0.0.1:8000 in your browser.
WARNING: Broadcasting on FM frequencies requires a license in most countries. This software is for educational and laboratory testing purposes only (use with a Faraday cage or dummy load). The authors are not responsible for misuse.