Repository files navigation

ESP32-DIV Banner

📖 Explore the ESP32-DIV Wiki

Complete project story, in-depth tutorials, and all the features in Wiki! From Wi-Fi deauthentication attacks to Sub-GHz signal replay, the Wiki covers everything you need to get started. Click here to explore now!

Skip the IDE — flash directly from your browser at cifertech.github.io/ESP32-DIV

🌟 About the Project

ESP32-DIV is an open-source, multi-band wireless toolkit built on the ESP32-S3. It covers Wi-Fi, BLE, 2.4GHz, Sub-GHz, IR, RFID/NFC, and GPS. all from a compact handheld device with a touchscreen UI. Whether you're analyzing wireless traffic, testing signal resilience, or building your own RF tools, ESP32-DIV gives you a single platform to do it all.

Warning

This project is intended for educational and research purposes only. Use only on networks and devices you own or have explicit permission to test. Unauthorized use may violate local laws.

🎯 Features

📡 Wi-Fi
ToolDescription
Packet MonitorReal-time waterfall graph across all 14 channels; optional PCAP logging to SD
Wi-Fi ScannerLists nearby networks with extended details
Beacon SpammerBroadcasts fake SSIDs (custom or random)
Deauth AttackSends deauthentication frames to disrupt client connections
Deauth DetectorMonitors for incoming deauth attacks
Captive PortalAP + DNS + web server; clone networks and force sign-in pages
Probe FloodFloods probe requests to stress-test APs
Hidden SSID RevealerForces hidden networks to expose their SSID
WPS ScannerDetects access points with WPS enabled
ARP ScannerMaps all devices on a network with IP and MAC after joining
Karma AttackListens for probe requests and impersonates saved networks to auto-connect devices
🔵 Bluetooth
ToolDescription
BLE ScannerDiscovers hidden and visible BLE devices
BLE SnifferTracks MAC, RSSI, packet count, and last-seen time
BLE SpooferBroadcasts fake BLE advertisements
Sour AppleSpoof Apple BLE advertisements (e.g., AirDrop popups)
BLE JammerDisrupts BLE and classic Bluetooth channels
BLE Rubber DuckyActs as a BLE keyboard; executes scripts from /ducky on SD
AirTag SpooferBroadcasts fake AirTag signals into the Find My network
AirTag SnifferMonitors for AirTags in range
Skimmer DetectScans for BLE signatures matching known card skimmer profiles
📶 2.4GHz / NRF24
ToolDescription
2.4GHz ScannerSpectrum analyzer across 128 channels (Zigbee, custom RF, etc.)
ProtokillDisrupts Zigbee, Wi-Fi, and other 2.4GHz protocols
ESB SnifferPassively captures Enhanced ShockBurst NRF24 packets
ESB ReplayReplays captured ESB packets
MouseJack ScanDetects vulnerable wireless mice and keyboards
MouseJack InjectInjects keystrokes into vulnerable wireless receivers
📻 Sub-GHz
ToolDescription
Replay AttackCaptures and replays Sub-GHz commands (e.g., garage doors, remotes)
Sub-GHz JammerDisrupts Sub-GHz communication across various bands
Saved ProfilesStores and manages captured signal profiles
De Bruijn / Brute ForceCycles through all possible fixed codes for Sub-GHz remotes
Jamming DetectorReceive-only monitor that detects Sub-GHz jamming attacks (e.g. car-fob jamming)
📺 Infrared (IR)
ToolDescription
IR Replay AttackCaptures real IR presses, visualizes, replays, and saves to SD
IR Saved ProfilesBrowses IR captures; preserves signal and carrier frequency
Universal IR ControllerBuilt-in profiles, SD imports, favorites, and remote-style control
🧲 RFID / NFC
ToolDescription
Card ReaderReads UID and tag identification
Card CloneCopies supported writable tags
DumpReads sectors/blocks when keys are available
Decode AccessInterprets access bits and ACL-style fields from dumps
EraseWipes supported writable tags
Jam ReaderImpedes another reader with RF patterns
Tag DisruptAdvanced disruption flows for authorized physical tests
Disrupt EmulateDisruption combined with emulation-style flows
🛰️ GPS
ToolDescription
WardriverLogs GNSS position with Wi-Fi/BLE observations to SD
Satellite ScannerShows satellites in view, signal strength, and fix diagnostics
🧰 Device & System
ToolDescription
Serial MonitorMirrors serial traffic on the TFT for field debugging
SD File ManagerBrowses and manages files on the SD card
Update FirmwareFlashes new firmware from SD
Touch CalibrateFour-corner XPT2046 touchscreen calibration
SettingsBrightness, dark/light theme, NeoPixel, background auto-scan
ESP32-DIV Beta

ESP32-DIV v2

ESP32-DIV Beta

ESP32-DIV Beta

ESP32-DIV v1

ESP32-DIV v1

🔧 Hardware Overview

ESP32DIV consists of two boards:

🧠 Main Board

  • ESP32-S3 – Main microcontroller with Wi-Fi and BLE
  • ILI9341 TFT Display – 2.8" UI display
  • LF33 – 3.3V regulator
  • IP5306 – Lithium battery charging and protection
  • CP2102 – USB-to-serial for flashing
  • PCF8574 – I/O expander for buttons
  • SD Card Slot – Stores logs and captured signals
  • Push Buttons – Navigation and interaction
  • Antenna Connector – External antenna support
  • WS2812 NeoPixels - Giving better feedback
  • Buzzer - It shares a GPIO with the battery voltage divider, so using it is optional.

🛡️ Shield

  • 3x NRF24 Modules – 2.4GHz jamming and spoofing
  • 1x CC1101 Module – Sub-GHz jamming and replay
  • Multiple antennas - Extended range
  • IR Transceiver - Capture & replay IR remotes
ESP32-DIV Beta

ESP32-DIV v2 Main Board

ESP32-DIV v1

ESP32-DIV v2 Shield

ESP32-DIV Beta

ESP32-DIV v1 Main Board

ESP32-DIV v1

ESP32-DIV v1 Shield

⚠️ License

Distributed under the MIT License. See LICENSE.txt for more information.

Support & Contributions

  • 💬 Found a bug or have a feature request? Open an Issue
  • ⭐ Like the project? Star the repo!
  • 🛠 Want to contribute? Fork it and submit a pull request. ‎

Contact

Releases

Sponsor this project

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

ESP32-DIV Banner

📖 Explore the ESP32-DIV Wiki

Complete project story, in-depth tutorials, and all the features in Wiki! From Wi-Fi deauthentication attacks to Sub-GHz signal replay, the Wiki covers everything you need to get started. Click here to explore now!

Skip the IDE — flash directly from your browser at cifertech.github.io/ESP32-DIV

🌟 About the Project

ESP32-DIV is an open-source, multi-band wireless toolkit built on the ESP32-S3. It covers Wi-Fi, BLE, 2.4GHz, Sub-GHz, IR, RFID/NFC, and GPS. all from a compact handheld device with a touchscreen UI. Whether you're analyzing wireless traffic, testing signal resilience, or building your own RF tools, ESP32-DIV gives you a single platform to do it all.

Warning

This project is intended for educational and research purposes only. Use only on networks and devices you own or have explicit permission to test. Unauthorized use may violate local laws.

🎯 Features

📡 Wi-Fi
ToolDescription
Packet MonitorReal-time waterfall graph across all 14 channels; optional PCAP logging to SD
Wi-Fi ScannerLists nearby networks with extended details
Beacon SpammerBroadcasts fake SSIDs (custom or random)
Deauth AttackSends deauthentication frames to disrupt client connections
Deauth DetectorMonitors for incoming deauth attacks
Captive PortalAP + DNS + web server; clone networks and force sign-in pages
Probe FloodFloods probe requests to stress-test APs
Hidden SSID RevealerForces hidden networks to expose their SSID
WPS ScannerDetects access points with WPS enabled
ARP ScannerMaps all devices on a network with IP and MAC after joining
Karma AttackListens for probe requests and impersonates saved networks to auto-connect devices
🔵 Bluetooth
ToolDescription
BLE ScannerDiscovers hidden and visible BLE devices
BLE SnifferTracks MAC, RSSI, packet count, and last-seen time
BLE SpooferBroadcasts fake BLE advertisements
Sour AppleSpoof Apple BLE advertisements (e.g., AirDrop popups)
BLE JammerDisrupts BLE and classic Bluetooth channels
BLE Rubber DuckyActs as a BLE keyboard; executes scripts from /ducky on SD
AirTag SpooferBroadcasts fake AirTag signals into the Find My network
AirTag SnifferMonitors for AirTags in range
Skimmer DetectScans for BLE signatures matching known card skimmer profiles
📶 2.4GHz / NRF24
ToolDescription
2.4GHz ScannerSpectrum analyzer across 128 channels (Zigbee, custom RF, etc.)
ProtokillDisrupts Zigbee, Wi-Fi, and other 2.4GHz protocols
ESB SnifferPassively captures Enhanced ShockBurst NRF24 packets
ESB ReplayReplays captured ESB packets
MouseJack ScanDetects vulnerable wireless mice and keyboards
MouseJack InjectInjects keystrokes into vulnerable wireless receivers
📻 Sub-GHz
ToolDescription
Replay AttackCaptures and replays Sub-GHz commands (e.g., garage doors, remotes)
Sub-GHz JammerDisrupts Sub-GHz communication across various bands
Saved ProfilesStores and manages captured signal profiles
De Bruijn / Brute ForceCycles through all possible fixed codes for Sub-GHz remotes
Jamming DetectorReceive-only monitor that detects Sub-GHz jamming attacks (e.g. car-fob jamming)
📺 Infrared (IR)
ToolDescription
IR Replay AttackCaptures real IR presses, visualizes, replays, and saves to SD
IR Saved ProfilesBrowses IR captures; preserves signal and carrier frequency
Universal IR ControllerBuilt-in profiles, SD imports, favorites, and remote-style control
🧲 RFID / NFC
ToolDescription
Card ReaderReads UID and tag identification
Card CloneCopies supported writable tags
DumpReads sectors/blocks when keys are available
Decode AccessInterprets access bits and ACL-style fields from dumps
EraseWipes supported writable tags
Jam ReaderImpedes another reader with RF patterns
Tag DisruptAdvanced disruption flows for authorized physical tests
Disrupt EmulateDisruption combined with emulation-style flows
🛰️ GPS
ToolDescription
WardriverLogs GNSS position with Wi-Fi/BLE observations to SD
Satellite ScannerShows satellites in view, signal strength, and fix diagnostics
🧰 Device & System
ToolDescription
Serial MonitorMirrors serial traffic on the TFT for field debugging
SD File ManagerBrowses and manages files on the SD card
Update FirmwareFlashes new firmware from SD
Touch CalibrateFour-corner XPT2046 touchscreen calibration
SettingsBrightness, dark/light theme, NeoPixel, background auto-scan
ESP32-DIV Beta

ESP32-DIV v2

ESP32-DIV Beta

ESP32-DIV Beta

ESP32-DIV v1

ESP32-DIV v1

🔧 Hardware Overview

ESP32DIV consists of two boards:

🧠 Main Board

  • ESP32-S3 – Main microcontroller with Wi-Fi and BLE
  • ILI9341 TFT Display – 2.8" UI display
  • LF33 – 3.3V regulator
  • IP5306 – Lithium battery charging and protection
  • CP2102 – USB-to-serial for flashing
  • PCF8574 – I/O expander for buttons
  • SD Card Slot – Stores logs and captured signals
  • Push Buttons – Navigation and interaction
  • Antenna Connector – External antenna support
  • WS2812 NeoPixels - Giving better feedback
  • Buzzer - It shares a GPIO with the battery voltage divider, so using it is optional.

🛡️ Shield

  • 3x NRF24 Modules – 2.4GHz jamming and spoofing
  • 1x CC1101 Module – Sub-GHz jamming and replay
  • Multiple antennas - Extended range
  • IR Transceiver - Capture & replay IR remotes
ESP32-DIV Beta

ESP32-DIV v2 Main Board

ESP32-DIV v1

ESP32-DIV v2 Shield

ESP32-DIV Beta

ESP32-DIV v1 Main Board

ESP32-DIV v1

ESP32-DIV v1 Shield

⚠️ License

Distributed under the MIT License. See LICENSE.txt for more information.

Support & Contributions

  • 💬 Found a bug or have a feature request? Open an Issue
  • ⭐ Like the project? Star the repo!
  • 🛠 Want to contribute? Fork it and submit a pull request. ‎

Contact

Releases

Sponsor this project

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ESP32-DIV Banner

📖 Explore the ESP32-DIV Wiki

Complete project story, in-depth tutorials, and all the features in Wiki! From Wi-Fi deauthentication attacks to Sub-GHz signal replay, the Wiki covers everything you need to get started. Click here to explore now!

Skip the IDE — flash directly from your browser at cifertech.github.io/ESP32-DIV

🌟 About the Project

ESP32-DIV is an open-source, multi-band wireless toolkit built on the ESP32-S3. It covers Wi-Fi, BLE, 2.4GHz, Sub-GHz, IR, RFID/NFC, and GPS. all from a compact handheld device with a touchscreen UI. Whether you're analyzing wireless traffic, testing signal resilience, or building your own RF tools, ESP32-DIV gives you a single platform to do it all.

Warning

This project is intended for educational and research purposes only. Use only on networks and devices you own or have explicit permission to test. Unauthorized use may violate local laws.

🎯 Features

📡 Wi-Fi
ToolDescription
Packet MonitorReal-time waterfall graph across all 14 channels; optional PCAP logging to SD
Wi-Fi ScannerLists nearby networks with extended details
Beacon SpammerBroadcasts fake SSIDs (custom or random)
Deauth AttackSends deauthentication frames to disrupt client connections
Deauth DetectorMonitors for incoming deauth attacks
Captive PortalAP + DNS + web server; clone networks and force sign-in pages
Probe FloodFloods probe requests to stress-test APs
Hidden SSID RevealerForces hidden networks to expose their SSID
WPS ScannerDetects access points with WPS enabled
ARP ScannerMaps all devices on a network with IP and MAC after joining
Karma AttackListens for probe requests and impersonates saved networks to auto-connect devices
🔵 Bluetooth
ToolDescription
BLE ScannerDiscovers hidden and visible BLE devices
BLE SnifferTracks MAC, RSSI, packet count, and last-seen time
BLE SpooferBroadcasts fake BLE advertisements
Sour AppleSpoof Apple BLE advertisements (e.g., AirDrop popups)
BLE JammerDisrupts BLE and classic Bluetooth channels
BLE Rubber DuckyActs as a BLE keyboard; executes scripts from /ducky on SD
AirTag SpooferBroadcasts fake AirTag signals into the Find My network
AirTag SnifferMonitors for AirTags in range
Skimmer DetectScans for BLE signatures matching known card skimmer profiles
📶 2.4GHz / NRF24
ToolDescription
2.4GHz ScannerSpectrum analyzer across 128 channels (Zigbee, custom RF, etc.)
ProtokillDisrupts Zigbee, Wi-Fi, and other 2.4GHz protocols
ESB SnifferPassively captures Enhanced ShockBurst NRF24 packets
ESB ReplayReplays captured ESB packets
MouseJack ScanDetects vulnerable wireless mice and keyboards
MouseJack InjectInjects keystrokes into vulnerable wireless receivers
📻 Sub-GHz
ToolDescription
Replay AttackCaptures and replays Sub-GHz commands (e.g., garage doors, remotes)
Sub-GHz JammerDisrupts Sub-GHz communication across various bands
Saved ProfilesStores and manages captured signal profiles
De Bruijn / Brute ForceCycles through all possible fixed codes for Sub-GHz remotes
Jamming DetectorReceive-only monitor that detects Sub-GHz jamming attacks (e.g. car-fob jamming)
📺 Infrared (IR)
ToolDescription
IR Replay AttackCaptures real IR presses, visualizes, replays, and saves to SD
IR Saved ProfilesBrowses IR captures; preserves signal and carrier frequency
Universal IR ControllerBuilt-in profiles, SD imports, favorites, and remote-style control
🧲 RFID / NFC
ToolDescription
Card ReaderReads UID and tag identification
Card CloneCopies supported writable tags
DumpReads sectors/blocks when keys are available
Decode AccessInterprets access bits and ACL-style fields from dumps
EraseWipes supported writable tags
Jam ReaderImpedes another reader with RF patterns
Tag DisruptAdvanced disruption flows for authorized physical tests
Disrupt EmulateDisruption combined with emulation-style flows
🛰️ GPS
ToolDescription
WardriverLogs GNSS position with Wi-Fi/BLE observations to SD
Satellite ScannerShows satellites in view, signal strength, and fix diagnostics
🧰 Device & System
ToolDescription
Serial MonitorMirrors serial traffic on the TFT for field debugging
SD File ManagerBrowses and manages files on the SD card
Update FirmwareFlashes new firmware from SD
Touch CalibrateFour-corner XPT2046 touchscreen calibration
SettingsBrightness, dark/light theme, NeoPixel, background auto-scan
ESP32-DIV Beta

ESP32-DIV v2

ESP32-DIV Beta

ESP32-DIV Beta

ESP32-DIV v1

ESP32-DIV v1

🔧 Hardware Overview

ESP32DIV consists of two boards:

🧠 Main Board

  • ESP32-S3 – Main microcontroller with Wi-Fi and BLE
  • ILI9341 TFT Display – 2.8" UI display
  • LF33 – 3.3V regulator
  • IP5306 – Lithium battery charging and protection
  • CP2102 – USB-to-serial for flashing
  • PCF8574 – I/O expander for buttons
  • SD Card Slot – Stores logs and captured signals
  • Push Buttons – Navigation and interaction
  • Antenna Connector – External antenna support
  • WS2812 NeoPixels - Giving better feedback
  • Buzzer - It shares a GPIO with the battery voltage divider, so using it is optional.

🛡️ Shield

  • 3x NRF24 Modules – 2.4GHz jamming and spoofing
  • 1x CC1101 Module – Sub-GHz jamming and replay
  • Multiple antennas - Extended range
  • IR Transceiver - Capture & replay IR remotes
ESP32-DIV Beta

ESP32-DIV v2 Main Board

ESP32-DIV v1

ESP32-DIV v2 Shield

ESP32-DIV Beta

ESP32-DIV v1 Main Board

ESP32-DIV v1

ESP32-DIV v1 Shield

⚠️ License

Distributed under the MIT License. See LICENSE.txt for more information.

Support & Contributions

  • 💬 Found a bug or have a feature request? Open an Issue
  • ⭐ Like the project? Star the repo!
  • 🛠 Want to contribute? Fork it and submit a pull request. ‎

Contact

Releases

