A Simple ESP12 & AD9851 based RF Jammer which can be controlled using MQTT protocol
GPL-3.0 License
This project demonstrate a rather simple implementation of ESP-12 & AD9851 DDS as an RF Jammer (random frequency hopping) which can be controlled via MQTT protocol over the internet. The parameters which we can control:
And then the device then reports back these parameters.
Tested on Wemos D1 mini and cheap AD9851 DDS module with 30MHz external clock. Compiled using Arduino IDE 1.8.9.
There are a few dependencies required:
Very important:
const char* brokerUser = "my_broker_username";
const char* brokerPass = "my_broker_password";
const char* broker = "my_broker_server";
personally, i am using mqtt.dioty.co
for the broker server, therefore my username would be [email protected]
. You can use another mqtt broker server.
wifiMulti.addAP("ssid_from_AP_1", "your_password_for_AP_1");
wifiMulti.addAP("ssid_from_AP_2", "your_password_for_AP_2");
wifiMulti.addAP("ssid_from_AP_3", "your_password_for_AP_3");
you can whether use only one SSID and password or all of them.
min_freq
and max_freq
as is, or use another frequency accordingly. Please note that absolute maximum fundamental frequency which AD9851 can generate properly is < 90 MHz (30 MHz external osc. with 6x multiplier).min_freq
, and max_freq
is reported into the /out/stat
, /out/minFreq
, and /out/maxFreq
topic respectively.min_freq
and max_freq
are received from the /in/en
, /in/minFreq
, and /in/maxFreq
topic respectively.For monitoring the signal, I'm using RTL-SDR dongle and GQRX SDR Software (rudimentary RF Spectrum display).
My initial min_freq
and max_freq
are 34.8 MHz and 35.2 MHz, therefore I tuned my RTL-SDR to 35 MHz of center frequency.
After the ESP12 connected to the local WiFi, it will starts to transmit a bunch of RF signals which you can monitor. Picture above: Initial test with the ESP12_RF_Jammer_Test.ino skecth. It will transmitting RF between 34.8MHz and 35.2MHz according to the default min_freq and max_freq values
For controlling the RF Jammer, I'm using MQTT Dashboard smartphone app with proper settings. If I were to change the frequencies or disable/re-enable the jammer, the device would response accordingly. Picture above: Demonstration for controlling the RF Jammer via MQTT protocol (ESP12_MQTT_RF_Jammer.ino skecth). First, i started off with min_freq of 40.7MHz and max_freq of 41.2MHz. Then, sometime later I changed the max_freq and then the min_freq into 41.35MHz and 40.55MHz respectively. For a couple of seconds, I disabled the RF Jammer and then re-enabled it. All is done via MQTT Dashboard app.
git checkout -b myfeature
)git commit -m "Adding some feature blah blah blah.."
)git push -u origin myfeature
)