Back to rankings

geo-tp/ESP32-Bit-Pirate

C++geo-tp.github.io/ESP32-Bit-Pirate/

A Hardware Hacking Tool with Web-Based CLI That Speaks Every Protocol

esp32hardware-hackingdebuggingcan-busi2cjtagspiuartsubghzgpiowifirfid
Star Growth
Stars
4.3k
Forks
350
Weekly Growth
Issues
32
2k3k4k
May 26May 26Jun 26Jul 26
README

ESP32 Bit Pirate

Logo banner of the ESP32 Bit Pirate firmware

ESP32 Bit Pirate is open-source firmware that turns your device into a multi-protocol development and analysis 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.

The official project website centralizes everything: ESP32 Bit Pirate Website.

From there you can install the firmware, open the web tools, follow hardware guides, explore recipes, and access the documentation.

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

Features

  • Interactive command-line interface (CLI) via USB Serial or WiFi Web.

  • Modes for:

    • HiZ (default)
    • I2C (scan, glitch, slave mode, dump, eeprom)
    • SPI (eeprom, flash, sdcard, slave mode)
    • UART / Half-Duplex UART (bridge, read, write)
    • 1WIRE (ibutton, eeprom)
    • 2WIRE (sniff, smartcard) / 3WIRE (eeprom)
    • DIO (Digital I/O, read, pullup, set, pwm)
    • Infrared (send, record, universal remote)
    • USB (HID, flashrom, storage, usb-uart)
    • Bluetooth (BLE HID, scan, spoofing, sniffing)
    • Wi-Fi / Ethernet (sniff, deauth, nmap, netcat)
    • JTAG (scan, SWD, openOCD)
    • LED (animations, set LEDs)
    • I2S (test speakers, mic, play sound)
    • CAN (sniff, send and receive frames)
    • SUBGHZ (analyze, record, replay)
    • RFID (read, write, clone)
    • RF24 (scan, send, receive)
    • FM (analyze, broadcast)
    • CELL (dump sim card, sms, call)
  • Protocol sniffers I2C, UART, SPI, 1Wire, 2wire, CAN, Wi-Fi, Bluetooth, SubGhz.

  • Baudrate auto-detection, AT commands and various tools for UART.

  • Registers manipulation, EEPROM dump tools, identify devices for I2C.

  • Read all sort of EEPROM, Flash and various others tools for SPI.

  • Scripting using Bus Pirate-style bytecode instructions or Python.

  • Device-B-Gone command with more than 80 supported INFRARED protocols.

  • Direct I/O management, PWM, servo, GPIOs state.

  • Analyze radio signals and frequencies on every bands.

  • Near than 50 addressable LEDs protocols supported.

  • Ethernet and WiFi are supported to access networks.

  • Import and export data with the LittleFS over HTTP.

  • Pirate assistant to help you with the firmware.

  • USB-Uart dongle, SPI programmer, logic analyzer and more.

  • Web Serial tools to use USB Serial over a web browser.

Supported Devices

Device Description
ESP32 S3 Dev Kit Photo of the ESP32 S3 Dev Kit More than 20 available GPIO, 1 button
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
M5 AtomS3 Lite Photo of the M5 Atom S3 Lite 8 GPIO (Grove, Header), IR TX, 1 buttton
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 StampS3 Photo of the M5 StampS3 9 GPIO (exposed pins), 1 button
M5 Stick S3 Photo of the M5 Stick S3 13 GPIO (Grove, Header), screen, mic, speaker, IR TX, IR RX, IMU, 3 buttons, battery
Seeed Studio Xiao S3 Photo of the Seeed Studio Xiao ESP32-S3 9 GPIO (exposed pins), 1 button
  • Other ESP32-S3-based Boards

    • All boards based on the ESP32-S3 can be supported, provided they have at least 8 MB of flash.

    • You can flash the s3 dev-kit firmware onto any ESP32-S3 board.

    • Keep in mind that the default pin mapping in the firmware may not match your specific board.

Getting Started

Banner of the ESP32 Bit 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 Bit 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 Bit Pirate Scripts page

🛠️ Automate interactions with the ESP32 Bit Pirate using Python scripts over serial.

You can write and test scripts directly in the browser with the ESP32 Bit Pirate Python Lab.

Including: Logging data in a file, eeprom and flash dump, interracting with GPIOs, LED animation...

Expander

Banner of the ESP32 Bit Pirate Expander page

🔌 Expand the capabilities of the ESP32 Bit 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 Bit 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 Bit Pirate dock board

(Coming soon)

PCBWay Logo

Command-Line Interfaces

The ESP32 Bit 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 Bit Pirate firmware web interface

Standalone Mode for the Cardputer

A Cardputer running the ESP32 Bit Pirate in standalone mode

Browser-Based Web Serial Tools

The ESP32 Bit Pirate Web Serial Tools provides direct access to the Serial CLI from a compatible browser, without installing PuTTY, minicom, or another terminal application.

A demo Using the ESP32 Bit Pirate with Web Serial Tools

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 Bit 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.

  • Do not connect peripherals using other voltage levels — doing so may damage your ESP32.

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

  • Do not use it to interfere with, probe, or manipulate devices without proper authorization.
  • Avoid any unauthorized RF transmissions (e.g., sub-GHz) that could violate local regulations or disrupt networks and communications.
  • The authors are not responsible for any misuse of this software or hardware, including legal consequences resulting from unauthorized access or signal emission.
  • Always stay within the bounds of your country’s laws and responsible disclosure policies.
Related repositories
ruvnet/RuView

π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.

Rustcrates.ioMIT Licensedenseposewifi
cognitum.one/RuView
81.8k11k
raysan5/raylib

A simple and easy-to-use library to enjoy videogames programming

Czlib Licenseraylibc
raylib.com
34k3.2k
78/xiaozhi-esp32

An MCP-based chatbot | 一个基于MCP的聊天机器人

C++MIT Licensechatbotesp32
xiaozhi.me
28.2k6.4k
arendst/Tasmota

Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at

CGNU General Public License v3.0tasmotafirmware
tasmota.github.io/docs
24.6k5.1k
wled/WLED

Control WS2812B and many more types of digital RGB LEDs with an ESP32 over WiFi!

C++European Union Public License 1.2lightesp8266
kno.wled.ge
18.4k4.3k
tinygo-org/tinygo

Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.

GoGo ModulesOthermicrocontrollertinygo
tinygo.org
17.6k1.1k
MarlinFirmware/Marlin

Marlin is a firmware for RepRap 3D printers optimized for both 8 and 32 bit microcontrollers. Marlin supports all common platforms. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.

C++GNU General Public License v3.0repraparduino
marlinfw.org
17.5k19.7k
espressif/arduino-esp32

Arduino core for the ESP32 family of SoCs

C++GNU Lesser General Public License v2.1arduinoesp-idf
17.1k7.9k
Aircoookie/WLED

Control WS2812B and many more types of digital RGB LEDs with an ESP8266 or ESP32 over WiFi!

C++lightesp8266
kno.wled.ge
15.6k3.4k
justcallmekoko/ESP32Marauder

A suite of WiFi/Bluetooth offensive and defensive tools for the ESP32

C++esp32arduino
11.6k1.4k
esphome/esphome

ESPHome is a system to control your ESP32, ESP8266, BK72xx, RP2040 by simple yet powerful configuration files and control them remotely through Home Automation systems.

C++Otherhome-automationiot
esphome.io
11.4k5.5k
xinnan-tech/xiaozhi-esp32-server

本项目为xiaozhi-esp32提供后端服务,帮助您快速搭建ESP32设备控制服务器。Backend service for xiaozhi-esp32, helps you quickly build an ESP32 device control server.

JavaScriptnpmMIT Licensedifyesp32
xiaozhi.biz
10.1k3.4k