-
Notifications
You must be signed in to change notification settings - Fork 317
00 Quick
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.
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
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)


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

You can control ESP32 Bus Pirate from Python over Serial.
This enables:
- Automation
- Dump
- Data logging
ESP32 Bus Pirate is designed to be explored. Type commands, experiment, break things, learn.
⚠️ 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.