![🚀 BLE Jammer]
This project is an educational-only BLE jammer that disrupts Bluetooth Low Energy (BLE) communication using the ESP32 microcontroller and NRF24L01 modules. It employs multiple SPI buses (VSPI and HSPI) to enhance jamming efficiency by simultaneously transmitting on different channels.
🚨 Disclaimer: This project is for educational purposes only. It is intended to demonstrate the vulnerabilities of wireless communication systems. Any misuse or application in unauthorized environments is strictly prohibited.
- 🔄 Dual SPI Operation: Uses both HSPI and VSPI buses for simultaneous transmission.
- ⚡ Channel Hopping: Random or incrementally shifting channels to improve effectiveness.
- 🖥️ OLED Display: Displays status messages and operational feedback.
- 🕹️ Debounced Toggle Switch: Controls between fixed and random channel modes.
- 🔋 Efficient Power Handling: Reduces power usage by disabling unused peripherals.
- 🧠 ESP32 Development Board
- 📡 NRF24L01+ Radio Modules (x2)
- 📺 SSD1306 OLED Display (128x32)
- 🔘 Push Button / Toggle Switch
| Pin | Function | ESP32 Pin |
|---|---|---|
| SDA | I2C Data | D21 |
| SCL | I2C Clock | D22 |
| SPI Bus | Function | NRF24 Pin | ESP32 Pin |
|---|---|---|---|
| HSPI | CE | 26 | |
| CS | 15 | ||
| SCK | 14 | ||
| MISO | 12 | ||
| MOSI | 13 | ||
| VSPI | CE | 4 | |
| CS | 5 | ||
| SCK | 18 | ||
| MISO | 19 | ||
| MOSI | 23 |
- Arduino IDE
- Libraries:
RF24by TMRh20ezButtonU8x8libfor OLED
- Install Required Libraries:
- In Arduino IDE, go to
Sketch > Include Library > Manage Librariesand search for the listed libraries.
- In Arduino IDE, go to
- Connect Components as per the wiring table.
- Upload the Code:
- Copy the provided code into the Arduino IDE.
- Select the correct board (ESP32 Dev Module) and COM port.
- Click on Upload.
- Power On the device.
- The OLED displays:
- Initialization Messages
- Status of VSPI and HSPI Jammers
- Toggle Switch Modes:
- Fixed Channel Mode: Increments and decrements channels within set limits.
- Random Channel Mode: Randomizes channel selection and delay.
- Monitor Serial Output for additional status messages and debug logs.
BLE JAMMER
...............
EducationalOnly
- Randomly selects a channel for both SPI buses and introduces a randomized delay.
- Increments and decrements the channel numbers, flipping direction at predefined limits.
- Channel Range: Adjust
chandch1limits. - SPI Speed: Modify
RF24initialization to change SPI clock speed. - Display Text: Modify OLED messages for personalized feedback.
| 🛑 Issue | 💡 Solution |
|---|---|
| No OLED Output | Check I2C connections and ensure the correct address. |
| Jammer Not Starting | Verify SPI wiring for NRF24 modules. |
| WiFi/Bluetooth Not Disabled | Ensure esp_wifi_stop() and esp_bt_controller_deinit() are called. |
This project is licensed under the MIT License.
Pull requests are welcome! Please open an issue first to discuss any changes.
✨ Enjoy Exploring Wireless Security with Responsibility!