Skip to content

00 Quick

Geo edited this page Jan 30, 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 text commands.

General form:

command <arg1> [arg2] [arg3] ...

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. This allows building complex bus sequences in one line.


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