Sponsor this project

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ESP32-DIV Banner

📖 Explore the ESP32-DIV Wiki

Complete project story, in-depth tutorials, and all the features in Wiki! From Wi-Fi deauthentication attacks to Sub-GHz signal replay, the Wiki covers everything you need to get started. Click here to explore now!

Skip the IDE — flash directly from your browser at cifertech.github.io/ESP32-DIV

🌟 About the Project

ESP32-DIV is an open-source, multi-band wireless toolkit built on the ESP32-S3. It covers Wi-Fi, BLE, 2.4GHz, Sub-GHz, IR, RFID/NFC, and GPS. all from a compact handheld device with a touchscreen UI. Whether you're analyzing wireless traffic, testing signal resilience, or building your own RF tools, ESP32-DIV gives you a single platform to do it all.

Warning

This project is intended for educational and research purposes only. Use only on networks and devices you own or have explicit permission to test. Unauthorized use may violate local laws.

🎯 Features

📡 Wi-Fi
ToolDescription
Packet MonitorReal-time waterfall graph across all 14 channels; optional PCAP logging to SD
Wi-Fi ScannerLists nearby networks with extended details
Beacon SpammerBroadcasts fake SSIDs (custom or random)
Deauth AttackSends deauthentication frames to disrupt client connections
Deauth DetectorMonitors for incoming deauth attacks
Captive PortalAP + DNS + web server; clone networks and force sign-in pages
Probe FloodFloods probe requests to stress-test APs
Hidden SSID RevealerForces hidden networks to expose their SSID
WPS ScannerDetects access points with WPS enabled
ARP ScannerMaps all devices on a network with IP and MAC after joining
Karma AttackListens for probe requests and impersonates saved networks to auto-connect devices
🔵 Bluetooth
ToolDescription
BLE ScannerDiscovers hidden and visible BLE devices
BLE SnifferTracks MAC, RSSI, packet count, and last-seen time
BLE SpooferBroadcasts fake BLE advertisements
Sour AppleSpoof Apple BLE advertisements (e.g., AirDrop popups)
BLE JammerDisrupts BLE and classic Bluetooth channels
BLE Rubber DuckyActs as a BLE keyboard; executes scripts from /ducky on SD
AirTag SpooferBroadcasts fake AirTag signals into the Find My network
AirTag SnifferMonitors for AirTags in range
Skimmer DetectScans for BLE signatures matching known card skimmer profiles
📶 2.4GHz / NRF24
ToolDescription
2.4GHz ScannerSpectrum analyzer across 128 channels (Zigbee, custom RF, etc.)
ProtokillDisrupts Zigbee, Wi-Fi, and other 2.4GHz protocols
ESB SnifferPassively captures Enhanced ShockBurst NRF24 packets
ESB ReplayReplays captured ESB packets
MouseJack ScanDetects vulnerable wireless mice and keyboards
MouseJack InjectInjects keystrokes into vulnerable wireless receivers
📻 Sub-GHz
ToolDescription
Replay AttackCaptures and replays Sub-GHz commands (e.g., garage doors, remotes)
Sub-GHz JammerDisrupts Sub-GHz communication across various bands
Saved ProfilesStores and manages captured signal profiles
De Bruijn / Brute ForceCycles through all possible fixed codes for Sub-GHz remotes
Jamming DetectorReceive-only monitor that detects Sub-GHz jamming attacks (e.g. car-fob jamming)
📺 Infrared (IR)
ToolDescription
IR Replay AttackCaptures real IR presses, visualizes, replays, and saves to SD
IR Saved ProfilesBrowses IR captures; preserves signal and carrier frequency
Universal IR ControllerBuilt-in profiles, SD imports, favorites, and remote-style control
🧲 RFID / NFC
ToolDescription
Card ReaderReads UID and tag identification
Card CloneCopies supported writable tags
DumpReads sectors/blocks when keys are available
Decode AccessInterprets access bits and ACL-style fields from dumps
EraseWipes supported writable tags
Jam ReaderImpedes another reader with RF patterns
Tag DisruptAdvanced disruption flows for authorized physical tests
Disrupt EmulateDisruption combined with emulation-style flows
🛰️ GPS
ToolDescription
WardriverLogs GNSS position with Wi-Fi/BLE observations to SD
Satellite ScannerShows satellites in view, signal strength, and fix diagnostics
🧰 Device & System
ToolDescription
Serial MonitorMirrors serial traffic on the TFT for field debugging
SD File ManagerBrowses and manages files on the SD card
Update FirmwareFlashes new firmware from SD
Touch CalibrateFour-corner XPT2046 touchscreen calibration
SettingsBrightness, dark/light theme, NeoPixel, background auto-scan
ESP32-DIV Beta

ESP32-DIV v2

ESP32-DIV Beta

ESP32-DIV Beta

ESP32-DIV v1

ESP32-DIV v1

🔧 Hardware Overview

ESP32DIV consists of two boards:

🧠 Main Board

  • ESP32-S3 – Main microcontroller with Wi-Fi and BLE
  • ILI9341 TFT Display – 2.8" UI display
  • LF33 – 3.3V regulator
  • IP5306 – Lithium battery charging and protection
  • CP2102 – USB-to-serial for flashing
  • PCF8574 – I/O expander for buttons
  • SD Card Slot – Stores logs and captured signals
  • Push Buttons – Navigation and interaction
  • Antenna Connector – External antenna support
  • WS2812 NeoPixels - Giving better feedback
  • Buzzer - It shares a GPIO with the battery voltage divider, so using it is optional.

🛡️ Shield

  • 3x NRF24 Modules – 2.4GHz jamming and spoofing
  • 1x CC1101 Module – Sub-GHz jamming and replay
  • Multiple antennas - Extended range
  • IR Transceiver - Capture & replay IR remotes
ESP32-DIV Beta

ESP32-DIV v2 Main Board

ESP32-DIV v1

ESP32-DIV v2 Shield

ESP32-DIV Beta

ESP32-DIV v1 Main Board

ESP32-DIV v1

ESP32-DIV v1 Shield

⚠️ License

Distributed under the MIT License. See LICENSE.txt for more information.

Support & Contributions

  • 💬 Found a bug or have a feature request? Open an Issue
  • ⭐ Like the project? Star the repo!
  • 🛠 Want to contribute? Fork it and submit a pull request. ‎

Contact

Releases

Sponsor this project

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

