Skip to content

geo-tp/ESP32-Bus-Pirate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESP32 Bus Pirate

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.

Demo showing the different mode of the ESP32 Bus Pirate

Features

  • Interactive command-line interface (CLI) via USB Serial or WiFi Web.

  • Modes for:

    • HiZ (default)
    • I2C
    • SPI
    • UART / Half-Duplex UART
    • 1-WIRE
    • 2WIRE / 3WIRE (planned)
    • DIO (Digital I/O)
    • Infrared (device-b-gone, send and receive)
    • USB (HID, mouse, keyboard, gamepad, storage)
    • Bluetooth (BLE HID, scan, spoofing, sniffing)
    • Wi-Fi (scan, AP, connect, sniff, spoofing)
    • JTAG
    • LED control
    • I2S
  • Protocol sniffers for I2C, Wi-Fi, Bluetooth, 1Wire.

  • Baudrate auto-detection and various tools for UART.

  • Scripting using Bus Pirate-style bytecode instructions.

  • Direct I/O management, PWM, pin state.

  • Massive infrared protocol support.

  • Massive adressable LEDs protocol support.

  • Web interface with live terminal, or a classic serial CLI.

Supported Devices

  • M5 Cardputer

An M5 Stack Cardputer device

  • M5 Stick C Plus 2

An M5 Stick C Plus 2 device

  • M5 Atom S3 Lite

An M5 Atom S3 Lite device

  • M5 Stamp S3

An M5stampS3 micro controller

  • LILYGO T-Embed

A LilyGo T-Embed micro controller

  • LILYGO T-Embed CC1101

A LilyGo T-Embed micro controller

Wiki

📚 Visit the Wiki for detailed documentation on every mode and command.

Includes:

The wiki is the best place to learn how everything works.

Getting Started

  1. 🔧 Flash the firmware

    • Download the latest release from the Releases page, and flash it using your favorite tool (esptool.py, PlatformIO, etc.).
    • You can also burn it on M5Burner, in the M5stick or Cardputer category.
  2. 🔌 Connect via Serial or Web

    • Serial: any terminal app (see Connect via Serial)
    • Web: configure Wi-Fi and access the CLI via browser
  3. 🧪 Use commands like:

    mode
    help
    scan
    sniff
    ...

    See detailed explanations about Terminal Commands and how each one works.

ESP32 Bus Pirate on M5 Devices

ESP32 Bus Pirate running on M5 Stack devices

ESP32 Bus Pirate on T-Embed

ESP32 Bus Pirate running on M5 Stack devices

Web & Serial Interfaces

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.

An iPhone screenshot showing Bus Pirate web cli

Using the ESP32 Bus Pirate to speak UART over WiFi

Using the ESP32 Bus pirate with UART

Warning

⚠️ 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.

About

A Hardware Hacking Tool with Web-Based CLI That Speaks Every Protocol

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages