geo-tp/ESP32-Bit-PiratePublic

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

AI summary: A hardware-focused penetration testing toolkit built specifically for the ESP32 microcontroller.

Stars
5.9K
+8 today
Forks
499
Watchers
66
Open issues
28
Open PRs
4
Contributors
~11
Commits
1.5K
Branches
4

C++MITCreated Jul 5, 2025Last push 5d agoLatest release v1.7+33 stars this week+257 this month

Quick answers

What is ESP32-Bit-Pirate?
A hardware-focused penetration testing toolkit built specifically for the ESP32 microcontroller.
What does ESP32-Bit-Pirate do?
ESP32-Bit-Pirate is an open-source firmware project that transforms an inexpensive ESP32 microcontroller into a highly versatile hardware hacking and protocol analysis tool. Inspired by the classic Bus Pirate, it supports sniffing, sending, and interacting with a vast array of digital and radio protocols including I2C, SPI, UART, CAN, Wi-Fi, and Bluetooth. The device is controlled via an interactive command-line interface accessible over a serial connection or a built-in web portal. It provides security researchers with a portable, scriptable Swiss Army knife for embedded systems debugging and physical penetration testing.
Who is ESP32-Bit-Pirate for?
Hardware hackers, embedded systems engineers, and cybersecurity professionals needing a portable, multi-protocol analysis tool. It is perfect for those investigating IoT security or developing custom electronics.
How do I get started with ESP32-Bit-Pirate?
Use the ESP32 Bit Pirate Web Flasher to burn the firmware directly from a web browser.
How popular is ESP32-Bit-Pirate on GitHub?
geo-tp/ESP32-Bit-Pirate has 5,932 stars and 499 forks on GitHub, and gained 33 stars in the last 7 days.
What license does ESP32-Bit-Pirate use?
geo-tp/ESP32-Bit-Pirate is released under the MIT license.

Star history

since Aug 1, 2026
02K4KAug 2026Aug 2026Sep 2026Oct 2026
5.9K stars as of Oct 2, 2026. Measured daily since Aug 1, 2026; GitHub no longer exposes earlier star timestamps.

Contribution activity

commits per day, last 52 weeks
SepOctNovDecJanFebMarAprMayJunJulAugSepMonWedFri2025-09-28: 5 commits2025-09-29: 8 commits2025-09-30: 0 commits2025-10-01: 1 commit2025-10-02: 0 commits2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 0 commits2025-10-12: 0 commits2025-10-13: 2 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 0 commits2025-10-17: 0 commits2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 1 commit2025-10-24: 1 commit2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 0 commits2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 0 commits2025-11-03: 0 commits2025-11-04: 0 commits2025-11-05: 0 commits2025-11-06: 0 commits2025-11-07: 0 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 0 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 0 commits2025-11-18: 0 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 0 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 0 commits2025-11-26: 0 commits2025-11-27: 0 commits2025-11-28: 0 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 0 commits2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 0 commits2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 0 commits2025-12-16: 0 commits2025-12-17: 0 commits2025-12-18: 0 commits2025-12-19: 0 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 0 commits2025-12-23: 0 commits2025-12-24: 4 commits2025-12-25: 0 commits2025-12-26: 0 commits2025-12-27: 0 commits2025-12-28: 5 commits2025-12-29: 1 commit2025-12-30: 1 commit2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 1 commit2026-01-04: 0 commits2026-01-05: 1 commit2026-01-06: 0 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 0 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 0 commits2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 1 commit2026-01-16: 1 commit2026-01-17: 0 commits2026-01-18: 0 commits2026-01-19: 6 commits2026-01-20: 17 commits2026-01-21: 0 commits2026-01-22: 5 commits2026-01-23: 15 commits2026-01-24: 2 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 5 commits2026-01-28: 9 commits2026-01-29: 4 commits2026-01-30: 8 commits2026-01-31: 10 commits2026-02-01: 5 commits2026-02-02: 0 commits2026-02-03: 13 commits2026-02-04: 24 commits2026-02-05: 3 commits2026-02-06: 9 commits2026-02-07: 10 commits2026-02-08: 12 commits2026-02-09: 6 commits2026-02-10: 6 commits2026-02-11: 14 commits2026-02-12: 10 commits2026-02-13: 2 commits2026-02-14: 0 commits2026-02-15: 8 commits2026-02-16: 13 commits2026-02-17: 4 commits2026-02-18: 17 commits2026-02-19: 8 commits2026-02-20: 7 commits2026-02-21: 3 commits2026-02-22: 17 commits2026-02-23: 12 commits2026-02-24: 7 commits2026-02-25: 8 commits2026-02-26: 15 commits2026-02-27: 3 commits2026-02-28: 14 commits2026-03-01: 7 commits2026-03-02: 9 commits2026-03-03: 8 commits2026-03-04: 8 commits2026-03-05: 2 commits2026-03-06: 7 commits2026-03-07: 0 commits2026-03-08: 11 commits2026-03-09: 3 commits2026-03-10: 4 commits2026-03-11: 7 commits2026-03-12: 8 commits2026-03-13: 0 commits2026-03-14: 1 commit2026-03-15: 4 commits2026-03-16: 0 commits2026-03-17: 3 commits2026-03-18: 0 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 1 commit2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 0 commits2026-03-25: 2 commits2026-03-26: 2 commits2026-03-27: 0 commits2026-03-28: 1 commit2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 3 commits2026-04-03: 1 commit2026-04-04: 2 commits2026-04-05: 1 commit2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 0 commits2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 1 commit2026-04-14: 0 commits2026-04-15: 0 commits2026-04-16: 0 commits2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 1 commit2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 0 commits2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 0 commits2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 7 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 2 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 3 commits2026-05-20: 0 commits2026-05-21: 0 commits2026-05-22: 0 commits2026-05-23: 11 commits2026-05-24: 1 commit2026-05-25: 0 commits2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 4 commits2026-05-29: 3 commits2026-05-30: 15 commits2026-05-31: 6 commits2026-06-01: 8 commits2026-06-02: 8 commits2026-06-03: 18 commits2026-06-04: 11 commits2026-06-05: 3 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 4 commits2026-06-09: 8 commits2026-06-10: 0 commits2026-06-11: 3 commits2026-06-12: 0 commits2026-06-13: 2 commits2026-06-14: 12 commits2026-06-15: 5 commits2026-06-16: 17 commits2026-06-17: 9 commits2026-06-18: 0 commits2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 4 commits2026-06-24: 1 commit2026-06-25: 0 commits2026-06-26: 0 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 0 commits2026-06-30: 2 commits2026-07-01: 0 commits2026-07-02: 2 commits2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 5 commits2026-07-11: 0 commits2026-07-12: 16 commits2026-07-13: 0 commits2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 12 commits2026-07-17: 20 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 0 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 1 commit2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 1 commit2026-08-02: 0 commits2026-08-03: 10 commits2026-08-04: 5 commits2026-08-05: 4 commits2026-08-06: 1 commit2026-08-07: 0 commits2026-08-08: 0 commits2026-08-09: 0 commits2026-08-10: 0 commits2026-08-11: 0 commits2026-08-12: 0 commits2026-08-13: 1 commit2026-08-14: 1 commit2026-08-15: 2 commits2026-08-16: 0 commits2026-08-17: 0 commits2026-08-18: 0 commits2026-08-19: 0 commits2026-08-20: 0 commits2026-08-21: 0 commits2026-08-22: 0 commits2026-08-23: 0 commits2026-08-24: 1 commit2026-08-25: 1 commit2026-08-26: 0 commits2026-08-27: 0 commits2026-08-28: 0 commits2026-08-29: 0 commits2026-08-30: 0 commits2026-08-31: 0 commits2026-09-01: 0 commits2026-09-02: 0 commits2026-09-03: 0 commits2026-09-04: 0 commits2026-09-05: 0 commits2026-09-06: 0 commits2026-09-07: 0 commits2026-09-08: 0 commits2026-09-09: 0 commits2026-09-10: 0 commits2026-09-11: 0 commits2026-09-12: 0 commits2026-09-13: 0 commits2026-09-14: 0 commits2026-09-15: 12 commits2026-09-16: 0 commits2026-09-17: 0 commits2026-09-18: 0 commits2026-09-19: 0 commits2026-09-20: 0 commits2026-09-21: 0 commits2026-09-22: 0 commits2026-09-23: 0 commits2026-09-24: 0 commits2026-09-25: 0 commits2026-09-26: 0 commits
723 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Very active

    723 commits in 52 weeks

  • Permissive license

    MIT

  • Continuous integration

    Automated checks passing