ESP32-DIV Banner

📖 Explore the ESP32-DIV Wiki

Complete project story, in-depth tutorials, and all the features in Wiki! From Wi-Fi deauthentication attacks to Sub-GHz signal replay, the Wiki covers everything you need to get started. Click here to explore now!

Skip the IDE — flash directly from your browser at cifertech.github.io/ESP32-DIV

🌟 About the Project

ESP32-DIV is an open-source, multi-band wireless toolkit built on the ESP32-S3. It covers Wi-Fi, BLE, 2.4GHz, Sub-GHz, IR, RFID/NFC, and GPS. all from a compact handheld device with a touchscreen UI. Whether you're analyzing wireless traffic, testing signal resilience, or building your own RF tools, ESP32-DIV gives you a single platform to do it all.

Warning

This project is intended for educational and research purposes only. Use only on networks and devices you own or have explicit permission to test. Unauthorized use may violate local laws.

🎯 Features

📡 Wi-Fi
ToolDescription
Packet MonitorReal-time waterfall graph across all 14 channels; optional PCAP logging to SD
Wi-Fi ScannerLists nearby networks with extended details
Beacon SpammerBroadcasts fake SSIDs (custom or random)
Deauth AttackSends deauthentication frames to disrupt client connections
Deauth DetectorMonitors for incoming deauth attacks
Captive PortalAP + DNS + web server; clone networks and force sign-in pages
Probe FloodFloods probe requests to stress-test APs
Hidden SSID RevealerForces hidden networks to expose their SSID
WPS ScannerDetects access points with WPS enabled
ARP ScannerMaps all devices on a network with IP and MAC after joining
Karma AttackListens for probe requests and impersonates saved networks to auto-connect devices
🔵 Bluetooth
ToolDescription
BLE ScannerDiscovers hidden and visible BLE devices
BLE SnifferTracks MAC, RSSI, packet count, and last-seen time
BLE SpooferBroadcasts fake BLE advertisements
Sour AppleSpoof Apple BLE advertisements (e.g., AirDrop popups)
BLE JammerDisrupts BLE and classic Bluetooth channels
BLE Rubber DuckyActs as a BLE keyboard; executes scripts from /ducky on SD
AirTag SpooferBroadcasts fake AirTag signals into the Find My network
AirTag SnifferMonitors for AirTags in range
Skimmer DetectScans for BLE signatures matching known card skimmer profiles
📶 2.4GHz / NRF24
ToolDescription
2.4GHz ScannerSpectrum analyzer across 128 channels (Zigbee, custom RF, etc.)
ProtokillDisrupts Zigbee, Wi-Fi, and other 2.4GHz protocols
ESB SnifferPassively captures Enhanced ShockBurst NRF24 packets
ESB ReplayReplays captured ESB packets
MouseJack ScanDetects vulnerable wireless mice and keyboards
MouseJack InjectInjects keystrokes into vulnerable wireless receivers
📻 Sub-GHz
ToolDescription
Replay AttackCaptures and replays Sub-GHz commands (e.g., garage doors, remotes)
Sub-GHz JammerDisrupts Sub-GHz communication across various bands
Saved ProfilesStores and manages captured signal profiles
De Bruijn / Brute ForceCycles through all possible fixed codes for Sub-GHz remotes
Jamming DetectorReceive-only monitor that detects Sub-GHz jamming attacks (e.g. car-fob jamming)
📺 Infrared (IR)
ToolDescription
IR Replay AttackCaptures real IR presses, visualizes, replays, and saves to SD
IR Saved ProfilesBrowses IR captures; preserves signal and carrier frequency
Universal IR ControllerBuilt-in profiles, SD imports, favorites, and remote-style control
🧲 RFID / NFC
ToolDescription
Card ReaderReads UID and tag identification
Card CloneCopies supported writable tags
DumpReads sectors/blocks when keys are available
Decode AccessInterprets access bits and ACL-style fields from dumps
EraseWipes supported writable tags
Jam ReaderImpedes another reader with RF patterns
Tag DisruptAdvanced disruption flows for authorized physical tests
Disrupt EmulateDisruption combined with emulation-style flows
🛰️ GPS
ToolDescription
WardriverLogs GNSS position with Wi-Fi/BLE observations to SD
Satellite ScannerShows satellites in view, signal strength, and fix diagnostics
🧰 Device & System
ToolDescription
Serial MonitorMirrors serial traffic on the TFT for field debugging
SD File ManagerBrowses and manages files on the SD card
Update FirmwareFlashes new firmware from SD
Touch CalibrateFour-corner XPT2046 touchscreen calibration
SettingsBrightness, dark/light theme, NeoPixel, background auto-scan
ESP32-DIV Beta

ESP32-DIV v2

ESP32-DIV Beta

ESP32-DIV Beta

ESP32-DIV v1

ESP32-DIV v1

🔧 Hardware Overview

ESP32DIV consists of two boards:

🧠 Main Board

  • ESP32-S3 – Main microcontroller with Wi-Fi and BLE
  • ILI9341 TFT Display – 2.8" UI display
  • LF33 – 3.3V regulator
  • IP5306 – Lithium battery charging and protection
  • CP2102 – USB-to-serial for flashing
  • PCF8574 – I/O expander for buttons
  • SD Card Slot – Stores logs and captured signals
  • Push Buttons – Navigation and interaction
  • Antenna Connector – External antenna support
  • WS2812 NeoPixels - Giving better feedback
  • Buzzer - It shares a GPIO with the battery voltage divider, so using it is optional.

🛡️ Shield

  • 3x NRF24 Modules – 2.4GHz jamming and spoofing
  • 1x CC1101 Module – Sub-GHz jamming and replay
  • Multiple antennas - Extended range
  • IR Transceiver - Capture & replay IR remotes
ESP32-DIV Beta

ESP32-DIV v2 Main Board

ESP32-DIV v1

ESP32-DIV v2 Shield

ESP32-DIV Beta

ESP32-DIV v1 Main Board

ESP32-DIV v1

ESP32-DIV v1 Shield

⚠️ License

Distributed under the MIT License. See LICENSE.txt for more information.

Support & Contributions

  • 💬 Found a bug or have a feature request? Open an Issue
  • ⭐ Like the project? Star the repo!
  • 🛠 Want to contribute? Fork it and submit a pull request. ‎

Contact

Releases

