
Uno strumento per l'hacking hardware con CLI basata sul web che parla ogni protocollo.
# ESP32 Bit Pirate
[](https://geo-tp.github.io/ESP32-Bit-Pirate/)
**ESP32 Bit Pirate** è un firmware open-source che trasforma il tuo dispositivo in uno strumento multi-protocollo di sviluppo e analisi, ispirato al leggendario Bus Pirate.
Supporta lo sniffing, l'invio, lo scripting e l'interazione con vari protocolli digitali (I2C, UART, 1-Wire, SPI, ecc.) tramite un terminale seriale o una CLI basata sul web. Comunica inoltre con protocolli radio come Bluetooth, Wi-Fi, Sub-GHz, LoRa e RFID.
Il sito ufficiale del progetto centralizza tutto: [ESP32 Bit Pirate Website](https://geo-tp.github.io/ESP32-Bit-Pirate/).
Da lì puoi [installare il firmware](https://geo-tp.github.io/ESP32-Bit-Pirate/webflasher/), aprire i [web tools](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/), seguire le [guide hardware](https://geo-tp.github.io/ESP32-Bit-Pirate/hardware/), esplorare le [ricette](https://geo-tp.github.io/ESP32-Bit-Pirate/recipes/) e accedere alla [documentazione](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki).

[](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/)
## Funzionalità
- Interfaccia a riga di comando (CLI) interattiva via **USB Serial o WiFi Web**.
- **Modalità per:**
- [HiZ](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/01-HiZ) (predefinita)
- [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) (animazioni, 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, invio e ricezione frame)
- [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)
- **Sniffer di protocollo** I2C, UART, SPI, 1Wire, 2wire, CAN, Wi-Fi, Bluetooth, SubGhz.
- **Rilevamento automatico del baudrate**, comandi AT e vari strumenti per UART.
- Manipolazione dei registri, **strumenti di dump EEPROM**, identificazione dei dispositivi per I2C.
- Lettura di ogni tipo di **EEPROM, Flash** e vari altri strumenti per SPI.
- Scripting tramite istruzioni **bytecode in stile Bus Pirate** o **Python**.
- Supporto infrarossi con più di **80 protocolli**.
- Gestione diretta I/O, **PWM, servo, stato GPIO**.
- Analisi di segnali e frequenze radio **su tutte le bande**.
- Supporto a quasi **50 protocolli di LED indirizzabili**.
- **Pirate assistant** per aiutarti con il firmware.
- **USB-Uart dongle, programmatore SPI, logic analyzer, ESP-SDR** e altro.
- [**Web Serial tools**](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/) per usare USB Serial tramite un browser web.
## Dispositivi supportati
Tutte le board elencate di seguito offrono esattamente le stesse funzionalità Bit Pirate, senza differenze in termini di funzionalità o stato di sviluppo. Alcune funzionalità potrebbero richiedere hardware aggiuntivo.
| Dispositivo | | Descrizione |
|-----------------------|------------------------------------------|---------------------------------------------------|
| **ESP32 S3 Dev Kit (N8, N8R2, N8R8, N16R8...)** |  | Più di 20 GPIO disponibili, 1 pulsante |
| **ESP32 S3 Zero / Super Mini** |  | 15 GPIO (pin esposti), 1 pulsante |
| [**M5 AtomS3 Lite**](https://shop.m5stack.com/products/atoms3-lite-esp32s3-dev-kit?ref=pvosfmid) | [](https://shop.m5stack.com/products/atoms3-lite-esp32s3-dev-kit?ref=pvosfmid) | 8 GPIO (Grove, Header), IR TX, 1 pulsante |
| **M5 Cardputer** |  | 2 GPIO (Grove), schermo, tastiera, mic, speaker, IR TX, scheda SD, batteria, [modalità standalone](#standalone-mode-for-the-cardputer) |
| [**M5 Cardputer ADV**](https://shop.m5stack.com/products/m5stack-cardputer-adv-version-esp32-s3?ref=pvosfmid) | [](https://shop.m5stack.com/products/m5stack-cardputer-adv-version-esp32-s3?ref=pvosfmid) | 12 GPIO (Grove, Header), schermo, tastiera, mic, speaker, IR TX, scheda SD, IMU, batteria, [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), [modalità standalone](#standalone-mode-for-the-cardputer) |
| [**M5 StampS3**](https://shop.m5stack.com/products/m5stamps3a-with-2-54-header-pin?ref=pvosfmid) | [](https://shop.m5stack.com/products/m5stamps3a-with-2-54-header-pin?ref=pvosfmid) | 9 GPIO (pin esposti), 1 pulsante |
| [**M5 Stick S3**](https://shop.m5stack.com/products/m5sticks3-esp32s3-mini-iot-dev-kit?ref=pvosfmid) | [](https://shop.m5stack.com/products/m5sticks3-esp32s3-mini-iot-dev-kit?ref=pvosfmid) | 13 GPIO (Grove, Header), schermo, mic, speaker, IR TX, IR RX, IMU, 3 pulsanti, batteria |
| **LILYGO T-Display** |  | 13 GPIO (1 Qwicc), schermo, 2 pulsanti |
| **LILYGO T-Embed** |  | 9 GPIO (Grove, Header), schermo, encoder, speaker, mic, scheda SD |
| **LILYGO T-Embed CC1101** |  | 4 GPIO (2x Qwiic), schermo, encoder, speaker, mic, scheda SD, CC1101, PN532, IR TX, IR RX , batteria |
| **LILYGO T-Embed CC1101 Plus** |  | 4 GPIO (2x Qwiic), schermo, encoder, speaker, mic, scheda SD, CC1101, NRF24, PN532, IR TX, IR RX , batteria |
| **Heltec WiFi LoRa 32 V4** |  | 15 GPIO (Header), SX1262 LoRa, 2 pulsanti, **schermo non supportato** |
| **Heltec Vision Master T190** |  | 15 GPIO (Header, Qwiiic), schermo, 2 pulsanti, SX1262 LoRa |
| **Seeed Studio Xiao S3** |  | 9 GPIO (pin esposti), 1 pulsante |
| **Waveshare ESP32-S3-GEEK** |  | 7 GPIO (header Dupont), schermo, 1 pulsante, scheda SD |
| **Unexpected Maker ProS3**| [](https://www.adafruit.com/product/5401) | Più di 20 GPIO disponibili (Header, STEMMA QT), 1 pulsante|
- **Altre board basate su ESP32-S3**
- Tutte le board basate su **ESP32-S3 possono essere supportate**, a condizione che abbiano almeno **4 MB di flash.**
- Puoi **flashare il firmware s3 dev-kit (8MB flash) o supermini (4MB flash) su qualsiasi board ESP32-S3.**
- Tieni presente che la **mappatura dei pin predefinita nel firmware potrebbe non corrispondere** alla tua board specifica.
## Per iniziare
[](https://geo-tp.github.io/ESP32-Bit-Pirate/webflasher/)
1. 🔧 Flasha il firmware
- Usa l'[ESP32 Bit Pirate Web Flasher](https://geo-tp.github.io/ESP32-Bit-Pirate/webflasher/) per masterizzare il firmware direttamente da un browser web.
- Puoi anche masterizzarlo su [M5Burner](https://docs.m5stack.com/en/download), nella categoria StickS3, AtomS3, M5StampS3 o Cardputer.
2. 🔌 Connettiti via Seriale o Web
- Seriale: qualsiasi app terminale, o il [terminale Web Serial gratuito basato su browser](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/web-serial-terminal/) (vedi [Connect via Serial](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Serial))
- Web: configura il Wi-Fi e accedi alla CLI tramite browser (vedi [Wi-Fi Connection](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/00-Terminal))
3. 🧪 Usa comandi come:
```
mode
help
scan
sniff
...
```
## Wiki
[](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/)
📚 **[Visita la Wiki](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki)** per la documentazione dettagliata su ogni modalità e comando.
Include:
- [Terminal mode](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/00-Terminal) - Informazioni sul terminale seriale e web.
- [Mode overviews](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki) - Sfoglia le modalità supportate.
- [Serial setup](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Serial) - Accesso seriale via USB.
La wiki è il posto migliore per imparare come funziona tutto.
## Scripting
[](https://github.com/geo-tp/ESP32-Bit-Pirate-Scripts/)
🛠️ [**Automatizza le interazioni con l'ESP32 Bit Pirate**](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Python) usando **script Python su seriale.**
Puoi scrivere e testare gli script direttamente nel browser con l'[ESP32 Bit Pirate Python Lab](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/python-lab/).
**Include:** registrazione dati su file, dump di eeprom e flash, interazione con GPIO, animazione LED...
## Expander
[](https://github.com/geo-tp/ESP32-Bus-Expander)
🔌 **[Espandi le capacità dell'ESP32 Bit Pirate](https://github.com/geo-tp/ESP32-Bus-Expander)** con moduli hardware aggiuntivi.
L'Expander aggiunge il supporto per **WiFi 5 GhZ, Zigbee** o altri protocolli radio.
[](https://github.com/geo-tp/ESP32-Bus-Expander)
## Dock
[](https://github.com/AndreiVladescu/ESP32-Bit-Pirate-Dock)
🔧 **[Una docking station per l'ESP32 S3 DevKit](https://github.com/AndreiVladescu/ESP32-Bit-Pirate-Dock) progettata per funzionare con gli adattatori originali del Bus Pirate.**
Ti permette di collegare e utilizzare l'ecosistema originale di adattatori e accessori del [Bus Pirate](https://buspirate.com/).
[](https://www.pcbway.com/project/shareproject/ESP32_Bit_Pirate_Dock_ca02ded7.html)
[**Ottieni l'ESP32 Bit Pirate Dock su PCBWay.**](https://www.pcbway.com/project/shareproject/ESP32_Bit_Pirate_Dock_ca02ded7.html)
[](https://www.pcbway.com/project/shareproject/ESP32_Bit_Pirate_Dock_ca02ded7.html)
## Interfacce a riga di comando
Il firmware ESP32 Bit Pirate fornisce tre modalità di interfaccia a riga di comando (CLI):
| Interfaccia | Vantaggi | Ideale per... |
|------------------|-----------------------------------------------------------------------------|----------------------------------------|
| **Web Interface** | - Accessibile da qualsiasi browser<br>- PC, tablet, cellulari<br>- Funziona su Wi-Fi<br>- Nessun cavo necessario | Test rapidi, demo, setup headless |
| **Serial Interface** | - Prestazioni più veloci<br>- Reattività istantanea<br>- Gestisce grandi quantità di dati senza problemi | Sessioni intensive, interazioni frequenti |
| **Standalone** | - Solo per il Cardputer<br>- Tastiera integrata nel dispositivo<br>- Schermo integrato nel dispositivo | Sessioni portatili, test rapidi |
Tutte le interfacce condividono la stessa struttura di comandi e possono essere usate in modo intercambiabile ([maggiori dettagli](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/00-Terminal)).
## Interfaccia Web Mobile su WiFi

## Modalità Standalone per il Cardputer

## Contribuire
Vedi la sezione [How To Contribute](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Contribute), che illustra un **modo semplice per aggiungere una nuova board o un nuovo comando**.
## Risorse visive
#### [](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Visual-Assets)
Vedi [immagini, logo, presentazioni, foto, video, illustrazioni](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Visual-Assets). Queste risorse visive possono essere **liberamente utilizzate in post di blog, documentazione, video o articoli** per aiutare a spiegare e promuovere il firmware.
## Avvertenza
> ⚠️ **Avvertenza sulla tensione**: I dispositivi devono funzionare solo a **3.3V** o **5V**.
> - **Non** collegare periferiche che utilizzano altri livelli di tensione — farlo potrebbe **danneggiare il tuo ESP32**.
> ⚠️ **Avvertenza sull'uso**: Questo firmware è fornito **solo a scopo didattico, diagnostico e di test di interoperabilità**.
> - Non usarlo per interferire con, sondare o manipolare dispositivi senza la dovuta autorizzazione.
> - Evita qualsiasi trasmissione RF non autorizzata (ad es. sub-GHz) che potrebbe violare le normative locali o disturbare reti e comunicazioni.
> - Gli autori non sono responsabili per qualsiasi uso improprio di questo software o hardware, incluse le conseguenze legali derivanti da accesso non autorizzato o emissione di segnali.
> - Rimani sempre entro i limiti delle leggi del tuo paese e delle politiche di divulgazione responsabile.