ESP32 Bit Pirate,一款具备 WebCLI 并支持所有协议的硬件黑客工具
ESP32 Bit Pirate, a Hardware Hacking Tool with WebCLI That Speaks Every Protocol

原始链接: https://github.com/geo-tp/ESP32-Bit-Pirate

ESP32 Bit Pirate 是一款开源的多协议黑客工具,可将 ESP32-S3 设备转变为通用的诊断与开发平台。该固件受传奇工具 Bus Pirate 的启发,支持 I2C、SPI、UART、1-Wire、JTAG 和 CAN 等多种数字协议,并增加了 Wi-Fi、蓝牙、RFID、Sub-GHz(亚吉赫兹)和红外等强大的无线通信功能。 用户可以通过 Web 界面、串行终端或独立模式(在 M5 Cardputer 等支持的硬件上)与设备交互。它支持基于 Python 的高级脚本功能,可实现 EEPROM 转储、信号分析和协议嗅探等任务的自动化。该生态系统包含专用的硬件底座和扩展板,确保了与传统 Bus Pirate 配件的兼容性。 该固件专为教育、诊断和互操作性测试而设计,具有高度可扩展性和易用性,并通过 Web 烧录器实现一键安装。此外,还提供详尽的文档和社区驱动的脚本,以辅助设备操控和数据记录。 *注意:本工具仅供授权使用。用户必须严格遵守 3.3V/5V 逻辑电平及当地电信法规,以避免设备损坏或法律问题。*

“ESP32 Bit Pirate”是一款受经典 Bus Pirate 启发的开源硬件黑客工具。它专为多功能性而设计,允许用户嗅探、交互和编写包括 I2C、UART、SPI 和 1-Wire 在内的数字协议脚本。其固件可通过串行或基于 Web 的命令行界面(CLI)进行管理,并支持包括 Wi-Fi、蓝牙、RFID 和 Sub-GHz 在内的无线通信。 为提升易用性,该项目包含了一键式网页刷写工具、详尽的 Wiki 以及即用型脚本库。硬件扩展方面,该项目通过“ESP32 Bus Expander”支持额外的无线电功能,并通过“ESP32 Bit Pirate Dock”确保与原版 Bus Pirate 配件的兼容性。 在 Hacker News 上,该项目引发了关于其与基于 FPGA 的 Glasgow Interface Explorer 性能对比的讨论。一些用户还提出了关于大语言模型(LLM)在项目开发中所起作用的质疑,这反映了业界对“氛围编程”(vibe coding)以及当前开源硬件项目原创性的广泛关注。
相关文章

原文

Logo banner of the ESP32 Bit Pirate firmware

ESP32 Bit Pirate is an open-source firmware that turns your device into a multi-protocol hacker's 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.

Use the ESP32 Bit Pirate Web Flasher to install the firmware in one click. See the Wiki for step-by-step guides on every mode and command. Check ESP32 Bit Pirate Scripts for a collection of scripts.

For hardware extensions, see the ESP32 Bus Expander for additional radio interfaces, and the ESP32 Bit Pirate Dock to use original Bus Pirate adapters and accessories.

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

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

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

Banner of the ESP32 Bit Pirate web flasher

  1. 🔧 Flash the firmware

  2. 🔌 Connect via Serial or Web

  3. 🧪 Use commands like:

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.

Banner of the ESP32 Bit Pirate Scripts page

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

Examples and ready-to-use scripts are available in the repository: ESP32 Bit Pirate Scripts.

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

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

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

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

Using the ESP32 Bit Pirate to speak UART over WiFi

A demo Using the ESP32 Bit Pirate firmware with UART

See How To Contribute section, which outlines a simple way to add a new command to any mode.

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.

⚠️ 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.
联系我们 contact @ memedata.com