Sponsor this project

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ESP32-DIV Banner

📖 Explore the ESP32-DIV Wiki

Complete project story, in-depth tutorials, and all the features in Wiki! From Wi-Fi deauthentication attacks to Sub-GHz signal replay, the Wiki covers everything you need to get started. Click here to explore now!

Skip the IDE — flash directly from your browser at cifertech.github.io/ESP32-DIV

🌟 About the Project

ESP32-DIV is an open-source, multi-band wireless toolkit built on the ESP32-S3. It covers Wi-Fi, BLE, 2.4GHz, Sub-GHz, IR, RFID/NFC, and GPS. all from a compact handheld device with a touchscreen UI. Whether you're analyzing wireless traffic, testing signal resilience, or building your own RF tools, ESP32-DIV gives you a single platform to do it all.

Warning

This project is intended for educational and research purposes only. Use only on networks and devices you own or have explicit permission to test. Unauthorized use may violate local laws.

🎯 Features

📡 Wi-Fi
ToolDescription
Packet MonitorReal-time waterfall graph across all 14 channels; optional PCAP logging to SD
Wi-Fi ScannerLists nearby networks with extended details
Beacon SpammerBroadcasts fake SSIDs (custom or random)
Deauth AttackSends deauthentication frames to disrupt client connections
Deauth DetectorMonitors for incoming deauth attacks
Captive PortalAP + DNS + web server; clone networks and force sign-in pages
Probe FloodFloods probe requests to stress-test APs
Hidden SSID RevealerForces hidden networks to expose their SSID
WPS ScannerDetects access points with WPS enabled
ARP ScannerMaps all devices on a network with IP and MAC after joining
Karma AttackListens for probe requests and impersonates saved networks to auto-connect devices
🔵 Bluetooth
ToolDescription
BLE ScannerDiscovers hidden and visible BLE devices
BLE SnifferTracks MAC, RSSI, packet count, and last-seen time
BLE SpooferBroadcasts fake BLE advertisements
Sour AppleSpoof Apple BLE advertisements (e.g., AirDrop popups)
BLE JammerDisrupts BLE and classic Bluetooth channels
BLE Rubber DuckyActs as a BLE keyboard; executes scripts from /ducky on SD
AirTag SpooferBroadcasts fake AirTag signals into the Find My network
AirTag SnifferMonitors for AirTags in range
Skimmer DetectScans for BLE signatures matching known card skimmer profiles
📶 2.4GHz / NRF24
ToolDescription
2.4GHz ScannerSpectrum analyzer across 128 channels (Zigbee, custom RF, etc.)
ProtokillDisrupts Zigbee, Wi-Fi, and other 2.4GHz protocols
ESB SnifferPassively captures Enhanced ShockBurst NRF24 packets
ESB ReplayReplays captured ESB packets
MouseJack ScanDetects vulnerable wireless mice and keyboards
MouseJack InjectInjects keystrokes into vulnerable wireless receivers
📻 Sub-GHz
ToolDescription
Replay AttackCaptures and replays Sub-GHz commands (e.g., garage doors, remotes)
Sub-GHz JammerDisrupts Sub-GHz communication across various bands
Saved ProfilesStores and manages captured signal profiles
De Bruijn / Brute ForceCycles through all possible fixed codes for Sub-GHz remotes
Jamming DetectorReceive-only monitor that detects Sub-GHz jamming attacks (e.g. car-fob jamming)
📺 Infrared (IR)
ToolDescription
IR Replay AttackCaptures real IR presses, visualizes, replays, and saves to SD
IR Saved ProfilesBrowses IR captures; preserves signal and carrier frequency
Universal IR ControllerBuilt-in profiles, SD imports, favorites, and remote-style control
🧲 RFID / NFC
ToolDescription
Card ReaderReads UID and tag identification
Card CloneCopies supported writable tags
DumpReads sectors/blocks when keys are available
Decode AccessInterprets access bits and ACL-style fields from dumps
EraseWipes supported writable tags
Jam ReaderImpedes another reader with RF patterns
Tag DisruptAdvanced disruption flows for authorized physical tests
Disrupt EmulateDisruption combined with emulation-style flows
🛰️ GPS
ToolDescription
WardriverLogs GNSS position with Wi-Fi/BLE observations to SD
Satellite ScannerShows satellites in view, signal strength, and fix diagnostics
🧰 Device & System
ToolDescription
Serial MonitorMirrors serial traffic on the TFT for field debugging
SD File ManagerBrowses and manages files on the SD card
Update FirmwareFlashes new firmware from SD
Touch CalibrateFour-corner XPT2046 touchscreen calibration
SettingsBrightness, dark/light theme, NeoPixel, background auto-scan
ESP32-DIV Beta

ESP32-DIV v2

ESP32-DIV Beta

ESP32-DIV Beta

ESP32-DIV v1

ESP32-DIV v1

🔧 Hardware Overview

ESP32DIV consists of two boards:

🧠 Main Board

  • ESP32-S3 – Main microcontroller with Wi-Fi and BLE
  • ILI9341 TFT Display – 2.8" UI display
  • LF33 – 3.3V regulator
  • IP5306 – Lithium battery charging and protection
  • CP2102 – USB-to-serial for flashing
  • PCF8574 – I/O expander for buttons
  • SD Card Slot – Stores logs and captured signals
  • Push Buttons – Navigation and interaction
  • Antenna Connector – External antenna support
  • WS2812 NeoPixels - Giving better feedback
  • Buzzer - It shares a GPIO with the battery voltage divider, so using it is optional.

🛡️ Shield

  • 3x NRF24 Modules – 2.4GHz jamming and spoofing
  • 1x CC1101 Module – Sub-GHz jamming and replay
  • Multiple antennas - Extended range
  • IR Transceiver - Capture & replay IR remotes
ESP32-DIV Beta

ESP32-DIV v2 Main Board

ESP32-DIV v1

ESP32-DIV v2 Shield

ESP32-DIV Beta

ESP32-DIV v1 Main Board

ESP32-DIV v1

ESP32-DIV v1 Shield

⚠️ License

Distributed under the MIT License. See LICENSE.txt for more information.

Support & Contributions

  • 💬 Found a bug or have a feature request? Open an Issue
  • ⭐ Like the project? Star the repo!
  • 🛠 Want to contribute? Fork it and submit a pull request. ‎

Contact

Releases

Sponsor this project

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ESP32-DIV Banner

