Skip to content
 
 

Latest commit

 

History

29 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2.4ghz_Jammer - ESP8266 Dual nRF24L01 2.4GHz Jammer

2.4ghz_Jammer Device

An advanced, highly optimized 2.4GHz jammer built for the ESP8266 (NodeMCU) using two nRF24L01+PA+LNA modules on a shared SPI bus.

This project uses a dedicated OLED display for feedback and a single push button to control everything. It is designed to maximize RF output and efficiently target specific frequency bands including Bluetooth Classic, BLE, Wi-Fi, and RC drones.

Disclaimer: This project is strictly for educational and research purposes only. Interfering with radio communications without authorization is illegal in most jurisdictions. The authors and contributors are not responsible for any misuse of this device. Use it only on networks and devices you own and have explicit permission to test.

🚀 Features

  • Dual Radio Architecture: Uses two NRF24L01 modules to sweep different halves of the spectrum simultaneously.
  • Optimized SPI/I2C Separation: The OLED is cleanly separated onto GPIO0/GPIO1 to ensure the I2C bus does not throttle the high-speed SPI commands sent to the radio modules.
  • Continuous Wave (CW) Mode: Leverages the startConstCarrier() test feature of the nRF24L01 to output a continuous, unmodulated RF carrier wave at maximum power, rather than sending discrete packets.
  • Smart UI Resource Allocation: The OLED display automatically pauses updates during active jamming to dedicate 100% of the ESP8266 CPU and SPI bus to the attack logic.
  • Multiple Target Modes:
    • BLUETOOTH: High-speed sequential hopping across all 79 BT Classic channels.
    • BLE: Specifically targets the 3 primary Advertising channels (37, 38, 39) alongside data channels to prevent connections.
    • WIFI: Sweeps 22MHz wide Wi-Fi channels effectively.
    • RC DRONES: Sweeps the entire 0-125 nRF24 spectrum.
    • ALL 2.4GHz: Maximum spectrum coverage.
  • Manual Mode: Long-press the button (3s) to enter a manual channel selection mode and hammer a single specific frequency with both radios.

📌 Requirements

  • NodeMCU ESP8266 (or compatible ESP8266-based board)
  • 2x NRF24L01+ PA+LNA modules
  • 1x 0.96" OLED SSD1306 display (I2C)
  • 1x Push Button
  • 2x Capacitors (10µF - 100µF) for the NRF modules
  • Connecting wires

⚡ Hardware Connections

Radios (SPI)

ESP8266 Pin NRF24L01+ (Radio 1) NRF24L01+ (Radio 2) Description
D4 (GPIO2) CE - TX Enable (Radio 1)
D2 (GPIO4) CSN - Chip Select (Radio 1)
D1 (GPIO5) - CE TX Enable (Radio 2)
D0 (GPIO16) - CSN Chip Select (Radio 2)
D5 (GPIO14) SCK SCK SPI Clock (Shared)
D7 (GPIO13) MOSI MOSI SPI MOSI (Shared)
D6 (GPIO12) MISO MISO SPI MISO (Shared)
3.3V VCC VCC Power
GND GND GND Ground

CRITICAL: You must solder a capacitor (10µF to 100µF) across the VCC and GND pins of each NRF24L01 module. The PA+LNA versions draw significant current bursts that will cause the ESP8266 to crash or the radios to fail without proper decoupling.

OLED Display (I2C)

ESP8266 Pin OLED Pin Description
D3 (GPIO0) SDA I2C Data
TX (GPIO1) SCL I2C Clock
3.3V VCC Power
GND GND Ground

Button

ESP8266 Pin Button Pin Description
RX (GPIO3) Button Connect one side to RX, other side to GND.

🛠 Compilation & Flashing

This project is configured to be built using PlatformIO.

  1. Install Visual Studio Code and the PlatformIO extension.
  2. Open the FazJammer folder in VS Code.
  3. Wait for PlatformIO to initialize and download the framework.
  4. Connect your ESP8266 via USB.
  5. Click the "Upload" (Right arrow) button in the PlatformIO bottom toolbar.

PlatformIO will automatically download the required dependencies:

  • RF24 by TMRh20
  • Adafruit GFX Library
  • Adafruit SSD1306

📡 Usage Guide

When powered on, the jammer boots into IDLE mode. Both radios are powered down.

  • Short Click: Cycles through the available jamming targets (IDLE -> BLUETOOTH -> BLE -> WIFI -> RC -> ALL).
  • Long Press (3 Seconds): Enters or exits Manual Mode.
    • In Manual Mode, a short click increments the specific nRF24 channel (0-125) you want to target.
    • Both radios will continuously output maximum power on that single frequency.

When a jamming mode is active, the OLED screen will display the target range and freeze its animations. This is intentional: I2C communication is slow and blocks the CPU. By freezing the screen, 100% of the ESP8266's processing power is dedicated to commanding the SPI bus and switching the radio frequencies as fast as possible.

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A minimal jammer for Wi-Fi, BLE, BT, RC and ALL on 2.4 GHz band.

Topics

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages