ESP32 Bus Pirate is an open-source firmware that turns your device into a multi-protocol hacker's tool, inspired by the legendary Bus Pirate.
It supports sniffing, sending, scripting, and interacting with various digital protocols (I2C, UART, 1-Wire, SPI, etc.) via a serial terminal or web-based CLI.
-
Interactive command-line interface (CLI) via USB Serial or WiFi Web.
-
Modes for:
- HiZ (default)
- I2C (scan, glitch, slave mode, dump, eeprom)
- SPI (eeprom, flash, sdcard, slave mode)
- UART / Half-Duplex UART (bridge, read, write)
- 1-WIRE (ibutton, temp sensor)
- 2WIRE (sniff, smartcard) / 3WIRE (eeprom)
- DIO (Digital I/O, read, pullup, set, pwm)
- Infrared (device-b-gone, send and receive)
- USB (HID, mouse, keyboard, gamepad, storage)
- Bluetooth (BLE HID, scan, spoofing, sniffing)
- Wi-Fi / Ethernet (sniff, deauth, nmap, netcat)
- JTAG (scan pinout, SWD)
- LED control (animations, set LEDs)
- I2S (test speakers, mic, play sound)
- CAN (sniff, send and receive frames)
-
Protocol sniffers for I2C, Wi-Fi, Bluetooth, 1Wire, 2wire, CAN.
-
Baudrate auto-detection, AT commands and various tools for UART.
-
Registers manipulation, eeprom dump tools, identify devices for I2C.
-
Read all sort of EEPROM, Flash and various others tools for SPI.
-
Scripting using Bus Pirate-style bytecode instructions.
-
Device-B-Gone command with more than 80 supported INFRARED protocols.
-
Direct I/O management, PWM, pin state.
-
Massive adressable LEDs protocol support.
-
Ethernet and WiFi are supported to access networks.
-
Web interface with live terminal, or a classic serial CLI.
- ESP32 S3 Dev Kit
- M5 Cardputer
- M5 Stick C Plus 2
- M5 Atom S3 Lite
- M5 Stamp S3
- LILYGO T-Embed
- LILYGO T-Embed CC1101
📚 Visit the Wiki for detailed documentation on every mode and command.
Includes:
- Terminal mode - About serial and web terminal.
- Mode overviews - Browse supported modes.
- Instruction syntax - Master the instructions.
- Serial setup - Serial access via USB.
- Python scripting examples - Automate tasks using Python.
The wiki is the best place to learn how everything works.
-
🔧 Flash the firmware
-
🔌 Connect via Serial or Web
- Serial: any terminal app (see Connect via Serial)
- Web: configure Wi-Fi and access the CLI via browser
-
🧪 Use commands like:
mode help scan sniff ...
See detailed explanations about Terminal Commands and how each one works.
Don’t know how to flash firmware? Read this:
-
📥 Install M5Burner, Download M5Burner for your system (Windows/macOS/Linux). Open it after installation.
-
📂 Select the Firmware: In M5Burner, go to the M5Stick, Cardputer, M5StampS3, or AtomS3 category. Find ESP32-Bus-Pirate in the list.
-
⚡ Click Flash: Connect your device via USB. Hit the Flash button. Wait a few seconds… and done.
That’s it, no command line, no complicated tools, just 3 clicks and you’re ready to go.
The ESP32 Bus Pirate firmware provides two command-line interface (CLI) modes:
Interface | Advantages | Ideal for... |
---|---|---|
Web Interface | - Accessible from any browser - Works over Wi-Fi - No cables needed |
Quick tests, demos, headless setups |
Serial Interface | - Faster performance - Instant responsiveness - Handles large data smoothly |
Intensive sessions, frequent interactions |
Both interfaces share the same command structure and can be used interchangeably.
See How To Contribute section, which outlines a simple way to add a new command to any mode.
⚠️ Voltage Warning: Devices should only operate at 3.3V or 5V.
Do not connect peripherals using other voltage levels — doing so may damage your ESP32.