What ESP32-Bit-Pirate does

ESP32-Bit-Pirate is an open-source firmware project that transforms an inexpensive ESP32 microcontroller into a highly versatile hardware hacking and protocol analysis tool. Inspired by the classic Bus Pirate, it supports sniffing, sending, and interacting with a vast array of digital and radio protocols including I2C, SPI, UART, CAN, Wi-Fi, and Bluetooth. The device is controlled via an interactive command-line interface accessible over a serial connection or a built-in web portal. It provides security researchers with a portable, scriptable Swiss Army knife for embedded systems debugging and physical penetration testing.

Hardware hackers, embedded systems engineers, and cybersecurity professionals needing a portable, multi-protocol analysis tool. It is perfect for those investigating IoT security or developing custom electronics.

  • Multi-Protocol Support: Interacts natively with I2C, SPI, UART, 1-Wire, CAN, Wi-Fi, Bluetooth, RFID, and Sub-GHz radio protocols.
  • Integrated Sniffers: Features built-in protocol sniffers to capture and analyze data traffic across various hardware buses and wireless bands.
  • Dual Interfaces: Provides an interactive command-line interface accessible via standard USB Serial or wirelessly through a web browser.
  • Advanced Scripting: Automates complex hardware interactions using Bus Pirate-style bytecode instructions or Python scripts.
  • Embedded Tools: Includes deep utilities for EEPROM dumping, JTAG scanning, infrared remote spoofing, and SIM card analysis.

Where teams use it

Hardware Penetration Testing

Interfacing with exposed debug ports on IoT devices to dump firmware or manipulate memory during physical engagements.

Protocol Reverse Engineering

Sniffing unknown I2C or SPI communications between components on a proprietary circuit board to understand their data structures.

Wireless Security Auditing

Utilizing the built-in Wi-Fi and Bluetooth capabilities to scan for vulnerable devices and capture authentication handshakes.

Embedded Systems Debugging

Scripting automated test sequences to verify the behavior of newly designed hardware prototypes and sensors.

Getting started: Use the ESP32 Bit Pirate Web Flasher to burn the firmware directly from a web browser.

README

pioarduino branch

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

  • 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
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
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
Heltec WiFi LoRa 32 V4 Photo of the Heltec WiFi LoRa 32 V4 15 GPIO (Header), SX1262 LoRa, 2 buttons, screen not supported
Heltec Vision Master T190 Photo of the Heltec Vision Master T190 15 GPIO (Header, Qwiiic), screen, 2 buttons, SX1262 LoRa
Seeed Studio Xiao S3 Photo of the Seeed Studio Xiao ESP32-S3 9 GPIO (exposed pins), 1 button
Waveshare ESP32-S3-GEEK Photo of the Waveshare ESP32-S3-GEEK 7 GPIO (Dupont header), screen, 1 button, SD card
  • 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

Get the ESP32 Bit Pirate Dock on PCBWay.

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.
View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Discussions

all 8

Releases and announcements

