Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

ESP32 and NRF24L01-Based Wireless Jammer with OLED Display

View and Edit Project In Cirkit DesignerImage of ESP32 and NRF24L01-Based Wireless Jammer with OLED Display

Circuit Documentation

Summary

This document provides a detailed overview of a circuit designed to perform various tasks, including Wi-Fi and Bluetooth jamming. The circuit consists of multiple components, including capacitors, resistors, LEDs, a toggle switch, a TP4056 battery charger, NRF24L01 modules, an ESP32 microcontroller, and an OLED display. The document includes a component list, wiring details, and documented code for the microcontrollers.

Component List

Electrolytic Capacitor

Resistor

LED: Two Pin (red)

Toggle Switch

TP4056

NRF24L01

3.7v Battery

ESP32-WROOM-32UE

0.96" OLED

Wiring Details

Electrolytic Capacitor

Resistor

LED: Two Pin (red)

Toggle Switch

TP4056

NRF24L01 (Module 1)

NRF24L01 (Module 2)

3.7v Battery

ESP32-WROOM-32UE

0.96" OLED

Documented Code

LED: Two Pin (red)

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

ESP32-WROOM-32UE

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

// NRF24L01 Module 1 Pins (for Wi-Fi jamming)
#define CE_PIN1 22
#define CSN_PIN1 21

// NRF24L01 Module 2 Pins (for Bluetooth jamming)
#define CE_PIN2 16
#define CSN_PIN2 15

// Control pins (switches/buttons)
#define WIFI_CONTROL_PIN 4    // GPIO 4 to control Wi-Fi jamming
#define BT_CONTROL_PIN 5      // GPIO 5 to control Bluetooth jamming
#define BOOT_BUTTON_PIN 0     // GPIO 0 for boot button to change modes

// Create RF24 instances
RF24 wifiJammer(CE_PIN1, CSN_PIN1);
RF24 btJammer(CE_PIN2, CSN_PIN2);

// Dummy payload for interference (repeated noisy data)
const char interferencePayload[32] = "NOISE_INTERFERENCE_DATA";

// Mode definitions
enum Mode {
  IDLE,
  WIFI_JAMMING,
  BT_JAMMING,
  RC_DRONE_JAMMING
};

Mode currentMode = IDLE;

// Bluetooth channels (79 channels from 2.402 GHz to 2.480 GHz)
const uint8_t btChannels[79] = {
  2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80
};

// Wi-Fi channels (11 channels from 2.412 GHz to 2.484 GHz)
const uint8_t wifiChannels[11] = {
  1, 6, 11, 2, 7, 3, 8, 4, 9, 5, 10
};

// RC Drone channels (common channels within 2.4 GHz band)
const uint