Hi everyone, welcome back β Iβm Cifer, and happy New Year π
Iβm finally back with ESP32DIV v2.
This project has easily become one of the most talked-about things Iβve built. I get messages about DIV almost every day β questions, ideas, feature requests β and itβs clear this device has grown into something much bigger than a single experiment.
After version one, I released multiple firmware updates, but I never really had the chance to sit down and properly show everything that changed. You already knew about the hardware redesign, so this post focuses on two things:
- Finalizing the hardware evolution
- Walking through what the firmware has become
ESP32DIV was never meant to be just one tool. It was designed as a platform.
Most of the hardware details were already covered in previous videos, so here Iβll focus on the final changes that shaped v2.
- Buttons: I switched to soft tactile switches β the same ones I used in RFClown and TamaFi. Once I started using them, there was no going back.
- Buzzer: Added for feedback. It shares a GPIO with the battery voltage divider, so using it is optional.
- ESP32-S3: The biggest upgrade. It solved many pin-conflict issues from the previous version and unlocked new capabilities, making firmware cleaner and hardware expansion easier.
- Battery charging: IP5306 now handles charging reliably, with a boost converter. The only remaining limitation is that detailed battery data via IΒ²C isnβt fully working yet.
Other components:
- SD card reader, heavily used throughout the firmware
- CP2102 for USB flashing
- Four WS2812 NeoPixels instead of a single large LED, giving better feedback
- Other components:SD card reader, heavily used throughout the firmwareCP2102 for USB flashingFour WS2812 NeoPixels instead of a single large LED, giving better feedback
The core board is now stable β intentionally boring. Experimentation happens on the shield.
The shield includes:
- Three NRF24 modules
- CC1101 Sub-GHz radio
- Multiple antennas
- Infrared
I initially picked the wrong IR receiver, so I built a DIY one to continue testing. The corrected version is now on GitHub.
A defining detail of v2 is the use of pogo-pin headers. These spring-loaded contacts make ESP32DIV thin and allow clean stacking without bulky connectors.
π§ UI Philosophy β Consistency Over ClevernessThe interface is organized into top-level categories: Wi-Fi, Bluetooth, 2.4 GHz, Sub-GHz, Tools, and Settings.
Almost every feature follows the same structure:
- A setup function initializes hardware and draws the UI
- A loop function runs continuously
- A global
feature_exit_requestedflag handles clean exits
This consistency makes behavior predictable and simplifies adding new features.
π‘ Packet MonitorListen-only Wi-Fi tool in promiscuous mode with PCAP logging to SD card.
π Wi-Fi ScannerActive scanning of nearby networks, background scanning enabled.
π‘οΈ Deauth DetectorDefensive tool that flags hidden SSIDs, duplicate networks, or unusual channels.
β οΈ Wi-Fi DeautherDemonstrates risks of unauthenticated management frames and why modern protections exist.
π Captive PortalESP32 runs as AP + DNS + web server. Clone networks, force sign-in pages, all before HTTPS/authentication.
π₯ Beacon SpammerFloods airwaves with fake Wi-Fi access points. Options for targeting specific APs or generating random ones β great for testing or chaos in a lab.
π΅ Bluetooth (BLE) β Trust Is the Attack Surfaceπ‘ BLE SnifferScans BLE advertisements, tracking MAC, RSSI, packet count, and last-seen time. Suspicious devices are highlighted.
β¨οΈ BLE Rubber DuckyActs as a BLE keyboard and executes SD card scripts. Keys are released and advertising stops on exit.
π BLE SpooferSends crafted BLE advertising packets to impersonate devices.
π Sour AppleApple-focused BLE spoofing targeting AirDrop/Continuity behavior.
π΅ BLE JammerDemonstrates BLE-band interference in controlled environments.
π 2.4β―GHz β Seeing the Invisibleπ 2.4β―GHz ScannerMeasures energy across channels and displays a spectrum graph.
β‘ ProtokillDisrupts 2.4β―GHz protocols like Wi-Fi and Zigbee for testing or stress scenarios.
π‘ SubβGHz β Legacy & Controlπ Replay AttackCapture and retransmit legacy RF signals. Auto-scan mode detects active signals.
β‘ SubβGHz JammerDisrupts communication on selected frequencies or sweeps automatically.
πΎ Saved ProfilesStores captured signals with names for reliable replay and safe management.
πΊ Infrared (IR) β Capture, Visualize, Reuseπ IR Replay AttackCapture real IR remote presses, visualize, replay, and save to SD.
π IR Saved ProfilesBrowser for IR captures, preserving signal and carrier frequency for accurate retransmission.
π§° Tools & Settings β The GlueSettings: Control brightness, UI theme, NeoPixel behavior, and background scanning. All settings are saved to a JSON file on the SD card.
Tools:
- Serial Monitor
- Firmware Update
- Touch Calibration
Simple, but essential.
Big thanks to NextPCB for supporting this project!If you're building your own ESP32-DIV or any other PCB project, I highly recommend NextPCB for fast, reliable, and affordable PCB manufacturing and assembly.
π οΈ Get your boards made here β https://www.nextpcb.com
π» Code & PCBIf 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 repository: github.com/cifertech/ESP32-DIV
π Final ThoughtsThese were just some of the features β mainly the ones that are new or significantly changed.
ESP32DIV is my favorite project so far, and Iβm not done with it.More features are coming, bugs will be fixed, and thereβs always room for improvement.
This project isnβt finished β itβs evolving.
β









Comments