๐ ESP32 BLE Payload Executor (SPIFFS Script Engine)
A modular ESP32-based BLE HID payload execution framework with SPIFFS script storage, OLED UI, and a lightweight DuckyScript-like interpreter designed for cybersecurity research and embedded systems labs.
๐ง System Overview
This project converts an ESP32 into a:
BLE Keyboard Device Script Execution Engine SPIFFS-based Payload Manager OLED-controlled interface system ๐๏ธ Architecture Diagram โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ Serial Monitor โ โ (Edit / Debug Input) โ โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโ โ โผ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ SPIFFS Flash โ โ /windows.txt payloads โ โ /android.txt โ โ /custom.txt โ โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโ โ โผ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ ESP32 Payload Engine โ โ (executeLine / parser system) โ โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโ โ BLE HID โผ โโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ Target Device โ โ (Keyboard Input Inject) โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ Features ๐ก BLE Keyboard emulation (ESP32) ๐ SPIFFS file-based payload storage ๐งพ DuckyScript-inspired interpreter ๐ฅ๏ธ OLED menu system (128x64 SSD1306) โจ๏ธ Serial-based file editor ๐ Line-by-line payload execution โก Lightweight & modular design
๐ Hardware Pin Connections (ESP32 Wiring) ๐ OLED Display (SSD1306 โ I2C) OLED Pin ESP32 Pin VCC 3.3V GND GND SDA GPIO 21 SCL GPIO 22 ๐ Push Buttons Button 1 (Menu / Next) Button Pin ESP32 Pin One side GPIO 15 Other side GND Button 2 (Select / Execute) Button Pin ESP32 Pin One side GPIO 5 Other side GND
๐ Wiring Diagram (Simplified) ESP32 Dev Board โโโโโโโโโโโโโโโโโโโโโโโโ โ โ โ GPIO 21 โโโโโ SDA โโโโโ OLED SDA โ GPIO 22 โโโโโ SCL โโโโโ OLED SCL โ 3.3V โโโโโ VCC โโโโโ OLED VCC โ GND โโโโโ GND โโโโโ OLED GND โ โ โ GPIO 15 โโโโโ Buttonโโโโโ GND โ GPIO 5 โโโโโ Buttonโโโโโ GND โ โ โโโโโโโโโโโโโโโโโโโโโโโโ ๐ง Hardware Requirements ESP32 Dev Board (ESP-WROOM-32 recommended) SSD1306 OLED Display (I2C) 2x Push Buttons USB Cable
๐ป Software Requirements Arduino IDE (latest) ESP32 Board Support Package Required Libraries (see below) โ๏ธ Installation Guide 1๏ธโฃ Install Arduino IDE
https://www.arduino.cc/en/software
2๏ธโฃ Add ESP32 Board Manager
Go to:
File โ Preferences
Add:
https://espressif.github.io/arduino-esp32/package_esp32_index.json
Then:
Tools โ Board โ Boards Manager Search: ESP32 Install: ESP32 by Espressif Systems 3๏ธโฃ Select Board Tools โ Board โ ESP32 Dev Module 4๏ธโฃ Install Required Libraries
Install via Library Manager:
Adafruit SSD1306 Adafruit GFX SPIFFS (built-in) Wire (built-in) ESP32 BLE Keyboard https://github.com/T-vK/ESP32-BLE-Keyboard ๐ SPIFFS File System Default Structure /windows.txt /android.txt /iphone.txt /custom.txt
Each file contains script instructions executed line-by-line.
๐ฆ Payload Flow Diagram
User Input (Serial / File Edit)
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโ
โ SPIFFS Storage โ
โโโโโโโโโโโฌโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ executeLine(parser) โ
โโโโโโโโโโโฌโโโโโโโโโโโโโโโโโ
โผ
BLE Keyboard Injection Layer
โผ
Target Device Input
โ๏ธ Payload Syntax
Command Description
STRING text Type characters
NUMBER 1002 Type digits
DELAY 1000 Wait in milliseconds
ENTER Press Enter
TAB Press Tab
ESC Escape key
UP/DOWN/LEFT/RIGHT Arrow keys
๐งช Example Payload
STRING Hello World
ENTER
DELAY 1000
NUMBER 1002
ENTER
๐งพ File Editing (SPIFFS)
๐ Enter Edit Mode
EDIT /windows.txt
๐ Add Payload Lines
STRING Hello
DELAY 500
NUMBER 1002
ENTER
๐ Finish Editing
END
๐ File Operations
List files
LIST
Show file content
SHOW /windows.txt
Delete line
DEL /windows.txt 2
Clear file
CLEAR /windows.txt
๐ฎ UI Flow
Boot ESP32
โ
โผ
OLED Menu
โ
โโโ Windows Payload
โโโ Android Payload
โโโ iPhone Payload
โโโ Custom Payload
โ
โผ
BLE Connect
โ
โผ
Execute Script
This project is intended strictly for:
โ Cybersecurity research โ Embedded systems learning โ Authorized penetration testing labs
โ Do NOT use on unauthorized systems
๐ง Troubleshooting BLE not connecting Re-pair device: โESP Keyboardโ Restart ESP32 SPIFFS errors SPIFFS.begin(true); Upload issues Ensure correct board selected: ESP32 Dev Module ๐ Future Enhancements ๐ Web-based payload editor ๐ฑ Mobile control interface ๐ Encrypted SPIFFS storage ๐ง Advanced scripting engine (variables, loops) ๐ฅ๏ธ OLED file manager UI ๐จโ๐ป Author
Built for embedded cybersecurity experimentation and research.