Close
0%
0%

ESP32 Bus Pirate

A Hardware Hacking Tool With Web-based CLI That Speaks Every Digital & Radio Protocol

geoGeo
Similar projects worth following
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. It also communicates with radio protocols like Bluetooth, Wi-Fi, Sub-GHz and RFID.

Use the ESP32 Bus Pirate Web Flasher to install the firmware in one click. See the Wiki for step-by-step guides on every mode and command. Check ESP32 Bus Pirate Scripts for a collection of scripts.


Supported Devices

See README for supported devices: List of supported devices

Getting Started

Banner of the ESP32 Bus Pirate web flasher

  1. 🔧 Flash the firmware
  2. 🔌 Connect via Serial or Web
  3. 🧪 Use commands like:
    mode
    help
    scan
    sniff
    ...

Wiki

Banner of the ESP32 Bus Pirate Wiki page

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

Includes:

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

Scripting

Banner of the ESP32 Bus Pirate Scripts page

🛠️ You can automate interactions with the ESP32 Bus Pirate using Python scripts over serial.

Examples and ready-to-use scripts are available in the repository: ESP32 Bus Pirate Scripts.

Including: Logging data in a file, eeprom and flash dump, interracting with GPIOs, LED animation...

  • 1 × ESP32S3 Dev-Kit Works on all ESP32S3

View all 2 project logs

  • 1
    Platformio Build

    1) Prerequisites

    • VS Code installed

    • PlatformIO IDE extension (install from the VS Code Marketplace)

    • Git (optional, for cloning the repo)

    • Drivers:

      • Windows: CP210x or CH34x if your board uses those USB-UART chips

      • Linux: add udev rules (see below)

      • macOS: usually no extra driver needed

    Linux udev (USB permissions)
    sudo usermod -a -G dialout $USER
    # Add rules for CP210x/CH34x if needed, then:
    sudo udevadm control --reload-rules
    sudo udevadm trigger
    # Reboot or re-login to apply group changes
    
    
    

    2) Get the source

    # Clone (or download ZIP)
    git clone https://github.com/geo-tp/ESP32-Bus-Pirate.git
    
    
    

    3) Open in PlatformIO

    • Open VS Code → PlatformIO HomeOpen Project → select the repo folder.

    Tip: The project supports multiple boards, choose the one you want.

View all instructions

Enjoy this project?

Share

Discussions

mbt28 wrote 10/02/2025 at 09:55 point

Hello,

Thank you for the nice project. I tried it with my esp32-s3 for I2C debugging however it is a bit difficult to understand output especially if there is so much bus communication. I wish it is able to output slave address in hex and indicate read/write condition and share the data in hex until the message completes.

  Are you sure? yes | no

Geo wrote 10/02/2025 at 13:13 point

If you're talking about the I2C sniffer, it has been reworked in version 1.1 to display the data in a more readable way.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates