Skip to content

00 Quick

Geo edited this page Feb 9, 2026 · 47 revisions

Quick Start

ESP32 Bus Pirate Logo and Supported Protocols

What is ESP32 Bus Pirate?

ESP32 Bus Pirate is a multi-protocol exploration and debugging tool for hardware hacking.

It allows you to:

  • Explore electronic buses (I2C, SPI, UART, 1-Wire, JTAG, SWD, CAN, etc.)
  • Explore radio protocols (RFID, RF, Bluetooth, WiFi)
  • Reverse engineer unknown devices
  • Send raw transactions
  • Read / write memories (EEPROM, Flash, Smartcards)
  • Automate tests and scripts

Think of it as a modern, scriptable toolbox running on ESP32, with a large range of supported protocols.


Basic Concept

Everything is done using commands. Don’t worry though, most commands are intentionally kept very simple.

In many cases, you only need to type a single word with no arguments or flags at all, such as read, receive, or scan. Some commands do accept arguments, but they follow straightforward and intuitive formats.

General form:

command [arg1] [arg2] ...

Examples:

scan
monitor 0x13
wizard 1
sniff
logic 1
jam
read 0x13 6
  • Arguments are space-separated
  • Arguments in < > are required
  • Arguments in [ ] are optionnal
  • Numbers can be decimal or hex:
255
0xFF

Switching Protocol Modes

You usually start by selecting a protocol:

Type m, mode or m uart, m i2c.

m         (prompt for mode)
mode      (prompt for mode)
mode uart (direct mode access)
m dio     (direct mode access)

Example 1 – Some I2C operations

490790516-229dc03c-cb8a-40f2-935c-096d59462378

Example 2 – Some UART operations

466254812-6c6752c8-dc4e-47a8-b10c-7e178987f9b1


Bytecode Instructions

ESP32 Bus Pirate also supports instruction-based execution(similar to bytecode). See Instruction Syntax.

demo17


Python Scripting

You can control ESP32 Bus Pirate from Python over Serial.

See Python Automation

This enables:

  • Automation
  • Dump
  • Data logging

ESP32 Bus Pirate is designed to be explored. Type commands, experiment, break things, learn.

Clone this wiki locally