The motivation behind RF-Clown was to create a tool that could serve as an example of open-source collaboration. Many similar projects remain closed, limiting their use to a select few. With RF-Clown, all resources—from code to PCB designs—are freely available on GitHub, ensuring transparency and accessibility.

This blog post will guide you through the RF-Clown project, detailing its features, design, and implementation. Additionally, we'll discuss how to build it using a breadboard and explore its potential applications.

 

🛠️ Features

RF-Clown is a compact yet powerful BLE and Classic Bluetooth jammer with the following features:

 

🎨 Building the Breadboard Version

For enthusiasts who prefer experimenting with the hardware before committing to soldering or PCB fabrication, RF-Clown can be assembled on a breadboard. This approach allows you to test and modify the project as needed.

Required Components
ComponentQuantityDescription
ESP321Main microcontroller
NRF24L012Wireless transceivers
NeoPixel LED1RGB LED for mode indication
CP2102 USB to Serial1For programming the ESP32
TP40561Lithium battery charger
LF33 Voltage Regulator13.3V output regulator
Micro Switch1Mode selection
Resistors, Wires-Miscellaneous

 

🔌 Breadboard Wiring Guide

Below are the connections for the breadboard version of RF-Clown:

ComponentPinESP32 Pin (GPIO)
NeoPixelDataGPIO 4
ButtonSignalGPIO 33
NRF24L01 (VSPI)CSGPIO 15
NRF24L01 (VSPI)CEGPIO 5
NRF24L01 (HSPI)CSGPIO 22
NRF24L01 (HSPI)CEGPIO 21

 

 

Assembly Steps

  1. Connect the ESP32 to the breadboard.
  2. Attach the NRF24L01 modules to the respective SPI interfaces (VSPI and HSPI).
  3. Connect the NeoPixel LED to GPIO 4.
  4. Add the mode button to GPIO 33.
  5. Wire the TP4056 and LF33 for power management.
  6. Double-check all connections against the table above.
  7. Program the ESP32 using the CP2102 module.

 

📜 Writing the Code

The heart of RF-Clown lies in its firmware. The code is structured to allow seamless switching between BLE, Classic Bluetooth, and combined modes. Here’s an overview of the key functions:

Mode Switching

RF-Clown uses a button connected to GPIO 33 to switch between modes. A NeoPixel LED provides visual feedback:

 

SPI Configuration

The ESP32’s VSPI and HSPI interfaces control two NRF24L01 modules simultaneously. This setup allows efficient hopping across multiple frequencies.

void configureRadio(RF24 &radio, int channel, SPIClass *spi) {    if (radio.begin(spi)) {        radio.setAutoAck(false);        radio.stopListening();        radio.setPALevel(RF24_PA_MAX, true);        radio.startConstCarrier(RF24_PA_HIGH, channel);    }
}

 

Jamming Functions

Each mode employs different channel sets to disrupt communication:

void jamBLE() {    int randomIndex = random(0, sizeof(ble_channels) / sizeof(ble_channels[0]));    radioVSPI.setChannel(ble_channels[randomIndex]);
}

 

🚀 PCB Design

A custom PCB was designed to make RF-Clown portable and robust. The PCB integrates all components, including the ESP32, NRF24L01 modules, NeoPixel LED, and power management circuitry.

Key Features of the PCB

Code & PCB

If you’re interested in building this project, the code and schematic are available on GitHub. Simply visit the GitHub repository to download the necessary files.  Feel free to test the code and share your feedback or improvements.

GitHub repositorygithub.com/cifertech/RF-Clown

 

 Special Thanks to Our Sponsor: JLCPCB

No project is complete without the right tools and materials. That’s where our sponsor, JLCPCB, stepped in to provide essential support for this project. JLCPCB is a leading provider of high-quality printed circuit boards (PCBs) and PCB assembly services.

Simply head over to jlcpcb.com, upload your PCB design files, select your preferences, and Your custom PCBs are on their way to you in no time.

 Get JLCPCB 6-layer PCBs for just $2! Register to get $60 Coupons. Check out the JLCPCB website.

👁 Applications

RF-Clown is designed for educational and research purposes. Potential applications include:

 

 Conclusion

RF-Clown is an open-source BLE and Bluetooth jammer inspired by similar projects in the community. Unlike many closed-source implementations, RF-Clown emphasizes transparency and education. The project is meant for testing and learning about RF technologies and communication protocols.

For detailed instructions, download links, and more, visit the GitHub repository.