Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

FeedsContactPrivacy© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
ESP32-Bit-Pirate — A Hardware Hacking Tool with Web-Based CLI That Speaks Every Protocol | Kitploit
Tools/GitHubGitHub/geo-tp/esp32-bit-pirate
Embedded Systems SecurityWi-Fi AuditingBluetooth SecurityRFID/NFC ToolsDebuggersWireless SecurityHardware HackingFirmware Analysis
GitHubgeo-tp/esp32-bit-pirate

ESP32-Bit-Pirate

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

View Repository
5.4k4361131 day agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
Website
# ESP32 Bit Pirate

[![Logo banner of the ESP32 Bit Pirate firmware](https://assets.kitploit.com/production/public/readmes/8029/004d89c932137903c13e15446df7ec2a55c071012ea06230dffbb2425b3a3977.png)](https://geo-tp.github.io/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, LoRa and RFID.

The official project website centralizes everything: [ESP32 Bit Pirate Website](https://geo-tp.github.io/ESP32-Bit-Pirate/).

From there you can [install the firmware](https://geo-tp.github.io/ESP32-Bit-Pirate/webflasher/), open the [web tools](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/), follow [hardware guides](https://geo-tp.github.io/ESP32-Bit-Pirate/hardware/), explore [recipes](https://geo-tp.github.io/ESP32-Bit-Pirate/recipes/), and access the [documentation](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki).

![Demo showing the different mode of the ESP32 Bit Pirate firmware](https://assets.kitploit.com/production/public/readmes/8029/c7849e618ee7062381495cf3ea1e003ac6f3fad14a096b8ba657b023f00d85e5.gif)
[![The ESP32 Bit Pirate Web Serial Tools](https://raw.githubusercontent.com/geo-tp/esp32-bit-pirate/pioarduino/images/web-tools.jpg)](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/) 
## Features

- Interactive command-line interface (CLI) via **USB Serial or WiFi Web**.
- **Modes for:**
   - [HiZ](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/01-HiZ) (default)
   - [I2C](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/05-I2C) (scan, glitch, slave mode, dump, eeprom)
   - [SPI](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/06-SPI) (eeprom, flash, sdcard, slave mode)
   - [UART](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/03-UART) / [Half-Duplex UART](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/04-HDUART) (bridge, read, write)
   - [1WIRE](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/02-1WIRE) (ibutton, eeprom)
   - [2WIRE](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/07-2WIRE) (sniff, smartcard) / [3WIRE](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/08-3WIRE) (eeprom)
   - [DIO](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/09-DIO) (Digital I/O, read, pullup, set, pwm)
   - [Infrared](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/11-INFRARED) (send, record, universal remote)
   - [USB](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/12-USB) (HID, flashrom, storage, usb-uart)
   - [Bluetooth](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/13-BLUETOOTH) (BLE HID, scan, spoofing, sniffing)
   - [Wi-Fi](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/14-WIFI) / [Ethernet](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/18-ETHERNET) (sniff, deauth, nmap, netcat)
   - [JTAG](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/15-JTAG) (scan, SWD, openOCD)
   - [LED](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/10-LED) (animations, set LEDs)
   - [I2S](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/16-I2S) (test speakers, mic, play sound)
   - [CAN](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/17-CAN) (sniff, send and receive frames)
   - [SUBGHZ](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/19-SUBGHZ) (analyze, record, replay)
   - [RFID](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/20-RFID) (read, write, clone)
   - [RF24](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/21-RF24) (scan, send, receive)
   - [FM](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/22-FM) (analyze, broadcast)
   - [CELL](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/23-CELL) (dump sim card, sms, call)
   - [LORA](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/24-LORA) (sniff, payload, meshtatic)


- **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**.
- Infrared support with more than **80 protocols**.
- Direct I/O management, **PWM, servo, GPIOs state**.
- Analyze radio signals and frequencies **on every bands**.
- Near than **50 addressable LEDs protocols** supported.
- **Pirate assistant** to help you with the firmware.
- **USB-Uart dongle, SPI programmer, logic analyzer, ESP-SDR** and more.
- [**Web Serial tools**](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/) to use USB Serial over a web browser.

## Supported Devices
All boards listed below offer the exact same Bit Pirate features, with no differences in functionality or development status. Some features may require additional hardware.

| Device               |                                     | Description                       |
|-----------------------|------------------------------------------|---------------------------------------------------|
| **ESP32 S3 Dev Kit (N8, N8R2, N8R8, N16R8...)**  | ![Photo of the ESP32 S3 Dev Kit](https://assets.kitploit.com/production/public/readmes/8029/5b47d287c446b663b39812f9499f0a7ee7fc5af5d57ac0f317e97d240daa30e2.jpg)     | More than 20 available GPIO, 1 button |
| **ESP32 S3 Zero / Super Mini**  | ![Photo of the ESP32 S3 SUPERMINI](https://raw.githubusercontent.com/geo-tp/esp32-bit-pirate/pioarduino/images/esp32-s3-supermini_s.jpg)     | 15 GPIO (exposed pins), 1 button |
| [**M5 AtomS3 Lite**](https://shop.m5stack.com/products/atoms3-lite-esp32s3-dev-kit?ref=pvosfmid)    | [![Photo of the M5 Atom S3 Lite](https://assets.kitploit.com/production/public/readmes/8029/eb5d46f9dc6eae9ee46a2f9e2fa86cb5d23baca12b9f08d8fdddedf2a1d1dc5e.jpg)](https://shop.m5stack.com/products/atoms3-lite-esp32s3-dev-kit?ref=pvosfmid)            | 8 GPIO (Grove, Header), IR TX, 1 buttton                  |
| **M5 Cardputer**      | ![Photo of the M5 Cardputer](https://assets.kitploit.com/production/public/readmes/8029/b5cc413b0d51d7efb739152dc57c3461f9ea14d8d42573dac1a56664322babcc.png)            | 2 GPIO (Grove), screen, keyboard, mic, speaker, IR TX, SD card, battery, [standalone mode](#standalone-mode-for-the-cardputer)            |
| [**M5 Cardputer ADV**](https://shop.m5stack.com/products/m5stack-cardputer-adv-version-esp32-s3?ref=pvosfmid)  | [![Photo of the M5 Cardputer ADV](https://assets.kitploit.com/production/public/readmes/8029/6d00d50b42df86aba74da3cfca589049c41650bcd81b51b22e25f6fe6b0d2e26.jpg)](https://shop.m5stack.com/products/m5stack-cardputer-adv-version-esp32-s3?ref=pvosfmid)    | 12 GPIO (Grove, Header), screen, keyboard, mic, speaker, IR TX, SD card, IMU, battery, [Lora](https://shop.m5stack.com/products/cap-lora-1262-for-cardputer-adv-sx1262-atgm336h?ref=pvosfmid), [CC1101](https://shop.m5stack.com/products/cap-cc1101-nfc-for-cardputer?ref=pvosfmid), [standalone mode](#standalone-mode-for-the-cardputer)                  |
| [**M5 StampS3**](https://shop.m5stack.com/products/m5stamps3a-with-2-54-header-pin?ref=pvosfmid)        | [![Photo of the M5 StampS3](https://assets.kitploit.com/production/public/readmes/8029/cb667b4ce50fd048384bdce7b0f72b897c8ca371e28aad7bf2c005f1cb80f347.jpg)](https://shop.m5stack.com/products/m5stamps3a-with-2-54-header-pin?ref=pvosfmid)             | 9 GPIO (exposed pins), 1 button                       |
| [**M5 Stick S3**](https://shop.m5stack.com/products/m5sticks3-esp32s3-mini-iot-dev-kit?ref=pvosfmid) | [![Photo of the M5 Stick S3](https://assets.kitploit.com/production/public/readmes/8029/63e20193ed856a13ec0064fc72d54e84c538b01764ff3035b3df7eac76603b7b.jpg)](https://shop.m5stack.com/products/m5sticks3-esp32s3-mini-iot-dev-kit?ref=pvosfmid)      | 13 GPIO (Grove, Header), screen, mic, speaker, IR TX, IR RX, IMU, 3 buttons, battery                 |
| **LILYGO T-Display** | ![Photo of the T-Display-S3](https://assets.kitploit.com/production/public/readmes/8029/1e90f401d74172372b70dab95eb6562a77efd60f049680f59a58d795a7f24c03.jpg) | 13 GPIO (1 Qwicc), screen, 2 buttons |
| **LILYGO T-Embed**    | ![Photo of the LILYGO T-Embed](https://assets.kitploit.com/production/public/readmes/8029/e28011476f60c54f2b80b4b4688d76dec0110ca64029080707f152debe8f5db2.jpg)          | 9 GPIO (Grove, Header), screen, encoder, speaker, mic, SD card                                         |
| **LILYGO T-Embed CC1101** | ![Photo of the LILYGO T-Embed CC1101](https://assets.kitploit.com/production/public/readmes/8029/451f28a8e35043873ed150dd7502b59ed227c489a2a3940b53ffbb50aac5d676.jpg) | 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](https://assets.kitploit.com/production/public/readmes/8029/451f28a8e35043873ed150dd7502b59ed227c489a2a3940b53ffbb50aac5d676.jpg) | 4 GPIO (2x Qwiic), screen, encoder, speaker, mic, SD Card, CC1101, NRF24, PN532, IR TX, IR RX , battery                                 |
| **Heltec WiFi LoRa 32 V4** | ![Photo of the Heltec WiFi LoRa 32 V4](https://assets.kitploit.com/production/public/readmes/8029/b12ef58691de587ec24d6d48547b7300b68efb07469c41b944368ebd0f4f3259.png) | 15 GPIO (Header), SX1262 LoRa, 2 buttons, **screen not supported** |
| **Heltec Vision Master T190** | ![Photo of the Heltec Vision Master T190](https://assets.kitploit.com/production/public/readmes/8029/2a8f426de5100efcd4f31125e41feb11d403cc819d2c185995c925935ae32ea0.png) | 15 GPIO (Header, Qwiiic), screen, 2 buttons, SX1262 LoRa |
| **Seeed Studio Xiao S3** | ![Photo of the Seeed Studio Xiao ESP32-S3](https://assets.kitploit.com/production/public/readmes/8029/66c3997f8de0150c9f8328a15ee99f94911ae3b9a30845e5f50d1c234a0a1a22.jpg)        | 9 GPIO (exposed pins), 1 button |
| **Waveshare ESP32-S3-GEEK** | ![Photo of the Waveshare ESP32-S3-GEEK](https://assets.kitploit.com/production/public/readmes/8029/433c320a860f8f2e07d4e5dc3f270b43eca4e0c418cc9d65568240e01457118a.jpg) | 7 GPIO (Dupont header), screen, 1 button, SD card |
| **Unexpected Maker ProS3**| [![Photo of the Unexpected Maker ProS3](https://raw.githubusercontent.com/geo-tp/esp32-bit-pirate/pioarduino/images/pros3_s.jpg)](https://www.adafruit.com/product/5401) | More than 20 available GPIO (Header, STEMMA QT), 1 button|

- **Other ESP32-S3-based Boards**

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

  - You can **flash the s3 dev-kit (8MB flash) or supermini (4MB flash) 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](https://assets.kitploit.com/production/public/readmes/8029/d4c00a45170848aeccbc3ff0e24431f607f7e11d2a0d97dce799bb0125b2d22e.jpg)](https://geo-tp.github.io/ESP32-Bit-Pirate/webflasher/)

1. 🔧 Flash the firmware
   - Use the [ESP32 Bit Pirate Web Flasher](https://geo-tp.github.io/ESP32-Bit-Pirate/webflasher/) to burn the firmware directly from a web browser.
   - You can also burn it on [M5Burner](https://docs.m5stack.com/en/download), in the StickS3, AtomS3, M5StampS3 or Cardputer category.

2. 🔌 Connect via Serial or Web
   - Serial: any terminal app, or the [free browser-based Web Serial terminal](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/web-serial-terminal/) (see [Connect via Serial](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Serial))
   - Web: configure Wi-Fi and access the CLI via browser (see [Wi-Fi Connection](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/00-Terminal))

3. 🧪 Use commands like:
   ```
   mode
   help
   scan
   sniff
   ...
    ```

## Wiki

[![Banner of the ESP32 Bit Pirate Wiki page](https://assets.kitploit.com/production/public/readmes/8029/0b6b35fc647a2ad0333fe98094084745bd1b0146fee6709126e934b69b427879.png)](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/)

📚 **[Visit the Wiki](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki)** for detailed documentation on every mode and command.

Includes:
- [Terminal mode](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/00-Terminal) - About serial and web terminal.
- [Mode overviews](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki) - Browse supported modes.
- [Serial setup](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Serial) - Serial access via USB.

The wiki is the best place to learn how everything works.

## Scripting

[![Banner of the ESP32 Bit Pirate Scripts page](https://assets.kitploit.com/production/public/readmes/8029/e0b852ab82a4c11b93bd13982a341a91b3955503248eac8d2d4bded5bc7c6b17.png)](https://github.com/geo-tp/ESP32-Bit-Pirate-Scripts/)

🛠️ [**Automate interactions with the ESP32 Bit Pirate**](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Python) using **Python scripts over serial.**

You can write and test scripts directly in the browser with the [ESP32 Bit Pirate Python Lab](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/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](https://assets.kitploit.com/production/public/readmes/8029/2a475ac9e26f0bf81af314192b00d116510e48599c9aafdaca486bed7779ce1d.png)](https://github.com/geo-tp/ESP32-Bus-Expander)


🔌 **[Expand the capabilities of the ESP32 Bit Pirate](https://github.com/geo-tp/ESP32-Bus-Expander)** with additional hardware modules.
The Expander adds support for the **WiFi 5 GhZ, Zigbee** or other radio protocols.

[![A Cardputer connected to an expander C5](https://assets.kitploit.com/production/public/readmes/8029/cc822efbef6e675e6c1f4a1c87ab42e47281f74d207fe7c20390bbc312af0e1c.jpg)](https://github.com/geo-tp/ESP32-Bus-Expander)

## Dock
[![Banner of the ESP32 Bit Pirate Dock page](https://assets.kitploit.com/production/public/readmes/8029/63a5089a0aedaaf36396234f9ec8f20160c5b647d5ea2dcb0dc6f2a18abd7335.png)](https://github.com/AndreiVladescu/ESP32-Bit-Pirate-Dock)

🔧 **[A docking station for the ESP32 S3 DevKit](https://github.com/AndreiVladescu/ESP32-Bit-Pirate-Dock) designed to work with original Bus Pirate adapters.**
It allows you to plug and use the original [Bus Pirate](https://buspirate.com/) ecosystem of adapters and accessories.

[![The ESP32 Bit Pirate dock board](https://assets.kitploit.com/production/public/readmes/8029/08bf8c1af2fe4c238ab5d851de17c9a2ff78e44f7696632b8e507654899d5356.jpg)](https://www.pcbway.com/project/shareproject/ESP32_Bit_Pirate_Dock_ca02ded7.html)

[**Get the ESP32 Bit Pirate Dock on PCBWay.**](https://www.pcbway.com/project/shareproject/ESP32_Bit_Pirate_Dock_ca02ded7.html)

[![PCBWay Logo](https://assets.kitploit.com/production/public/readmes/8029/a8ed5905610afc5a6923a230ce79c557face99e43d3de6669e3a7f1fbb92c006.png)](https://www.pcbway.com/project/shareproject/ESP32_Bit_Pirate_Dock_ca02ded7.html)



## 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<br>- PC, tablets, mobiles<br>- Works over Wi-Fi<br>- No cables needed | Quick tests, demos, headless setups   |
| **Serial Interface** | - Faster performance<br>- Instant responsiveness<br>- Handles large data smoothly | Intensive sessions, frequent interactions |
| **Standalone** | - Only for the Cardputer<br>- On device keyboard<br>- On device screen | Portable sessions, Quick tests |


All interfaces share the same command structure and can be used interchangeably ([more details](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/00-Terminal)).

## Mobile Web Interface over WiFi
![An iPhone screenshot showing the Bit Pirate firmware web interface](https://assets.kitploit.com/production/public/readmes/8029/f6bbcca1824a2ec9c35b775293e4365b2ebbabf0ffc8c22926bf47774f416254.png)

## Standalone Mode for the Cardputer
![A Cardputer running the ESP32 Bit Pirate in standalone mode](https://assets.kitploit.com/production/public/readmes/8029/9710d9fde56066ca2227ac70da11a6b5a651401d03569a18e60f9ef717c07639.png)


## Contribute
See [How To Contribute](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Contribute) section, which outlines a **simple way to add a new board or a new command**.

## Visuals Assets

#### [![Small logo of the ESP32 Bit Pirate firmware](https://assets.kitploit.com/production/public/readmes/8029/d1b641263173d6c4e0553dcf2a4aca30bdc270f29126b6077c166f3e4f946c7c.png)](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Visual-Assets)

See [images, logo, presentations, photo, video, illustrations](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Visual-Assets). 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.
Download Tool