
Uma ferramenta de hacking de hardware com CLI baseada na web que fala todos os protocolos.
# ESP32 Bit Pirate
[](https://geo-tp.github.io/ESP32-Bit-Pirate/)
**ESP32 Bit Pirate** é um firmware de código aberto que transforma o seu dispositivo numa ferramenta de desenvolvimento e análise multi-protocolo, inspirada no lendário Bus Pirate.
Suporta sniffing, envio, scripting e interação com vários protocolos digitais (I2C, UART, 1-Wire, SPI, etc.) através de um terminal serial ou CLI baseada na web. Também comunica com protocolos de rádio como Bluetooth, Wi-Fi, Sub-GHz, LoRa e RFID.
O site oficial do projeto centraliza tudo: [ESP32 Bit Pirate Website](https://geo-tp.github.io/ESP32-Bit-Pirate/).
A partir daí pode [instalar o firmware](https://geo-tp.github.io/ESP32-Bit-Pirate/webflasher/), abrir as [ferramentas web](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/), seguir os [guias de hardware](https://geo-tp.github.io/ESP32-Bit-Pirate/hardware/), explorar [receitas](https://geo-tp.github.io/ESP32-Bit-Pirate/recipes/) e aceder à [documentação](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki).

[](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/)
## Funcionalidades
- Interface de linha de comandos (CLI) interativa via **USB Serial ou WiFi Web**.
- **Modos para:**
- [HiZ](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/01-HiZ) (predefinido)
- [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) (animações, definir LEDs)
- [I2S](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/16-I2S) (testar colunas, microfone, reproduzir som)
- [CAN](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/17-CAN) (sniff, enviar e receber frames)
- [SUBGHZ](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/19-SUBGHZ) (analisar, gravar, reproduzir)
- [RFID](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/20-RFID) (ler, escrever, clonar)
- [RF24](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/21-RF24) (scan, enviar, receber)
- [FM](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/22-FM) (analisar, transmitir)
- [CELL](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/23-CELL) (dump de cartão SIM, sms, chamada)
- [LORA](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/24-LORA) (sniff, payload, meshtatic)
- **Sniffers de protocolo** I2C, UART, SPI, 1Wire, 2wire, CAN, Wi-Fi, Bluetooth, SubGhz.
- **Deteção automática** de baudrate, comandos AT e várias ferramentas para UART.
- Manipulação de registos, **ferramentas de dump de EEPROM**, identificação de dispositivos para I2C.
- Leitura de todo o tipo de **EEPROM, Flash** e várias outras ferramentas para SPI.
- Scripting usando instruções **bytecode ao estilo Bus Pirate** ou **Python**.
- Suporte de infravermelhos com mais de **80 protocolos**.
- Gestão direta de I/O, **PWM, servo, estado dos GPIOs**.
- Analisar sinais e frequências de rádio **em todas as bandas**.
- Suporte para perto de **50 protocolos de LEDs endereçáveis**.
- **Assistente Pirate** para o ajudar com o firmware.
- **Dongle USB-Uart, programador SPI, analisador lógico, ESP-SDR** e mais.
- [**Ferramentas Web Serial**](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/) para usar USB Serial através de um navegador web.
## Dispositivos Suportados
Todas as placas listadas abaixo oferecem exatamente as mesmas funcionalidades do Bit Pirate, sem diferenças em funcionalidade ou estado de desenvolvimento. Algumas funcionalidades podem exigir hardware adicional.
| Dispositivo | | Descrição |
|-----------------------|------------------------------------------|---------------------------------------------------|
| **ESP32 S3 Dev Kit (N8, N8R2, N8R8, N16R8...)** |  | Mais de 20 GPIO disponíveis, 1 botão |
| **ESP32 S3 Zero / Super Mini** |  | 15 GPIO (pinos expostos), 1 botão |
| [**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 botão |
| **M5 Cardputer** |  | 2 GPIO (Grove), ecrã, teclado, microfone, coluna, IR TX, cartão SD, bateria, [modo autónomo](#modo-autónomo-para-o-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), ecrã, teclado, microfone, coluna, IR TX, cartão SD, IMU, bateria, [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), [modo autónomo](#modo-autónomo-para-o-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 (pinos expostos), 1 botão |
| [**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), ecrã, microfone, coluna, IR TX, IR RX, IMU, 3 botões, bateria |
| **LILYGO T-Display** |  | 13 GPIO (1 Qwicc), ecrã, 2 botões |
| **LILYGO T-Embed** |  | 9 GPIO (Grove, Header), ecrã, encoder, coluna, microfone, cartão SD |
| **LILYGO T-Embed CC1101** |  | 4 GPIO (2x Qwiic), ecrã, encoder, coluna, microfone, cartão SD, CC1101, PN532, IR TX, IR RX , bateria |
| **LILYGO T-Embed CC1101 Plus** |  | 4 GPIO (2x Qwiic), ecrã, encoder, coluna, microfone, cartão SD, CC1101, NRF24, PN532, IR TX, IR RX , bateria |
| **Heltec WiFi LoRa 32 V4** |  | 15 GPIO (Header), SX1262 LoRa, 2 botões, **ecrã não suportado** |
| **Heltec Vision Master T190** |  | 15 GPIO (Header, Qwiiic), ecrã, 2 botões, SX1262 LoRa |
| **Seeed Studio Xiao S3** |  | 9 GPIO (pinos expostos), 1 botão |
| **Waveshare ESP32-S3-GEEK** |  | 7 GPIO (header Dupont), ecrã, 1 botão, cartão SD |
| **Unexpected Maker ProS3**| [](https://www.adafruit.com/product/5401) | Mais de 20 GPIO disponíveis (Header, STEMMA QT), 1 botão|
- **Outras Placas Baseadas em ESP32-S3**
- Todas as placas baseadas no **ESP32-S3 podem ser suportadas**, desde que tenham pelo menos **4 MB de flash.**
- Pode **gravar o firmware do s3 dev-kit (8MB flash) ou supermini (4MB flash) em qualquer placa ESP32-S3.**
- Tenha em conta que o **mapeamento de pinos predefinido no firmware pode não corresponder** à sua placa específica.
## Começar
[](https://geo-tp.github.io/ESP32-Bit-Pirate/webflasher/)
1. 🔧 Gravar o firmware
- Use o [ESP32 Bit Pirate Web Flasher](https://geo-tp.github.io/ESP32-Bit-Pirate/webflasher/) para gravar o firmware diretamente a partir de um navegador web.
- Também pode gravá-lo no [M5Burner](https://docs.m5stack.com/en/download), na categoria StickS3, AtomS3, M5StampS3 ou Cardputer.
2. 🔌 Ligar via Serial ou Web
- Serial: qualquer aplicação de terminal, ou o [terminal Web Serial gratuito baseado em navegador](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/web-serial-terminal/) (ver [Ligar via Serial](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Serial))
- Web: configurar Wi-Fi e aceder à CLI via navegador (ver [Ligação Wi-Fi](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/00-Terminal))
3. 🧪 Usar comandos como:
```
mode
help
scan
sniff
...
```
## Wiki
[](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/)
📚 **[Visite a Wiki](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki)** para documentação detalhada sobre cada modo e comando.
Inclui:
- [Modo terminal](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/00-Terminal) - Sobre terminal serial e web.
- [Visão geral dos modos](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki) - Explore os modos suportados.
- [Configuração serial](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Serial) - Acesso serial via USB.
A wiki é o melhor lugar para aprender como tudo funciona.
## Scripting
[](https://github.com/geo-tp/ESP32-Bit-Pirate-Scripts/)
🛠️ [**Automatize interações com o ESP32 Bit Pirate**](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Python) usando **scripts Python via serial.**
Pode escrever e testar scripts diretamente no navegador com o [ESP32 Bit Pirate Python Lab](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/python-lab/).
**Incluindo:** Registo de dados num ficheiro, dump de eeprom e flash, interação com GPIOs, animação de LEDs...
## Expander
[](https://github.com/geo-tp/ESP32-Bus-Expander)
🔌 **[Expanda as capacidades do ESP32 Bit Pirate](https://github.com/geo-tp/ESP32-Bus-Expander)** com módulos de hardware adicionais.
O Expander adiciona suporte para **WiFi 5 GhZ, Zigbee** ou outros protocolos de rádio.
[](https://github.com/geo-tp/ESP32-Bus-Expander)
## Dock
[](https://github.com/AndreiVladescu/ESP32-Bit-Pirate-Dock)
🔧 **[Uma docking station para o ESP32 S3 DevKit](https://github.com/AndreiVladescu/ESP32-Bit-Pirate-Dock) concebida para funcionar com adaptadores Bus Pirate originais.**
Permite-lhe ligar e usar o ecossistema original de adaptadores e acessórios do [Bus Pirate](https://buspirate.com/).
[](https://www.pcbway.com/project/shareproject/ESP32_Bit_Pirate_Dock_ca02ded7.html)
[**Obtenha o ESP32 Bit Pirate Dock na 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)
## Interfaces de Linha de Comandos
O firmware ESP32 Bit Pirate fornece três modos de interface de linha de comandos (CLI):
| Interface | Vantagens | Ideal para... |
|------------------|-----------------------------------------------------------------------------|----------------------------------------|
| **Interface Web** | - Acessível a partir de qualquer navegador<br>- PC, tablets, telemóveis<br>- Funciona via Wi-Fi<br>- Sem necessidade de cabos | Testes rápidos, demos, configurações sem ecrã |
| **Interface Serial** | - Desempenho mais rápido<br>- Resposta instantânea<br>- Lida com grandes volumes de dados sem problemas | Sessões intensivas, interações frequentes |
| **Autónomo** | - Apenas para o Cardputer<br>- Teclado no dispositivo<br>- Ecrã no dispositivo | Sessões portáteis, testes rápidos |
Todas as interfaces partilham a mesma estrutura de comandos e podem ser usadas de forma intercambiável ([mais detalhes](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/00-Terminal)).
## Interface Web Móvel via WiFi

## Modo Autónomo para o Cardputer

## Contribuir
Consulte a secção [Como Contribuir](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Contribute), que descreve uma **forma simples de adicionar uma nova placa ou um novo comando**.
## Recursos Visuais
#### [](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Visual-Assets)
Consulte [imagens, logotipo, apresentações, fotos, vídeos, ilustrações](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Visual-Assets). Estes recursos visuais podem ser **usados livremente em publicações de blog, documentação, vídeos ou artigos** para ajudar a explicar e promover o firmware.
## Aviso
> ⚠️ **Aviso de Tensão**: Os dispositivos devem operar apenas a **3.3V** ou **5V**.
> - **Não** ligue periféricos que usem outros níveis de tensão — fazê-lo pode **danificar o seu ESP32**.
> ⚠️ **Aviso de Utilização**: Este firmware é fornecido apenas para **fins educativos, de diagnóstico e de testes de interoperabilidade**.
> - Não o utilize para interferir, sondar ou manipular dispositivos sem a devida autorização.
> - Evite quaisquer transmissões RF não autorizadas (por exemplo, sub-GHz) que possam violar regulamentos locais ou perturbar redes e comunicações.
> - Os autores não são responsáveis por qualquer uso indevido deste software ou hardware, incluindo consequências legais resultantes de acesso não autorizado ou emissão de sinais.
> - Mantenha-se sempre dentro dos limites das leis do seu país e das políticas de divulgação responsável.