📖 Explore the ESP32-DIV Wiki

Complete project story, in-depth tutorials, and all the features in Wiki! From Wi-Fi deauthentication attacks to Sub-GHz signal replay, the Wiki covers everything you need to get started. Click here to explore now!

Skip the IDE — flash directly from your browser at cifertech.github.io/ESP32-DIV

🌟 About the Project

ESP32-DIV is an open-source, multi-band wireless toolkit built on the ESP32-S3. It covers Wi-Fi, BLE, 2.4GHz, Sub-GHz, IR, RFID/NFC, and GPS. all from a compact handheld device with a touchscreen UI. Whether you're analyzing wireless traffic, testing signal resilience, or building your own RF tools, ESP32-DIV gives you a single platform to do it all.

Warning

This project is intended for educational and research purposes only. Use only on networks and devices you own or have explicit permission to test. Unauthorized use may violate local laws.

🎯 Features

📡 Wi-Fi
ToolDescription
Packet MonitorReal-time waterfall graph across all 14 channels; optional PCAP logging to SD
Wi-Fi ScannerLists nearby networks with extended details
Beacon SpammerBroadcasts fake SSIDs (custom or random)
Deauth AttackSends deauthentication frames to disrupt client connections
Deauth DetectorMonitors for incoming deauth attacks
Captive PortalAP + DNS + web server; clone networks and force sign-in pages
Probe FloodFloods probe requests to stress-test APs
Hidden SSID RevealerForces hidden networks to expose their SSID
WPS ScannerDetects access points with WPS enabled
ARP ScannerMaps all devices on a network with IP and MAC after joining
Karma AttackListens for probe requests and impersonates saved networks to auto-connect devices
🔵 Bluetooth
ToolDescription
BLE ScannerDiscovers hidden and visible BLE devices
BLE SnifferTracks MAC, RSSI, packet count, and last-seen time
BLE SpooferBroadcasts fake BLE advertisements
Sour AppleSpoof Apple BLE advertisements (e.g., AirDrop popups)
BLE JammerDisrupts BLE and classic Bluetooth channels
BLE Rubber DuckyActs as a BLE keyboard; executes scripts from /ducky on SD
AirTag SpooferBroadcasts fake AirTag signals into the Find My network
AirTag SnifferMonitors for AirTags in range
Skimmer DetectScans for BLE signatures matching known card skimmer profiles
📶 2.4GHz / NRF24
ToolDescription
2.4GHz ScannerSpectrum analyzer across 128 channels (Zigbee, custom RF, etc.)
ProtokillDisrupts Zigbee, Wi-Fi, and other 2.4GHz protocols
ESB SnifferPassively captures Enhanced ShockBurst NRF24 packets
ESB ReplayReplays captured ESB packets
MouseJack ScanDetects vulnerable wireless mice and keyboards
MouseJack InjectInjects keystrokes into vulnerable wireless receivers
📻 Sub-GHz
ToolDescription
Replay AttackCaptures and replays Sub-GHz commands (e.g., garage doors, remotes)
Sub-GHz JammerDisrupts Sub-GHz communication across various bands
Saved ProfilesStores and manages captured signal profiles
De Bruijn / Brute ForceCycles through all possible fixed codes for Sub-GHz remotes
Jamming DetectorReceive-only monitor that detects Sub-GHz jamming attacks (e.g. car-fob jamming)
📺 Infrared (IR)
ToolDescription
IR Replay AttackCaptures real IR presses, visualizes, replays, and saves to SD
IR Saved ProfilesBrowses IR captures; preserves signal and carrier frequency
Universal IR ControllerBuilt-in profiles, SD imports, favorites, and remote-style control
🧲 RFID / NFC
ToolDescription
Card ReaderReads UID and tag identification
Card CloneCopies supported writable tags
DumpReads sectors/blocks when keys are available
Decode AccessInterprets access bits and ACL-style fields from dumps
EraseWipes supported writable tags
Jam ReaderImpedes another reader with RF patterns
Tag DisruptAdvanced disruption flows for authorized physical tests
Disrupt EmulateDisruption combined with emulation-style flows
🛰️ GPS
ToolDescription
WardriverLogs GNSS position with Wi-Fi/BLE observations to SD
Satellite ScannerShows satellites in view, signal strength, and fix diagnostics
🧰 Device & System
ToolDescription
Serial MonitorMirrors serial traffic on the TFT for field debugging
SD File ManagerBrowses and manages files on the SD card
Update FirmwareFlashes new firmware from SD
Touch CalibrateFour-corner XPT2046 touchscreen calibration
SettingsBrightness, dark/light theme, NeoPixel, background auto-scan
ESP32-DIV Beta

ESP32-DIV v2

ESP32-DIV Beta

ESP32-DIV Beta

ESP32-DIV v1

ESP32-DIV v1

🔧 Hardware Overview

ESP32DIV consists of two boards:

🧠 Main Board

  • ESP32-S3 – Main microcontroller with Wi-Fi and BLE
  • ILI9341 TFT Display – 2.8" UI display
  • LF33 – 3.3V regulator
  • IP5306 – Lithium battery charging and protection
  • CP2102 – USB-to-serial for flashing
  • PCF8574 – I/O expander for buttons
  • SD Card Slot – Stores logs and captured signals
  • Push Buttons – Navigation and interaction
  • Antenna Connector – External antenna support
  • WS2812 NeoPixels - Giving better feedback
  • Buzzer - It shares a GPIO with the battery voltage divider, so using it is optional.

🛡️ Shield

  • 3x NRF24 Modules – 2.4GHz jamming and spoofing
  • 1x CC1101 Module – Sub-GHz jamming and replay
  • Multiple antennas - Extended range
  • IR Transceiver - Capture & replay IR remotes
ESP32-DIV Beta

ESP32-DIV v2 Main Board

ESP32-DIV v1

ESP32-DIV v2 Shield

ESP32-DIV Beta

ESP32-DIV v1 Main Board

ESP32-DIV v1

ESP32-DIV v1 Shield

⚠️ License

Distributed under the MIT License. See LICENSE.txt for more information.

Support & Contributions

  • 💬 Found a bug or have a feature request? Open an Issue
  • ⭐ Like the project? Star the repo!
  • 🛠 Want to contribute? Fork it and submit a pull request. ‎

Contact

Releases

Sponsor this project

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

