Sentinel is a portable, standalone hardware device designed to monitor 802.11 WiFi traffic in real-time. Built on the ESP32 microcontroller, it operates in promiscuous mode to analyze raw packets and detect specific attack signatures — without ever connecting to a network.
The primary goal of Sentinel is to provide a low-cost, Blue Team tool for detecting Deauthentication Flooding attacks and potential Evil Twin attempts. Unlike software-based solutions (like Wireshark) that require a laptop, Sentinel is a pocket-sized "watchdog" for your wireless environment.
- Passive Sniffing: Operates transparently with no IP address or network association.
- Channel Hopping: Cyclically scans 2.4GHz WiFi channels (1–13) to cover the full spectrum.
- Attack Detection: Identifies abnormal bursts of Management Frames (Deauth/Disassoc packets).
- Simulation Mode: Differentiates real attacks from lab-generated test frames (custom MAC signature).
- Visual Feedback:
- OLED Display: Shows current channel, packet rate, real threat count, and simulation test count.
- RGB LED: Color-coded alert system — 🔵 Blue = Boot, 🟢 Green = Under Attack, 🔴 Red = Safe (inverted for visibility).
- Portable: Powered by any generic 5V USB power bank.
| Component | Model | Notes |
|---|---|---|
| MCU | ESP32-WROOM-32U (DevKit V1) | External antenna for extended range |
| Display | 0.96" OLED SSD1306 | I2C interface |
| LED | WS2812B Addressable RGB (NeoPixel) | 1 pixel |
| Power | 5000mAh USB Power Bank | Generic 5V |
| Component | ESP32 Pin | Description |
|---|---|---|
| OLED SDA | GPIO 21 | I2C Data |
| OLED SCL | GPIO 22 | I2C Clock |
| NeoPixel Data | GPIO 15 | WS2812B Signal |
| VCC | VIN (5V) | Power from USB |
| GND | GND | Ground |
- Visual Studio Code
- PlatformIO IDE Extension
-
Clone the repository:
git clone https://github.com/mathish06/Sentinel-IDS.git cd Sentinel-IDS -
Open the folder in VS Code.
-
Connect your ESP32 via USB.
-
Upload the firmware using PlatformIO:
- Click the PlatformIO logo in the left sidebar.
- Select Pick a task… → General → Upload.
PlatformIO will automatically download all required libraries (Adafruit SSD1306, Adafruit GFX, Adafruit NeoPixel) and flash the ESP32.
Managed automatically via PlatformIO:
lib_deps =
adafruit/Adafruit SSD1306 @ ^2.5.7
adafruit/Adafruit GFX Library @ ^1.11.5
adafruit/Adafruit NeoPixelThis project is strictly for educational and defensive (Blue Team) purposes.
The device is designed to detect wireless attacks, not to initiate them. Monitoring wireless networks without explicit authorization from the network owner may be illegal in your jurisdiction. The author assumes no responsibility for any misuse of this software or hardware design.
Project created as part of the Epitech First Year Hub module.