17 total
  1. v1.7v1.7Aug 6, 2026944 downloads

    # Changelog ## WEBSITE 🔹 ESP32 Bit Pirate is evolving from a standalone firmware into a broader ecosystem built around the firmware, supported hardware and browser-based tools. 🔹 New Web Tools extend the project directly from the browser, making common debugging, programming and analysis workflows easier to access without installing dedicated software. https://geo-tp.github.io/ESP32-Bit-Pirate/ ## LORA 🔹 Added a new LoRa mode for SX1262 transceivers, with packet transmission, reception and RF analysis. `send`, `receive`, `rssi`, `scan`, `waterfall`, `cad` 🔹 Send and receive LoRa packets, monitor RSSI and scan frequency activity. `record` / `load` 🔹 Record LoRa packets to LittleFS and replay them later with their radio configuration. `meshtastic` 🔹 Added a dedicated Meshtastic analysis shell to send, receive and inspect Meshtastic packets. `config` 🔹 Configure SX1262 pins, frequency, bandwidth, spreading factor, coding rate, TX power, preamble, sync word and radio options. https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/24-LORA ## USB `BPIO2` 🔹 Added a BPIO2 USB adapter for GPIO, I2C and SPI control from a host computer. 🔹 Added se

  2. v1.6v1.6Jun 5, 20261.9K downloads

    # Changelog ## PIRATE ASSISTANT 🔹 Added the **Pirate Assistant** to the WebUI. <img width="600" alt="image" src="https://github.com/user-attachments/assets/1ffd178e-7b64-4435-9038-697086103cc2" /> https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Assistant ## TERMINAL MODE - WIFI HOTSPOT 🔹 The device can now create its own Wi-Fi hotspot. 🔹 Connect directly to the hotspot from a phone or computer to access the Web CLI without requiring an existing Wi-Fi network. https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/00-Terminal ## GENERAL `wizard` 🔹 has been reworked to reduce false-positive signal type detection. ## UART `sniff [raw]` - Thanks to **@fdufnews**. 🔹 Passively monitor UART activity without transmitting data. `scan` and `autobaud` 🔹 Reworked for more precise UART activity and baud-rate detection. ## I2C `trace <addr> [reg] [ms]` 🔹 Continuously monitor a specific register and display its changes. ## USB `adapters` 🔹 Added a dedicated USB adapter selection shell to transform your device into hardware USB adapters. <img width="450" height="237" alt="image" src="https://github.com/user-attachments/assets/99903

  3. v1.5v1.5Mar 12, 2026719 downloads

    # Changelog ## GENERAL `alias` 🔹 Create command shortcuts to simplify frequently used commands. `listen <pin>` 🔹 Convert digital pin activity into audio output for easier signal monitoring. `repeat <count> <cmd>` 🔹 Repeat a command or multiple commands automatically. ## UART 🔹 Rework of write/spam, can now prompt args if not given and send raw hex data. `raw` 🔹 Receive and display raw hexadecimal UART data. ## I2C `regs <addr> [len]` 🔹 Probe device registers and automatically attempt read/write operations to identify register behavior. ## DIO `pins` 🔹 Display the current state of all digital pins. ## USB `sysctrl [action]` 🔹 Execute hardware control actions through USB HID. ## WIFI `flood [channel]` 🔹 Flood a specific Wi‑Fi channel with packets for testing and stress analysis. `waterfall` 🔹 Display channel activity in real time using a waterfall-style visualization. ## SUBGHZ 🔹 Major rework of record / replay / receive logic for improved reliability. `send <payload> [te]` 🔹 Send a raw RF frame payload. `waterfall` 🔹 Display real‑time frequency peaks detected on the spectrum.

  4. v1.4v1.4Feb 12, 2026427 downloads

    # Changelog ## GENERAL `profile` 🔹 Save and load complete pin configuration profiles to quickly switch between hardware setups. `hex [number]` 🔹 Convert values between decimal, hexadecimal, and binary formats. `wizard <pin>` 🔹 Advanced pin activity analyzer to monitor a pin and detect the signal type (Data, PWM, Noise...). ## UART `scan` (behavior change) 🔹 Monitor UART lines to detect activity on a group of pins and identify active UART lines `autobaud` 🔹 Automatically detect the baud rate on the RX line by analyzing signal timing `emulator` 🔹 Emulate a UART peripheral device (GPS, shell, bootloader) to test communication with external hardware. `trigger [pattern]` 🔹 Automatically send a predefined response when a specific pattern is detected on the UART stream. ## I2C `discovery` 🔹 Perform extended I2C device discovery and provide detailed reporting on detected addresses. `health <addr>` 🔹 Run timing and stability diagnostics on a specific I2C device to evaluate communication reliability. ## DIO `pwm <pin> [frq] [duty%]` 🔹 Improved, can go to higher frequencies. `scan` 🔹 Scan a group of pins to detect

  5. v1.3v1.3Jan 24, 2026364 downloads

    # Changelog ## GENERAL - analogic `<pin>` 🔹 Analogic plotter on the ESP32 screen (thanks to @fdufnews) - man 🔹 Show firmware guide ## UART - swap 🔹 Swap RX and TX pins ## I2C - swap 🔹 Swap SDA and SCL pins - jam 🔹 Jam I2C bus with noise ## DIO - jam `<pin>` [min max] 🔹 Random high/low states ## INFRARED - record 🔹 Record IR signals to file on the LittleFS - jam 🔹 Send random IR signals to disrupt receiver ## NEW DEVICES - M5Stick S3 ![IMG_2554 Copy_b](https://github.com/user-attachments/assets/90bfcbfd-3a28-4ada-b315-6542814f8c3b) ## LINKS - Use the webflasher: https://geo-tp.github.io/ESP32-Bus-Pirate/webflasher/ - Collection of scripts: https://github.com/geo-tp/ESP32-Bus-Pirate-Scripts - Full guide: https://github.com/geo-tp/ESP32-Bus-Pirate/wiki

Code frequency

additions and deletions
+476.4K-476.4KWeek of 2025-08-24: +1,769 linesWeek of 2025-08-24: -234 linesWeek of 2025-08-31: +16,706 linesWeek of 2025-08-31: -259 linesWeek of 2025-09-07: +3,364 linesWeek of 2025-09-07: -745 linesWeek of 2025-09-14: +1,495 linesWeek of 2025-09-14: -434 linesWeek of 2025-09-21: +1,255 linesWeek of 2025-09-21: -349 linesWeek of 2025-09-28: +391 linesWeek of 2025-09-28: -159 linesWeek of 2025-10-05: +0 linesWeek of 2025-10-05: -0 linesWeek of 2025-10-12: +0 linesWeek of 2025-10-12: -0 linesWeek of 2025-10-19: +80 linesWeek of 2025-10-19: -55 linesWeek of 2025-10-26: +0 linesWeek of 2025-10-26: -0 linesWeek of 2025-11-02: +0 linesWeek of 2025-11-02: -0 linesWeek of 2025-11-09: +0 linesWeek of 2025-11-09: -0 linesWeek of 2025-11-16: +0 linesWeek of 2025-11-16: -0 linesWeek of 2025-11-23: +0 linesWeek of 2025-11-23: -0 linesWeek of 2025-11-30: +0 linesWeek of 2025-11-30: -0 linesWeek of 2025-12-07: +0 linesWeek of 2025-12-07: -0 linesWeek of 2025-12-14: +0 linesWeek of 2025-12-14: -0 linesWeek of 2025-12-21: +158 linesWeek of 2025-12-21: -19 linesWeek of 2025-12-28: +322 linesWeek of 2025-12-28: -100 linesWeek of 2026-01-04: +5 linesWeek of 2026-01-04: -54 linesWeek of 2026-01-11: +60 linesWeek of 2026-01-11: -8 linesWeek of 2026-01-18: +1,475 linesWeek of 2026-01-18: -201 linesWeek of 2026-01-25: +2,426 linesWeek of 2026-01-25: -725 linesWeek of 2026-02-01: +3,804 linesWeek of 2026-02-01: -476,388 linesWeek of 2026-02-08: +1,902 linesWeek of 2026-02-08: -471 linesWeek of 2026-02-15: +6,088 linesWeek of 2026-02-15: -187 linesWeek of 2026-02-22: +3,142 linesWeek of 2026-02-22: -1,447 linesWeek of 2026-03-01: +3,663 linesWeek of 2026-03-01: -2,277 linesWeek of 2026-03-08: +1,810 linesWeek of 2026-03-08: -723 linesWeek of 2026-03-15: +233 linesWeek of 2026-03-15: -122 linesWeek of 2026-03-22: +2,620 linesWeek of 2026-03-22: -294 linesWeek of 2026-03-29: +436 linesWeek of 2026-03-29: -258 linesWeek of 2026-04-05: +17 linesWeek of 2026-04-05: -16 linesWeek of 2026-04-12: +108 linesWeek of 2026-04-12: -87 linesWeek of 2026-04-19: +1 linesWeek of 2026-04-19: -5 linesWeek of 2026-04-26: +0 linesWeek of 2026-04-26: -0 linesWeek of 2026-05-03: +186 linesWeek of 2026-05-03: -197 linesWeek of 2026-05-10: +32 linesWeek of 2026-05-10: -1 linesWeek of 2026-05-17: +16,787 linesWeek of 2026-05-17: -226 linesWeek of 2026-05-24: +3,743 linesWeek of 2026-05-24: -138 linesWeek of 2026-05-31: +3,062 linesWeek of 2026-05-31: -530 linesWeek of 2026-06-07: +1,763 linesWeek of 2026-06-07: -238 linesWeek of 2026-06-14: +52,044 linesWeek of 2026-06-14: -2,099 linesWeek of 2026-06-21: +30 linesWeek of 2026-06-21: -48,590 linesWeek of 2026-06-28: +36 linesWeek of 2026-06-28: -19 linesWeek of 2026-07-05: +8,681 linesWeek of 2026-07-05: -6,185 linesWeek of 2026-07-12: +77,815 linesWeek of 2026-07-12: -2,379 linesWeek of 2026-07-19: +0 linesWeek of 2026-07-19: -0 linesWeek of 2026-07-26: +77 linesWeek of 2026-07-26: -20 linesWeek of 2026-08-02: +136 linesWeek of 2026-08-02: -62 linesWeek of 2026-08-09: +202 linesWeek of 2026-08-09: -235 linesWeek of 2026-08-16: +0 linesWeek of 2026-08-16: -0 linesAug 24, 2025Aug 16, 2026
+217.9K lines added, -546.5K removed over the last year.

