geo-tp / ESP32-Bit-Pirate
geo-tp / ESP32-Bit-Pirate
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. ESP32 Bit Pirate 是一款开源固件,受传奇工具 Bus Pirate 的启发,可将您的设备转变为多协议开发与分析工具。它支持通过串口终端或基于 Web 的命令行界面(CLI)对各种数字协议(如 I2C、UART、1-Wire、SPI 等)进行嗅探、发送、脚本编写和交互。此外,它还能与蓝牙、Wi-Fi、Sub-GHz 和 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. 官方项目网站汇集了所有资源:ESP32 Bit Pirate 网站。您可以在该网站安装固件、打开 Web 工具、查阅硬件指南、探索应用方案并访问文档。
Features
功能特性
Interactive command-line interface (CLI) via USB Serial or WiFi Web. 通过 USB 串口或 WiFi Web 进行交互式命令行界面(CLI)操作。
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). 支持多种模式:HiZ(默认)、I2C(扫描、毛刺、从机模式、转储、EEPROM)、SPI(EEPROM、Flash、SD卡、从机模式)、UART / 半双工 UART(桥接、读、写)、1WIRE(iButton、EEPROM)、2WIRE(嗅探、智能卡)/ 3WIRE(EEPROM)、DIO(数字 I/O、读、上拉、设置、PWM)、红外(发送、录制、万能遥控)、USB(HID、Flashrom、存储、USB-UART)、蓝牙(BLE HID、扫描、欺骗、嗅探)、Wi-Fi / 以太网(嗅探、解除认证、nmap、netcat)、JTAG(扫描、SWD、openOCD)、LED(动画、设置 LED)、I2S(测试扬声器、麦克风、播放声音)、CAN(嗅探、发送和接收帧)、SUBGHZ(分析、录制、重放)、RFID(读、写、克隆)、RF24(扫描、发送、接收)、FM(分析、广播)、蜂窝网络(转储 SIM 卡、短信、通话)。
Protocol sniffers: I2C, UART, SPI, 1Wire, 2wire, CAN, Wi-Fi, Bluetooth, SubGhz. 协议嗅探器:I2C、UART、SPI、1Wire、2wire、CAN、Wi-Fi、蓝牙、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. 支持波特率自动检测、AT 指令及多种 UART 工具。提供寄存器操作、EEPROM 转储工具及 I2C 设备识别功能。支持读取各类 EEPROM、Flash 以及多种 SPI 工具。支持使用 Bus Pirate 风格的字节码指令或 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. Device-B-Gone 指令支持超过 80 种红外协议。支持直接 I/O 管理、PWM、舵机、GPIO 状态控制。可分析各频段的无线电信号和频率。支持近 50 种可寻址 LED 协议。支持通过以太网和 WiFi 访问网络。支持通过 HTTP 使用 LittleFS 导入和导出数据。提供 Pirate 助手以辅助固件使用。具备 USB-Uart 转换器、SPI 编程器、逻辑分析仪等功能。提供 Web Serial 工具,可在浏览器中使用 USB 串口。
Supported Devices
支持的设备
- ESP32 S3 Dev Kit: More than 20 available GPIO, 1 button
- ESP32 S3 开发套件: 超过 20 个可用 GPIO,1 个按钮
- LILYGO T-Display: 13 GPIO (1 Qwicc), screen, 2 buttons
- LILYGO T-Display: 13 个 GPIO(1 个 Qwicc),屏幕,2 个按钮
- LILYGO T-Embed: 9 GPIO (Grove, Header), screen, encoder, speaker, mic, SD card
- LILYGO T-Embed: 9 个 GPIO(Grove,排针),屏幕,编码器,扬声器,麦克风,SD 卡
- 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: 4 个 GPIO(2 个 Qwiic),屏幕,编码器,扬声器,麦克风,SD 卡,CC1101,PN532,红外发射,红外接收,电池
- LILYGO T-Embed CC1101 Plus: 4 GPIO (2x Qwiic), screen, encoder, speaker, mic, SD Card, CC1101, NRF24, PN532, IR TX, IR RX, battery
- LILYGO T-Embed CC1101 Plus: 4 个 GPIO(2 个 Qwiic),屏幕,编码器,扬声器,麦克风,SD 卡,CC1101,NRF24,PN532,红外发射,红外接收,电池
- M5 AtomS3 Lite: 8 GPIO (Grove, Header), IR TX, 1 button
- M5 AtomS3 Lite: 8 个 GPIO(Grove,排针),红外发射,1 个按钮
- M5 Cardputer: 2 GPIO (Grove), screen, keyboard, mic, speaker, IR TX, SD card, battery, standalone mode
- M5 Cardputer: 2 个 GPIO(Grove),屏幕,键盘,麦克风,扬声器,红外发射,SD 卡,电池,独立模式
- M5 Cardputer ADV: 12 GPIO (Grove, Header), screen, keyboard, mic, speaker, IR TX, SD card, IMU, battery, standalone mode
- M5 Cardputer ADV: 12 个 GPIO(Grove,排针),屏幕,键盘,麦克风,扬声器,红外发射,SD 卡,IMU,电池,独立模式
- M5 StampS3: 9 GPIO (exposed pins), 1 button
- M5 StampS3: 9 个 GPIO(外露引脚),1 个按钮
- M5 Stick S3: 13 GPIO (Grove, Header), screen, mic, speaker, IR TX, IR RX, IMU, 3 buttons, battery
- M5 Stick S3: 13 个 GPIO(Grove,排针),屏幕,麦克风,扬声器,红外发射,红外接收,IMU,3 个按钮,电池
- Seeed Studio Xiao S3: 9 GPIO (exposed pins), 1 button
- Seeed Studio Xiao S3: 9 个 GPIO(外露引脚),1 个按钮
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. 其他基于 ESP32-S3 的开发板:所有基于 ESP32-S3 的开发板均可支持,前提是至少拥有 8MB Flash。您可以将 s3 dev-kit 固件烧录到任何 ESP32-S3 开发板上。请注意,固件中的默认引脚映射可能与您的特定开发板不匹配。
Getting Started
入门指南
🔧 Flash the firmware: Use the ESP32 Bit Pirate Web Flasher to burn the firmware directly from a web browser. You can also burn it on M5Burner, in the StickS3, AtomS3, M5StampS3 or Cardputer category. 🔧 烧录固件:使用 ESP32 Bit Pirate Web Flasher 直接从浏览器烧录固件。您也可以通过 M5Burner 在 StickS3、AtomS3、M5StampS3 或 Cardputer 分类中进行烧录。
🔌 Connect:
- Serial or Web Serial: any terminal app, or the free browser-based Web Serial terminal (see Connect via Serial)
- Web: configure Wi-Fi and access the CLI via browser (see Wi-Fi Connection) 🔌 连接方式:
- 串口或 Web 串口:使用任何终端应用程序,或免费的基于浏览器的 Web 串口终端(参见“通过串口连接”)。
- Web:配置 Wi-Fi 并通过浏览器访问 CLI(参见“Wi-Fi 连接”)。
🧪 Use commands like: mode, help, scan, sniff …
🧪 使用指令:如 mode、help、scan、sniff 等。
Wiki
维基文档
📚 Visit the Wiki for detailed documentation on every mode and command. Includes: Terminal mode, Mode overviews, Serial setup. The wiki is the best place to learn how everything works. 📚 访问维基文档以获取关于每种模式和指令的详细说明。包括:终端模式、模式概览、串口设置。维基是了解系统运作方式的最佳途径。
Scripting
脚本编写
🛠️ 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, interacting with GPIOs, LED animation… 🛠️ 通过串口使用 Python 脚本实现与 ESP32 Bit Pirate 的自动化交互。您可以使用 ESP32 Bit Pirate Python Lab 直接在浏览器中编写和测试脚本。功能包括:数据记录到文件、EEPROM 和 Flash 转储、GPIO 交互、LED 动画等。
Expander
扩展模块
🔌 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. 🔌 通过额外的硬件模块扩展 ESP32 Bit Pirate 的功能。扩展模块增加了对 WiFi 5GHz 或其他无线协议的支持。
Dock
扩展坞
🔧 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. (Coming soon) 🔧 专为 ESP32 S3 DevKit 设计的扩展坞,可兼容原版 Bus Pirate 适配器。它允许您插入并使用原版 Bus Pirate 的适配器和配件生态系统。(即将推出)
Command-Line Interfaces
命令行界面
The ESP32 Bit Pirate firmware provides three command-line interface (CLI) modes: ESP32 Bit Pirate 固件提供三种命令行界面(CLI)模式:
| 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 |
| 界面 | 优势 | 适用场景 |
|---|---|---|
| Web 界面 | 可通过任何浏览器访问(PC、平板、手机),基于 Wi-Fi 工作,无需线缆 | 快速测试、演示、无头设备设置 |
| 串口界面 | 性能更快,响应即时,平滑处理大数据 | 高强度会话、频繁交互 |
| 独立模式 | 仅限 Cardputer,自带键盘和屏幕 | 便携式会话、快速测试 |
All interfaces share the same command structure and can be used interchangeably. 所有界面共享相同的指令结构,可以互换使用。
Browser-Based Web Serial Tools
基于浏览器的 Web 串口工具
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. ESP32 Bit Pirate Web Serial Tools 允许从兼容浏览器直接访问串口 CLI,无需安装 PuTTY、minicom 或其他终端应用程序。
Contribute
贡献
See How To Contribute section, which outlines a simple way to add a new command to any mode. 请参阅“如何贡献”部分,其中概述了向任何模式添加新指令的简单方法。
Visuals Assets
视觉资源
See images, logo, presentations, photo, video, illustrations. These visuals can be freely used in blog posts, documentation, videos, or… 查看图片、Logo、演示文稿、照片、视频、插图。这些视觉资源可自由用于博客文章、文档、视频等。