geo-tp/ESP32-Bit-Pirate
ESP32 Bit Pirate is open-source ESP32-S3 firmware inspired by the Bus Pirate that turns the chip into a multi-protocol hardware hacking and analysis tool. It supports sniffing, sending, and scripting a wide range of digital and radio protocols including I2C, SPI, UART, 1-Wire, JTAG/SWD, CAN, RFID, Bluetooth (BLE scan/spoof/sniff), Wi-Fi (sniff/deauth/nmap), Sub-GHz, LoRa, and infrared, controllable via serial or web-based CLI with Python scripting support.
What it is
Firmware for ESP32-S3 boards that emulates a Bus Pirate-style multi-protocol tool. The catalog summary lists the headline protocols; the page adds specific operational detail on getting it running, the supported hardware, and several capability areas the summary omits.
Additional capabilities not in the summary
Beyond I2C/SPI/UART/JTAG/CAN/RFID/radio, the mode list includes:
- CELL — dump SIM card, send SMS, place calls.
- USB — act as HID, flashrom programmer, mass storage, or USB-UART bridge.
- 2WIRE smartcard sniffing and 1-Wire iButton read.
- RF24 (nRF24) scan/send/receive and LORA with Meshtastic support.
- I2C glitch and slave/EEPROM emulation modes; SPI can also emulate slave.
- Infrared "Device-B-Gone" with 80+ protocols; FM broadcast; Sub-GHz record/replay.
Preconditions / hardware
- Requires an ESP32-S3 board with at least 8 MB of flash. Non-S3 ESP32s are not supported.
- Pre-packaged for M5Stack StickS3, AtomS3, M5StampS3, and Cardputer; any S3 dev-kit works but default pin mapping may not match your board.
- Peripherals must be 3.3V or 5V only — other voltage levels may damage the board.
- Optional add-ons: an Expander module adds 5 GHz Wi-Fi / extra radio protocols, and a Dock lets you plug original Bus Pirate adapters onto an S3 DevKit.
What to do
- Flash via the Web Flasher (browser) or M5Burner — look under the StickS3, AtomS3, M5StampS3, or Cardputer category.
- Connect over USB Serial (any terminal, or the browser Web Serial tool — no PuTTY/minicom needed) or over Wi-Fi via the web CLI. All three interfaces share one command structure.
- Core commands:
mode,help,scan,sniff. Scripting is via Bus Pirate bytecode or Python (browser-based "Python Lab" for testing), with data import/export over HTTP via LittleFS.
Caveats
The project itself flags legal exposure: it is stated to be for educational, diagnostic, and interoperability testing only. The authors warn against probing devices without authorization and against unauthorized RF transmission (e.g., Sub-GHz, FM broadcast) that could violate local regulations. Given the CELL (SMS/call), deauth, BLE spoofing, and RFID clone capabilities, treat regulatory and authorization constraints as the gating factor before deploying, not the hardware.
Technologies named here
- ESP32-S3-based boards
- ESP32 Bit Pirate
- ESP32 Bit Pirate Web Flasher
- M5Burner
- ESP32 Bit Pirate Web Serial Tools
- ESP32 Bit Pirate Python Lab
- Pirate assistant
- ESP32 Bit Pirate Expander
- ESP32 Bit Pirate Dock
- Bus Pirate
- ESP32
Techniques named here
- I2C mode
- SPI mode
- UART / Half-Duplex UART
- 1WIRE mode
- 2WIRE / 3WIRE mode
- DIO
- Infrared send/record/universal remote
- USB mode
- Bluetooth mode
- Wi-Fi / Ethernet mode
- JTAG mode
- LED mode
- I2S mode
- CAN mode
- SUBGHZ mode
- RFID mode
- RF24 mode
- FM mode
- CELL mode
- LORA mode
- Protocol sniffing
- Scripting
- EEPROM/Flash dumping
Related in Hardware & RF

HAETAE on a Diet: Less Stack, Less Time on Low-End Microcontrollers

Lucaslhm/Flipper-IRDB