ESP32-DIV Banner

📖 Explore the ESP32-DIV Wiki

Complete project story, in-depth tutorials, and all the features in Wiki! From Wi-Fi deauthentication attacks to Sub-GHz signal replay, the Wiki covers everything you need to get started. Click here to explore now!

Skip the IDE — flash directly from your browser at cifertech.github.io/ESP32-DIV

🌟 About the Project

ESP32-DIV is an open-source, multi-band wireless toolkit built on the ESP32-S3. It covers Wi-Fi, BLE, 2.4GHz, Sub-GHz, IR, RFID/NFC, and GPS. all from a compact handheld device with a touchscreen UI. Whether you're analyzing wireless traffic, testing signal resilience, or building your own RF tools, ESP32-DIV gives you a single platform to do it all.

Warning

This project is intended for educational and research purposes only. Use only on networks and devices you own or have explicit permission to test. Unauthorized use may violate local laws.

🎯 Features

📡 Wi-Fi
ToolDescription
Packet MonitorReal-time waterfall graph across all 14 channels; optional PCAP logging to SD
Wi-Fi ScannerLists nearby networks with extended details
Beacon SpammerBroadcasts fake SSIDs (custom or random)
Deauth AttackSends deauthentication frames to disrupt client connections
Deauth DetectorMonitors for incoming deauth attacks
Captive PortalAP + DNS + web server; clone networks and force sign-in pages
Probe FloodFloods probe requests to stress-test APs
Hidden SSID RevealerForces hidden networks to expose their SSID
WPS ScannerDetects access points with WPS enabled
ARP ScannerMaps all devices on a network with IP and MAC after joining
Karma AttackListens for probe requests and impersonates saved networks to auto-connect devices
🔵 Bluetooth
ToolDescription
BLE ScannerDiscovers hidden and visible BLE devices
BLE SnifferTracks MAC, RSSI, packet count, and last-seen time
BLE SpooferBroadcasts fake BLE advertisements
Sour AppleSpoof Apple BLE advertisements (e.g., AirDrop popups)
BLE JammerDisrupts BLE and classic Bluetooth channels
BLE Rubber DuckyActs as a BLE keyboard; executes scripts from /ducky on SD
AirTag SpooferBroadcasts fake AirTag signals into the Find My network
AirTag SnifferMonitors for AirTags in range
Skimmer DetectScans for BLE signatures matching known card skimmer profiles
📶 2.4GHz / NRF24
ToolDescription
2.4GHz ScannerSpectrum analyzer across 128 channels (Zigbee, custom RF, etc.)
ProtokillDisrupts Zigbee, Wi-Fi, and other 2.4GHz protocols
ESB SnifferPassively captures Enhanced ShockBurst NRF24 packets
ESB ReplayReplays captured ESB packets
MouseJack ScanDetects vulnerable wireless mice and keyboards
MouseJack InjectInjects keystrokes into vulnerable wireless receivers
📻 Sub-GHz
ToolDescription
Replay AttackCaptures and replays Sub-GHz commands (e.g., garage doors, remotes)
Sub-GHz JammerDisrupts Sub-GHz communication across various bands
Saved ProfilesStores and manages captured signal profiles
De Bruijn / Brute ForceCycles through all possible fixed codes for Sub-GHz remotes
Jamming DetectorReceive-only monitor that detects Sub-GHz jamming attacks (e.g. car-fob jamming)
📺 Infrared (IR)
ToolDescription
IR Replay AttackCaptures real IR presses, visualizes, replays, and saves to SD
IR Saved ProfilesBrowses IR captures; preserves signal and carrier frequency
Universal IR ControllerBuilt-in profiles, SD imports, favorites, and remote-style control
🧲 RFID / NFC
ToolDescription
Card ReaderReads UID and tag identification
Card CloneCopies supported writable tags
DumpReads sectors/blocks when keys are available
Decode AccessInterprets access bits and ACL-style fields from dumps
EraseWipes supported writable tags
Jam ReaderImpedes another reader with RF patterns
Tag DisruptAdvanced disruption flows for authorized physical tests
Disrupt EmulateDisruption combined with emulation-style flows
🛰️ GPS
ToolDescription
WardriverLogs GNSS position with Wi-Fi/BLE observations to SD
Satellite ScannerShows satellites in view, signal strength, and fix diagnostics
🧰 Device & System
ToolDescription
Serial MonitorMirrors serial traffic on the TFT for field debugging
SD File ManagerBrowses and manages files on the SD card
Update FirmwareFlashes new firmware from SD
Touch CalibrateFour-corner XPT2046 touchscreen calibration
SettingsBrightness, dark/light theme, NeoPixel, background auto-scan
ESP32-DIV Beta

ESP32-DIV v2

ESP32-DIV Beta

ESP32-DIV Beta

ESP32-DIV v1

ESP32-DIV v1

🔧 Hardware Overview

ESP32DIV consists of two boards:

🧠 Main Board

  • ESP32-S3 – Main microcontroller with Wi-Fi and BLE
  • ILI9341 TFT Display – 2.8" UI display
  • LF33 – 3.3V regulator
  • IP5306 – Lithium battery charging and protection
  • CP2102 – USB-to-serial for flashing
  • PCF8574 – I/O expander for buttons
  • SD Card Slot – Stores logs and captured signals
  • Push Buttons – Navigation and interaction
  • Antenna Connector – External antenna support
  • WS2812 NeoPixels - Giving better feedback
  • Buzzer - It shares a GPIO with the battery voltage divider, so using it is optional.

🛡️ Shield

  • 3x NRF24 Modules – 2.4GHz jamming and spoofing
  • 1x CC1101 Module – Sub-GHz jamming and replay
  • Multiple antennas - Extended range
  • IR Transceiver - Capture & replay IR remotes
ESP32-DIV Beta

ESP32-DIV v2 Main Board

ESP32-DIV v1

ESP32-DIV v2 Shield

ESP32-DIV Beta

ESP32-DIV v1 Main Board

ESP32-DIV v1

ESP32-DIV v1 Shield

⚠️ License

Distributed under the MIT License. See LICENSE.txt for more information.

Support & Contributions

  • 💬 Found a bug or have a feature request? Open an Issue
  • ⭐ Like the project? Star the repo!
  • 🛠 Want to contribute? Fork it and submit a pull request. ‎

Contact

Releases

Sponsor this project

Contributors

Languages