ESP32-Bus-Pirate

ESP32 Bus Pirate

Logo banner of the ESP32 Bus Pirate firmware

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.

For hardware extensions, see the ESP32 Bus Expander for additional radio interfaces, and the ESP32 Bus Pirate Dock to use original Bus Pirate adapters and accessories.

Demo showing the different mode of the ESP32 Bus Pirate firmware Demo showing the LittleFS file system of the ESP32 Bus Pirate firmware

Features

Supported Devices

Device   Description
ESP32 S3 Dev Kit Photo of the ESP32 S3 Dev Kit More than 20 available GPIO, 1 button
M5 Cardputer Photo of the M5 Cardputer 2 GPIO (Grove), screen, keyboard, mic, speaker, IR TX, SD card, battery, standalone mode
M5 Cardputer ADV Photo of the M5 Cardputer ADV 12 GPIO (Grove, Header), screen, keyboard, mic, speaker, IR TX, SD card, IMU, battery, standalone mode
M5 Stick S3 Photo of the M5 Stick S3 13 GPIO (Grove, Header), screen, mic, speaker, IR TX, IR RX, IMU, 3 buttons, battery
M5 StampS3 Photo of the M5 StampS3 9 GPIO (exposed pins), 1 button
M5 AtomS3 Lite Photo of the M5 Atom S3 Lite 8 GPIO (Grove, Header), IR TX, 1 buttton
LILYGO T-Display Photo of the T-Display-S3 13 GPIO (1 Qwicc), screen, 2 buttons
LILYGO T-Embed Photo of the LILYGO T-Embed 9 GPIO (Grove, Header), screen, encoder, speaker, mic, SD card
LILYGO T-Embed CC1101 Photo of the LILYGO T-Embed CC1101 4 GPIO (2x Qwiic), screen, encoder, speaker, mic, SD Card, CC1101, PN532, IR TX, IR RX , battery
LILYGO T-Embed CC1101 Plus Photo of the LILYGO T-Embed CC1101 Plus 4 GPIO (2x Qwiic), screen, encoder, speaker, mic, SD Card, CC1101, NRF24, PN532, IR TX, IR RX , battery
Seeed Studio Xiao S3 Photo of the Seeed Studio Xiao ESP32-S3 9 GPIO (exposed pins), 1 button

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

🛠️ 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…

Expander

Banner of the ESP32 Bus Pirate Expander page

🔌 Expand the capabilities of the ESP32 Bus Pirate with additional hardware modules.
The Expander adds support for the WiFi 5 GhZ or other radio protocols.

A Cardputer connected to an expander C5

Dock

Banner of the ESP32 Bus Pirate Dock page

🔧 A docking station for the ESP32 S3 DevKit designed to work with original Bus Pirate adapters.
It allows you to plug and use the original Bus Pirate ecosystem of adapters and accessories.

The ESP32 Bus Pirate dock board

(Coming soon)

PCBWay Logo

Command-Line Interfaces

The ESP32 Bus Pirate firmware provides three command-line interface (CLI) modes:

Interface Advantages Ideal for…
Web Interface - Accessible from any browser
- PC, tablets, mobiles
- 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
Standalone - Only for the Cardputer
- On device keyboard
- On device screen
Portable sessions, Quick tests

All interfaces share the same command structure and can be used interchangeably (more details).

Mobile Web Interface over WiFi

An iPhone screenshot showing the Bus Pirate firmware web interface

Standalone Mode for the Cardputer

A Cardputer running the ESP32 Bus pirate in standalone mode

Using the ESP32 Bus Pirate to speak UART over WiFi

A demo Using the ESP32 Bus pirate firmware with UART

Contribute

See How To Contribute section, which outlines a simple way to add a new command to any mode.

Visuals Assets

Small logo of the ESP32 Bus Pirate firmware

See images, logo, presentations, photo, video, illustrations. These visuals can be freely used in blog posts, documentation, videos, or articles to help explain and promote the firmware.

Warning

⚠️ Voltage Warning: Devices should only operate at 3.3V or 5V.

⚠️ Usage Warning: This firmware is provided for educational, diagnostic, and interoperability testing purposes only.