KFW (KalFirmWare) is a comprehensive ESP32-based multi-tool firmware for wireless security testing, RFID experimentation, and infrared control.
Visit the KFW Web Flasher to flash your ESP32 directly from your browser β no installation required!
- Download the latest release from GitHub Releases
- Flash using Arduino IDE or PlatformIO
- Connect to your ESP32 and enjoy!
| Board | Wi-Fi | BLE | IR | RFID | Build Status |
|---|---|---|---|---|---|
| ESP32 | β | β | β | β | |
| ESP32-S3 | β | β | β | β | |
| ESP32-C3 | β | β | β | β |
β οΈ ESP32-C3: RFID (MFRC522) not supported due to lack of HSPI peripheral.
- Beacon Spam β Flood Wi-Fi scanners with fake networks
- Deauther β Disconnect clients from access points
- Probe Sniffer β Capture probe requests from devices
- Beacon Sniffer β Monitor beacon frames
- Channel Graph β Visualize Wi-Fi channel usage
- KFWGotchi β Automated WPA2 handshake capture with Tamagotchi-style UI
- AppleJuice β iOS device spam (AirPods, Apple TV, Keyboards)
- Customizable BLE advertising packets
- IR Receiver β Capture remote control codes
- IR Transmitter β Replay captured codes
- TV-B-Gone β Universal TV power-off (20+ brands)
- Read β Read MIFARE Classic cards
- Dump β Full memory dump with key bruteforce
- Format β Reset cards to factory state
- Emulate β Clone UID
- LittleFS Browser β View and manage stored files
- WebUI β Browser-based file manager with Material Design 3
- PCAP Export β Download captured handshakes
- Adjustable TX Power β Wi-Fi and BLE transmission power control
- Brightness Control β OLED display brightness adjustment
- Serial Console β Live debug output via WebUI
| Component | Model | Notes |
|---|---|---|
| Microcontroller | ESP32 / ESP32-S3 / ESP32-C3 | Any board with 4MB+ flash |
| Display | SSD1306 OLED | 128x64, I2C |
| RFID Reader | MFRC522 | SPI interface (not supported on ESP32-C3) |
| IR Receiver | TSOP38238 | See pinout below |
| IR Transmitter | IR LED | GPIO with 330Ξ© resistor |
| Buttons | Tactile switches | Pull-up configuration |
ESP32 β Component
---------------------------------
GPIO 21 (SDA) β OLED SDA
GPIO 22 (SCL) β OLED SCL
GPIO 5 (SS) β MFRC522 SDA
GPIO 18 (SCK) β MFRC522 SCK
GPIO 19 (MISO) β MFRC522 MISO
GPIO 23 (MOSI) β MFRC522 MOSI
GPIO 27 β MFRC522 RST
GPIO 15 β IR Receiver
GPIO 13 β IR LED (+ 330Ξ© resistor)
GPIO 32 β NEXT Button (Pull-up)
GPIO 33 β OK Button (Pull-up)
ESP32-S3 β Component
---------------------------------
GPIO 1 (SDA) β OLED SDA
GPIO 2 (SCL) β OLED SCL
GPIO 10 (SS) β MFRC522 SDA
GPIO 11 (RST) β MFRC522 RST
GPIO 12 (SCK) β MFRC522 SCK
GPIO 13 (MISO) β MFRC522 MISO
GPIO 14 (MOSI) β MFRC522 MOSI
GPIO 16 β IR Receiver
GPIO 17 β IR LED (+ 330Ξ© resistor)
GPIO 4 β NEXT Button (Pull-up)
GPIO 5 β OK Button (Pull-up)
ESP32-C3 β Component
---------------------------------
GPIO 8 (SDA) β OLED SDA
GPIO 9 (SCL) β OLED SCL
GPIO 6 β IR Receiver
GPIO 7 β IR LED (+ 330Ξ© resistor)
GPIO 4 β NEXT Button (Pull-up)
GPIO 5 β OK Button (Pull-up)
- NEXT Button β Cycle through menu items
- OK Button β Select / Confirm
- Go to Wi-Fi β Start AP
- Connect to your home Wi-Fi (configured in code)
- Note the IP address shown on screen
- Open browser and navigate to the IP
- Manage files, view console output, upload/download
- Wi-Fi β KFWGotchi
- Select a channel or let it auto-scan
- Wait for a target to appear
- Device automatically deauths and captures EAPOL packets
.pcapfiles saved to LittleFS- Download via WebUI
KFW features a Bruce-inspired interface with:
- Clean header bars
- Scrollable menus with icons (Main Menu only)
- Status bar with button hints
- Material Design 3 WebUI (warm orange theme)
Adafruit_GFX
Adafruit_SSD1306
MFRC522
IRremoteESP8266
NimBLE-Arduino
TJpg_Decoder
LittleFS (built-in)
WiFi (built-in)
WebServer (built-in)# Clone repository
git clone https://github.com/labubuahhginger/kfw-esp32.git
cd kfw-esp32
# Install PlatformIO Core
pip install platformio
# Build for specific board
pio run -e esp32dev # ESP32
pio run -e esp32s3 # ESP32-S3
pio run -e esp32c3 # ESP32-C3
# Upload firmware
pio run -e esp32dev -t upload
# Monitor serial output
pio device monitorThis project uses GitHub Actions for automated builds:
- Every push to
mainordevbranches triggers builds for all boards - Tagged releases (
v*) automatically create GitHub Releases with firmware binaries - Build artifacts are available for 90 days
See .github/workflows/build.yml for configuration.
KFW is intended for authorized security testing and educational purposes only.
- Only use on networks you own or have explicit permission to test
- Unauthorized access to computer networks is illegal
- The authors are not responsible for misuse of this software
- Check your local laws before using Wi-Fi deauth or jamming features
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Created by: @labubuahhginger
- Inspired by: Bruce, Flipper Zero, ESP32 Marauder
- Libraries: Adafruit, ESP32 Community, NimBLE
- Issues: GitHub Issues
- Web Flasher: labubuahhginger.github.io/kfwflasher.github.io
Made with π₯ by @labubuahhginger