Commits per week

last 52 weeks
760Week of 2025-09-28: 14 commitsWeek of 2025-10-05: 0 commitsWeek of 2025-10-12: 2 commitsWeek of 2025-10-19: 2 commitsWeek of 2025-10-26: 0 commitsWeek of 2025-11-02: 0 commitsWeek of 2025-11-09: 0 commitsWeek of 2025-11-16: 0 commitsWeek of 2025-11-23: 0 commitsWeek of 2025-11-30: 0 commitsWeek of 2025-12-07: 0 commitsWeek of 2025-12-14: 0 commitsWeek of 2025-12-21: 4 commitsWeek of 2025-12-28: 8 commitsWeek of 2026-01-04: 1 commitsWeek of 2026-01-11: 2 commitsWeek of 2026-01-18: 45 commitsWeek of 2026-01-25: 36 commitsWeek of 2026-02-01: 64 commitsWeek of 2026-02-08: 50 commitsWeek of 2026-02-15: 60 commitsWeek of 2026-02-22: 76 commitsWeek of 2026-03-01: 41 commitsWeek of 2026-03-08: 34 commitsWeek of 2026-03-15: 8 commitsWeek of 2026-03-22: 5 commitsWeek of 2026-03-29: 6 commitsWeek of 2026-04-05: 1 commitsWeek of 2026-04-12: 1 commitsWeek of 2026-04-19: 1 commitsWeek of 2026-04-26: 0 commitsWeek of 2026-05-03: 7 commitsWeek of 2026-05-10: 2 commitsWeek of 2026-05-17: 14 commitsWeek of 2026-05-24: 23 commitsWeek of 2026-05-31: 54 commitsWeek of 2026-06-07: 17 commitsWeek of 2026-06-14: 43 commitsWeek of 2026-06-21: 5 commitsWeek of 2026-06-28: 4 commitsWeek of 2026-07-05: 5 commitsWeek of 2026-07-12: 48 commitsWeek of 2026-07-19: 0 commitsWeek of 2026-07-26: 2 commitsWeek of 2026-08-02: 20 commitsWeek of 2026-08-09: 4 commitsWeek of 2026-08-16: 0 commitsWeek of 2026-08-23: 2 commitsWeek of 2026-08-30: 0 commitsWeek of 2026-09-06: 0 commitsWeek of 2026-09-13: 12 commitsWeek of 2026-09-20: 0 commitsSep 28, 2025Sep 20, 2026
723 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 11 commitsSun 1:00 — 11 commitsSun 2:00 — 6 commitsSun 3:00 — 0 commitsSun 4:00 — 0 commitsSun 5:00 — 0 commitsSun 6:00 — 3 commitsSun 7:00 — 28 commitsSun 8:00 — 8 commitsSun 9:00 — 5 commitsSun 10:00 — 0 commitsSun 11:00 — 0 commitsSun 12:00 — 0 commitsSun 13:00 — 4 commitsSun 14:00 — 3 commitsSun 15:00 — 10 commitsSun 16:00 — 5 commitsSun 17:00 — 4 commitsSun 18:00 — 15 commitsSun 19:00 — 9 commitsSun 20:00 — 3 commitsSun 21:00 — 9 commitsSun 22:00 — 22 commitsSun 23:00 — 10 commitsMon 0:00 — 14 commitsMon 1:00 — 3 commitsMon 2:00 — 2 commitsMon 3:00 — 1 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 17 commitsMon 7:00 — 17 commitsMon 8:00 — 16 commitsMon 9:00 — 3 commitsMon 10:00 — 3 commitsMon 11:00 — 3 commitsMon 12:00 — 10 commitsMon 13:00 — 3 commitsMon 14:00 — 1 commitsMon 15:00 — 8 commitsMon 16:00 — 24 commitsMon 17:00 — 17 commitsMon 18:00 — 4 commitsMon 19:00 — 7 commitsMon 20:00 — 8 commitsMon 21:00 — 14 commitsMon 22:00 — 8 commitsMon 23:00 — 10 commitsTue 0:00 — 12 commitsTue 1:00 — 6 commitsTue 2:00 — 14 commitsTue 3:00 — 3 commitsTue 4:00 — 0 commitsTue 5:00 — 6 commitsTue 6:00 — 1 commitsTue 7:00 — 37 commitsTue 8:00 — 27 commitsTue 9:00 — 2 commitsTue 10:00 — 1 commitsTue 11:00 — 2 commitsTue 12:00 — 10 commitsTue 13:00 — 1 commitsTue 14:00 — 3 commitsTue 15:00 — 6 commitsTue 16:00 — 24 commitsTue 17:00 — 4 commitsTue 18:00 — 2 commitsTue 19:00 — 10 commitsTue 20:00 — 35 commitsTue 21:00 — 6 commitsTue 22:00 — 8 commitsTue 23:00 — 13 commitsWed 0:00 — 2 commitsWed 1:00 — 6 commitsWed 2:00 — 12 commitsWed 3:00 — 2 commitsWed 4:00 — 0 commitsWed 5:00 — 6 commitsWed 6:00 — 3 commitsWed 7:00 — 4 commitsWed 8:00 — 46 commitsWed 9:00 — 10 commitsWed 10:00 — 11 commitsWed 11:00 — 0 commitsWed 12:00 — 0 commitsWed 13:00 — 15 commitsWed 14:00 — 4 commitsWed 15:00 — 27 commitsWed 16:00 — 6 commitsWed 17:00 — 8 commitsWed 18:00 — 8 commitsWed 19:00 — 22 commitsWed 20:00 — 36 commitsWed 21:00 — 5 commitsWed 22:00 — 9 commitsWed 23:00 — 1 commitsThu 0:00 — 5 commitsThu 1:00 — 3 commitsThu 2:00 — 5 commitsThu 3:00 — 2 commitsThu 4:00 — 1 commitsThu 5:00 — 0 commitsThu 6:00 — 9 commitsThu 7:00 — 11 commitsThu 8:00 — 4 commitsThu 9:00 — 18 commitsThu 10:00 — 13 commitsThu 11:00 — 9 commitsThu 12:00 — 2 commitsThu 13:00 — 3 commitsThu 14:00 — 5 commitsThu 15:00 — 23 commitsThu 16:00 — 19 commitsThu 17:00 — 4 commitsThu 18:00 — 4 commitsThu 19:00 — 10 commitsThu 20:00 — 15 commitsThu 21:00 — 5 commitsThu 22:00 — 15 commitsThu 23:00 — 20 commitsFri 0:00 — 16 commitsFri 1:00 — 13 commitsFri 2:00 — 3 commitsFri 3:00 — 4 commitsFri 4:00 — 2 commitsFri 5:00 — 9 commitsFri 6:00 — 2 commitsFri 7:00 — 9 commitsFri 8:00 — 22 commitsFri 9:00 — 17 commitsFri 10:00 — 7 commitsFri 11:00 — 5 commitsFri 12:00 — 12 commitsFri 13:00 — 0 commitsFri 14:00 — 3 commitsFri 15:00 — 13 commitsFri 16:00 — 11 commitsFri 17:00 — 12 commitsFri 18:00 — 4 commitsFri 19:00 — 7 commitsFri 20:00 — 18 commitsFri 21:00 — 3 commitsFri 22:00 — 15 commitsFri 23:00 — 9 commitsSat 0:00 — 13 commitsSat 1:00 — 4 commitsSat 2:00 — 3 commitsSat 3:00 — 2 commitsSat 4:00 — 1 commitsSat 5:00 — 2 commitsSat 6:00 — 1 commitsSat 7:00 — 7 commitsSat 8:00 — 0 commitsSat 9:00 — 0 commitsSat 10:00 — 0 commitsSat 11:00 — 1 commitsSat 12:00 — 8 commitsSat 13:00 — 15 commitsSat 14:00 — 15 commitsSat 15:00 — 18 commitsSat 16:00 — 7 commitsSat 17:00 — 3 commitsSat 18:00 — 13 commitsSat 19:00 — 3 commitsSat 20:00 — 2 commitsSat 21:00 — 7 commitsSat 22:00 — 10 commitsSat 23:00 — 2 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits708 (91%)
Community commits68 (9%)

776 commits in total over the last year.

DateListRankStars gained
Aug 2, 2026daily#7+83
Aug 1, 2026daily#7+83
  • tensorflow/tensorflow

    An Open Source Machine Learning Framework for Everyone

    200.7K stars · C++

  • ggml-org/llama.cpp

    LLM inference in C/C++

    130.3K stars · C++

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

    96.4K stars · Rust

  • ocornut/imgui

    Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

    76.5K stars · C++

  • protocolbuffers/protobuf

    Protocol Buffers - Google's data interchange format

    72.1K stars · C++

  • LadybirdBrowser/ladybird

    Truly independent web browser

    66.4K stars · C++