{"repo":"geo-tp/ESP32-Bit-Pirate","free":true,"listed":false,"github":"https://github.com/geo-tp/ESP32-Bit-Pirate","clone":"git clone https://github.com/geo-tp/ESP32-Bit-Pirate.git","description":"A Hardware Hacking Tool with Web-Based CLI That Speaks Every Protocol ","language":"C++","stars":5492,"topics":["arduino","bluetooth","can-bus","debugging","eeprom","esp32","flipperzero","gpio","hardware-hacking","i2c","jtag","openocd","protocols","pwm","radio","rfid","spi","subghz","uart","wifi"],"license":"MIT","category":"dev_tool","readme_excerpt":"# ESP32 Bit Pirate\n\n[![Logo banner of the ESP32 Bit Pirate firmware](images/logo_protocols_banner_small.png)](https://geo-tp.github.io/ESP32-Bit-Pirate/)\n\n\n**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.\n\nIt 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.\n\nThe official project website centralizes everything: [ESP32 Bit Pirate Website](https://geo-tp.github.io/ESP32-Bit-Pirate/).\n\nFrom 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).\n\n![Demo showing the different mode of the ESP32 Bit Pirate firmware](images/bit_pirate_uart.gif)\n![Demo showing the LittleFS file system of the ESP32 Bit Pirate firmware](images/pirate_assistant.gif)\n\n## Features\n\n- Interactive command-line interface (CLI) via **USB Serial or WiFi Web**.\n- **Modes for:**\n   - [HiZ](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/01-HiZ) (default)\n   - [I2C](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/05-I2C) (scan, glitch, slave mode, dump, eeprom)\n   - [SPI](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/06-SPI) (eeprom, flash, sdcard, slave mode)\n   - [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)\n   - [1WIRE](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/02-1WIRE) (ibutton, eeprom)\n   - [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)\n   - [DIO](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/09-DIO) (Digital I/O, read, pullup, set, pwm)\n   - [Infrared](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/11-INFRARED) (send, record, universal remote)\n   - [USB](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/12-USB) (HID, flashrom, storage, usb-uart)\n   - [Bluetooth](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/13-BLUETOOTH) (BLE HID, scan, spoofing, sniffing)\n   - [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)\n   - [JTAG](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/15-JTAG) (scan, SWD, openOCD)\n   - [LED](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/10-LED) (animations, set LEDs)\n   - [I2S](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/16-I2S) (test speakers, mic, play sound)\n   - [CAN](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/17-CAN) (sniff, send and receive frames)\n   - [SUBGHZ](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/19-SUBGHZ) (analyze, record, replay)\n   - [RFID](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/20-RFID) (read, write, clone)\n   - [RF24](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/21-RF24) (scan, send, receive)\n   - [FM](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/22-FM) (analyze, broadcast)\n   - [CELL](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/23-CELL) (dump sim card, sms, call)\n   - [LORA](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/24-LORA) (sniff, payload, meshtatic)\n\n\n- **Protocol sniffers** I2C, UART, SPI, 1Wire, 2wire, CAN, Wi-Fi, Bluetooth, SubGhz.\n- Baudrate **auto-detection**, AT commands and various tools for UART.\n- Registers manipulation, **EEPROM dump tools**, identify devices for I2C.\n- Read all sort of **EEPROM, Flash** and various others tools for SPI.\n- Scripting using **Bus Pirate-style bytecode** instructions or **Python**.\n- Device-B-Gone command with more than **80 supported INFRARED protocols**.\n- Direct I/O management, **PWM, servo, GPIOs state**.\n- Analyze radio signals and frequencies **on every bands**.\n- Near than **50 addressable LEDs protocols** supported.\n- **Ethernet and WiFi** are supported to access networks.\n- Import and export data with the **LittleFS over HTTP.**\n- **Pirate assistant** to help you with the firmware.\n- **USB-Uart dongle, SPI programmer, logic analyzer** and more.\n- [**Web Serial tools**](https://geo-tp.github.io/ESP32-Bit-Pirate/web-tools/) to use USB Serial over a web browser.\n\n## Supported Devices\n\n\n| Device               |                                     | Description                       |\n|-----------------------|------------------------------------------|---------------------------------------------------|\n| **ESP32 S3 Dev Kit**  | ![Photo of the ESP32 S3 Dev Kit](/images/s3-devkit_s.jpg)     | More than 20 available GPIO, 1 button |\n| [**M5 AtomS3 Lite**](https://shop.m5stack.com/products/atoms3-lite-esp32s3-dev-kit?ref=pvosfmid)    | [![Photo of the M5 Atom S3 Lite](/images/atom_s.jpg)](https://shop.m5stack.com/products/atoms3-lite-esp32s3-dev-kit?ref=pvosfmid)            | 8 GPIO (Grove, Header), IR TX, 1 buttton                  |\n| **M5 Cardputer**      | ![Photo of the M5 Cardputer](/images/cardputer_s.png)            | 2 GPIO (Grove), screen, keyboard, mic, speaker, IR TX, SD card, battery, [standalone mode](#standalone-mode-for-the-cardputer)            |\n| [**M5 Cardputer ADV**](https://shop.m5stack.com/products/m5stack-cardputer-adv-version-esp32-s3?ref=pvosfmid)  | [![Photo of the M5 Cardputer ADV](/images/cardputer-adv_s.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, [standalone mode](#standalone-mode-for-the-cardputer)                  |\n| [**M5 StampS3**](https://shop.m5stack.com/products/m5stamps3a-with-2-54-header-pin?ref=pvosfmid)        | [![Photo of the M5 StampS3](/images/stamps3_s.jpg)](https://shop.m5stack.com/products/m5stamps3a-with-2-54-header-pin?ref=pvosfmid)             | 9 GPIO (exposed pins), 1 button                       |\n| [**M5 Stick S3**](https://shop.m5stack.com/products/m5sticks3-esp32s3-mini-iot-dev-kit?ref=pvosfmid) | [![Photo of the M5 Stick S3](/images/m5sticks3_s.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                 |\n| **LILYGO T-Display** | ![Photo of the T-Display-S3](/images/t_displays3_s.jpg) | 13 GPIO (1 Qwicc), screen, 2 buttons |\n| **LILYGO T-Embed**    | ![Photo of the LILYGO T-Embed](/images/tembed_s.jpg)          | 9 GPIO (Grove, Header), screen, encoder, speaker, mic, SD card                                         |\n| **LILYGO T-Embed CC1101** | ![Photo of the LILYGO T-Embed CC1101](/images/tembedcc1101_s.jpg) | 4 GPIO (2x Qwiic), screen, encoder, speaker, mic, SD Card, CC1101, PN532, IR TX, IR RX , battery                                 |\n| **LILYGO T-Embed CC1101 Plus** | ![Photo of the LILYGO T-Embed CC1101 Plus](/images/tembedcc1101_s.jpg) | 4 GPIO (2x Qwiic), screen, encoder, speaker, mic, SD Card, CC1101, NRF24, PN532, IR TX, IR RX , battery                                 |\n| **Heltec WiFi LoRa 32 V4** | ![Photo of the Heltec WiFi LoRa 32 V4](/images/heltec-lora-32-v4_s.png) | 15 GPIO (Header), SX1262 LoRa, 2 buttons, **screen not supported** |\n| **Heltec Vision Master T190** | ![Photo of the Heltec Vision Master T190](/images/heltec-t190_s.png) | 15 GPIO (Header, Qwiiic), screen, 2 buttons, SX1262 LoRa |\n| **Seeed Studio Xiao S3** | ![Photo of the Seeed Studio Xiao ESP32-S3](/images/xiaos3_s.jpg)        | 9 GPIO (exposed pins), 1 button |\n| **Waveshare ESP32-S3-GEEK** | ![Photo of the Waveshare ESP32-S3-GEEK](/images/waveshare-s3-geek_s.jpg) | 7 GPIO (Dupont header), screen, 1 button, SD card |\n\n- **Other ESP32-S3-based Boards**\n\n  - All boards based on the **ESP32-S3 can be supported**, provided they have at least **8 MB of flash.**\n\n  - You can **flash the s3 dev-kit firmware onto any ESP32-S3 board.**\n\n  - Keep in mind that the **default pin mapping in the firmware may not match** your specific board.\n\n## Getting Started\n\n[![Banner of the ESP32 Bit Pirate web flasher](images/flasher.jpg)](https://geo-tp.github.io/ESP32-Bit-Pirate/webflasher/)\n\n1. 🔧 Flash the firmware\n   - 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.\n   - You can also burn it on [M5Burner](https://docs.m5stack.com/en/download), in the StickS3, AtomS3, M5StampS3 or Cardputer category.\n\n2. 🔌 Connect via Serial or Web\n   - 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))\n   - 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))\n\n3. 🧪 Use commands like:\n   ```\n   mode\n   help\n   scan\n   sniff\n   ...\n    ```\n\n## Wiki\n\n[![Banner of the ESP32 Bit Pirate Wiki page](images/bus_pirate_wiki.png)](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/)\n\n📚 **[Visit the Wiki](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki)** for detailed documentation on every mode and command.\n\nIncludes:\n- [Terminal mode](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/00-Terminal) - About serial and web terminal.\n- [Mode overviews](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki) - Browse supported modes.\n- [Serial setup](https://github.com/geo-tp/ESP32-Bit-Pirate/wiki/99-Serial) - Serial access via USB.\n\nThe wiki is the best place to learn how everything works.\n\n## Scripting\n\n[![Banner of t","default_branch":"pioarduino","files":1149,"tree":[".github/workflows/cd.yml",".github/workflows/ci.yml",".gitignore","CONTRIBUTING.md","LICENSE","README.md","images/2wiresmartcard.gif","images/assets/capture_mobile1.png","images/assets/capture_serial_cli.png","images/assets/capture_web_cli.png","images/assets/capute_mobile2.png","images/assets/caputre_mobile3.png","images/assets/illustration1.png","images/assets/illustration10.png","images/assets/illustration4.png","images/assets/illustration8.png","images/assets/illustration9.png","images/assets/illustrations2.png","images/assets/illustrations3.png","images/assets/illustrations5.png","images/assets/illustrations6.png","images/assets/illustrations7.png","images/assets/logo_b.png","images/assets/logo_banner.png","images/assets/logo_banner_transparent.png","images/assets/logo_banner_transparent_gs.png","images/assets/logo_bp.png","images/assets/logo_protocols_banner.png","images/assets/logo_protocols_square.png","images/assets/logo_speaks_all_protocols.png","images/assets/logo_speaks_all_protocols_banner.png","images/assets/logo_speaks_all_protocols_gs.png","images/assets/logo_speaks_all_protocols_square.png","images/assets/logo_square.png","images/assets/logo_square_transparent.png","images/assets/logo_square_transparent_gs.png","images/assets/photo1.JPG","images/assets/photo2.jpg","images/assets/photo3.jpg","images/assets/photo4.JPG","images/assets/photo5.JPG","images/assets/photo6.jpg","images/assets/presentation_all_transparent.png","images/assets/presentation_cli.png","images/assets/presentation_features.png","images/assets/presentation_flasher_scripts_transparent.png","images/assets/presentation_mobile.png","images/assets/presentation_mobile2.png","images/assets/presentation_mobile_transparent.png","images/assets/presentation_serial_wifi_cli.png","images/assets/presentation_serial_wifi_cli_transparent.png","images/atom.jpg","images/atom_s.jpg","images/bit_pirate_dock_board.jpeg","images/bit_pirate_uart.gif","images/bt.gif","images/bus_pirate_dock.png","images/bus_pirate_exp.png","images/bus_pirate_firmware.png","images/bus_pirate_m5burner.jpg","images/bus_pirate_mobile.png","images/bus_pirate_scripts.png","images/bus_pirate_wiki.png","images/cardputer-adv.jpg","images/cardputer-adv_s.jpg","images/cardputer.jpg","images/cardputer_s.png","images/cardputer_with_c5.jpg","images/demo.gif","images/demo10.gif","images/demo11.gif","images/demo12.gif","images/demo13.gif","images/demo14.gif","images/demo15.gif","images/demo16.gif","images/demo2.gif","images/demo3.gif","images/demo4.gif","images/demo5.gif","images/demo6.gif","images/demo7.gif","images/demo8.gif","images/demo9.gif","images/dio.gif","images/flasher.jpg","images/help.gif","images/heltec-lora-32-v4_s.png","images/heltec-t190_s.png","images/i2c.gif","images/infrared.gif","images/littlefs.gif","images/logo_protocols_banner_small.png","images/logo_square_small.png","images/m5buspirate.jpg","images/m5buspirate_s.jpg","images/m5stick.jpg","images/m5stick_s.jpg","images/m5sticks3.jpg","images/m5sticks3_s.jpg","images/mobile.jpg","images/mobile_s.jpg","images/pcbway_logo.png","images/pirate_assistant.gif","images/presentation_mobile.png","images/rf24.gif","images/rfid.gif","images/s3-devkit.jpg","images/s3-devkit_s.jpg","images/spiflash.gif","images/stamps3.jpg","images/stamps3_s.jpg","images/standalonemode_s.png","images/subghz.gif","images/system.gif","images/t_displays3.jpg","images/t_displays3_s.jpg","images/tembed.jpg","images/tembed_s.jpg","images/tembedbuspirate.jpg","images/tembedbuspirate_s.jpg","images/tembedcc1101.jpg","images/tembedcc1101_s.jpg","images/waveshare-s3-geek_s.jpg","images/web_tools_demo.gif","images/xiaos3.jpg","images/xiaos3_s.jpg","lib/93cx6/93Cx6.c","lib/93cx6/93Cx6.h","lib/EEPROM_SPI_WE/.piopm","lib/EEPROM_SPI_WE/LICENSE","lib/EEPROM_SPI_WE/README.md","lib/EEPROM_SPI_WE/examples/EEPROM_SPI_WE_basic_read_write/EEPROM_SPI_WE_basic_read_write.ino","lib/EEPROM_SPI_WE/examples/EEPROM_SPI_WE_continuous_put/EEPROM_SPI_WE_continuous_put.ino","lib/EEPROM_SPI_WE/examples/EEPROM_SPI_WE_erase/EEPROM_SPI_WE_erase.ino","lib/EEPROM_SPI_WE/examples/EEPROM_SPI_WE_sleep_and_protect/EEPROM_SPI_WE_sleep_and_protect.ino","lib/EEPROM_SPI_WE/examples/EEPROM_SPI_WE_small_eeproms/EEPROM_SPI_WE_small_eeproms.ino","lib/EEPROM_SPI_WE/keywords.txt","lib/EEPROM_SPI_WE/library.properties","lib/EEPROM_SPI_WE/src/EEPROM_SPI_WE.cpp","lib/EEPROM_SPI_WE/src/EEPROM_SPI_WE.h","lib/IRremote/.github/ISSUE_TEMPLATE/bug_report.yml","lib/IRremote/.github/ISSUE_TEMPLATE/config.yml","lib/IRremote/.github/workflows/LibraryBuild.yml","lib/IRremote/.github/workflows/PlatformIoPublish.yml","lib/IRremote/.gitignore","lib/IRremote/.piopm","lib/IRremote/Contributing.md","lib/IRremote/Contributors.md","lib/IRremote/Doxyfile","lib/IRremote/LICENSE","lib/IRremote/README.md","lib/IRremote/changelog.md","lib/IRremote/examples/AllProtocolsOnLCD/ADCUtils.h","lib/IRremote/examples/AllProtocolsOnLCD/ADCUtils.hpp","lib/IRremote/examples/AllProtocolsOnLCD/AllProtocolsOnLCD.ino","lib/IRremote/examples/AllProtocolsOnLCD/LiquidCrystal.cpp","lib/IRremote/examples/AllProtocolsOnLCD/LiquidCrystal.h","lib/IRremote/examples/AllProtocolsOnLCD/LiquidCrystal_I2C.cpp","lib/IRremote/examples/AllProtocolsOnLCD/LiquidCrystal_I2C.h","lib/IRremote/examples/AllProtocolsOnLCD/PinDefinitionsAndMore.h","lib/IRremote/examples/ControlRelay/ControlRelay.ino","lib/IRremote/examples/ControlRelay/PinDefinitionsAndMore.h","lib/IRremote/examples/IRDispatcherDemo/DemoIRCommandMapping.h","lib/IRremote/examples/IRDispatcherDemo/IRCommandDispatcher.h","lib/IRremote/examples/IRDispatcherDemo/IRCommandDispatcher.hpp","lib/IRremote/examples/IRDispatcherDemo/IRDispatcherDemo.ino","lib/IRremote/examples/IRDispatcherDemo/PinDefinitionsAndMore.h","lib/IRremote/examples/IRremoteExtensionTest/IRremoteExtensionClass.cpp","lib/IRremote/examples/IRremoteExtensionTest/IRremoteExtensionClass.h","lib/IRremote/examples/IRremoteExtensionTest/IRremoteExtensionTest.ino","lib/IRremote/examples/IRremoteExtensionTest/PinDefinitionsAndMore.h","lib/IRremote/examples/IRremoteInfo/IRremoteInfo.ino","lib/IRremote/examples/MicroGirs/MicroGirs.ino","lib/IRremote/examples/MicroGirs/PinDefinitionsAndMore.h","lib/IRremote/examples/ReceiveAndSend/PinDefinitionsAndMore.h","lib/IRremote/examples/ReceiveAndSend/ReceiveAndSend.ino","lib/IRremote/examples/ReceiveAndSendDistanceWidth/PinDefinitionsAndMore.h","lib/IRremote/examples/ReceiveAndSendDistanceWidth/ReceiveAndSendDistanceWidth.ino","lib/IRremote/examples/ReceiveAndSendHob2Hood/PinDefinitionsAndMore.h","lib/IRremote/examples/ReceiveAndSendHob2Hood/ReceiveAndSendHob2Hood.ino","lib/IRremote/examples/ReceiveDemo/IRremote_SendDemo_ReceiveDemo.log","lib/IRremote/examples/ReceiveDemo/PinDefinitionsAndMore.h","lib/IRremote/examples/ReceiveDemo/ReceiveDemo.ino","lib/IRremote/examples/ReceiveDump/PinDefinitionsAndMore.h","lib/IRremote/examples/ReceiveDump/ReceiveDump.ino","lib/IRremote/examples/ReceiveDump/ReceiveDump.log","lib/IRremote/examples/ReceiveOneAndSendMultiple/PinDefinitionsAndMore.h","lib/IRremote/examples/ReceiveOneAndSendMultiple/ReceiveOneAndSendMultiple.ino","lib/IRremote/examples/ReceiverTimingAnalysis/ReceiverTimingAnalysis.ino","lib/IRremote/examples/SendAndReceive/PinDefinitionsAndMore.h","lib/IRremote/examples/SendAndReceive/SendAndReceive.ino","lib/IRremote/examples/SendAndReceive/SendAndReceive.log","lib/IRremote/examples/SendBoseWaveDemo/PinDefinitionsAndMore.h","lib/IRremote/examples/SendBoseWaveDemo/SendBoseWaveDemo.ino","lib/IRremote/examples/SendDemo/IRremote_SendDemo_ReceiveDemo.log","lib/IRremote/examples/SendDemo/PinDefinitionsAndMore.h","lib/IRremote/examples/SendDemo/SendDemo.ino","lib/IRremote/examples/SendLGAirConditionerDemo/PinDefinitionsAndMore.h","lib/IRremote/examples/SendLGAirConditionerDemo/Readme.md","lib/IRremote/examples/SendLGAirConditionerDemo/SendLGAirConditionerDemo.ino","lib/IRremote/examples/SendProntoDemo/PinDefinitionsAndMore.h","lib/IRremote/examples/SendProntoDemo/SendProntoDemo.ino","lib/IRremote/examples/SendRawDemo/PinDefinitionsAndMore.h","lib/IRremote/examples/SendRawDemo/SendRawDemo.ino","lib/IRremote/examples/SimpleReceiver/PinDefinitionsAndMore.h","lib/IRremote/examples/SimpleReceiver/SimpleReceiver.ino","lib/IRremote/examples/SimpleReceiverForHashCodes/PinDefinitionsAndMore.h","lib/IRremote/examples/SimpleReceiverForHashCodes/SimpleReceiverForHashCodes.ino","lib/IRremote/examples/SimpleReceiverWithCallback/PinDefinitionsAndMore.h","lib/IRremote/examples/SimpleReceiverWithCallback/SimpleReceiverWithCallback.ino","lib/IRremote/examples/SimpleSender/PinDefinitionsAndMore.h","lib/IRremote/examples/SimpleSender/SimpleSender.ino","lib/IRremote/examples/TinyReceiver/PinDefinitionsAndMore.h","lib/IRremote/examples/TinyReceiver/TinyReceiver.ino","lib/IRremote/examples/TinySender/PinDefinitionsAndMore.h","lib/IRremote/examples/TinySender/TinySender.ino","lib/IRremote/examples/UnitTest/PinDefinitionsAndMore.h","lib/IRremote/examples/UnitTest/UnitTest.ino","lib/IRremote/examples/UnitTest/UnitTest.log","lib/IRremote/examples/UnitTest/UnitTest_64bit.log","lib/IRremote/keywords.txt","lib/IRremote/library.json","lib/IRremote/library.properties","lib/IRremote/pictures/IR_UnitTest_delay.bmp","lib/IRremote/src/IRFeedbackLED.hpp","lib/IRremote/src/IRProtocol.h","lib/IRremote/src/IRProtocol.hpp","lib/IRremote/src/IRReceive.hpp","lib/IRremote/src/IRSend.hpp","lib/IRremote/src/IRVersion.h","lib/IRremote/src/IRremote.h","lib/IRremote/src/IRremote.hpp","lib/IRremote/src/IRremoteInt.h","lib/IRremote/src/LongUnion.h","lib/IRremote/src/TinyIR.h","lib/IRremote/src/TinyIRReceiver.hpp","lib/IRremote/src/TinyIRSender.hpp","lib/IRremote/src/ac_LG.h","lib/IRremote/src/ac_LG.hpp","lib/IRremote/src/digitalWriteFast.h","lib/IRremote/src/ir_BangOlufsen.hpp","lib/IRremote/src/ir_BoseWave.hpp","lib/IRremote/src/ir_Denon.hpp","lib/IRremote/src/ir_DistanceWidthProtocol.hpp","lib/IRremote/src/ir_FAST.hpp","lib/IRremote/src/ir_JVC.hpp","lib/IRremote/src/ir_Kaseikyo.hpp","lib/IRremote/src/ir_LG.hpp","lib/IRremote/src/ir_Lego.hpp","lib/IRremote/src/ir_MagiQuest.hpp","lib/IRremote/src/ir_NEC.hpp","lib/IRremote/src/ir_Others.hpp","lib/IRremote/src/ir_Pronto.hpp","lib/IRremote/src/ir_RC5_RC6.hpp","lib/IRremote/src/ir_Samsung.hpp","lib/IRremote/src/ir_Sony.hpp","lib/IRremote/src/ir_Template.hpp","lib/IRremote/src/private/IRTimer.hpp","lib/PN532/Adafruit_I2CDevice.cpp","lib/PN532/Adafruit_I2CDevice.h","lib/PN532/Adafruit_PN532.cpp","lib/PN532/Adafruit_PN532.h","lib/PN532/Adafruit_SPIDevice.cpp","lib/PN532/Adafruit_SPIDevice.h","lib/PN532/README.md","lib/PN532/examples/apduToBlackBerry/.esp32.test.skip","lib/PN532/examples/apduToBlackBerry/BlackBerry7/.classpath","lib/PN532/examples/apduToBlackBerry/BlackBerry7/.project","lib/PN532/examples/apduToBlackBerry/BlackBerry7/.settings/org.eclipse.jdt.core.prefs","lib/PN532/examples/apduToBlackBerry/BlackBerry7/BlackBerry_App_Descriptor.xml","lib/PN532/examples/apduToBlackBerry/BlackBerry7/build.xml","lib/PN532/examples/apduToBlackBerry/BlackBerry7/res/img/icon.png","lib/PN532/examples/apduToBlackBerry/BlackBerry7/src/mypackage/ColorMixer.java","lib/PN532/examples/apduToBlackBerry/BlackBerry7/src/mypackage/MyApp.java","lib/PN532/examples/apduToBlackBerry/BlackBerry7/src/mypackage/MyScreen.java","lib/PN532/examples/apduToBlackBerry/apduToBlackBerry.ino","lib/PN532/examples/felica_polling/felica_polling.ino","lib/PN532/examples/iso14443a_uid/iso14443a_uid.ino","lib/PN532/examples/iso14443as_target/iso14443as_target.ino","lib/PN532/examples/mifareclassic_formatndef/mifareclassic_formatndef.ino","lib/PN532/examples/mifareclassic_memdump/mifareclassic_memdump.ino","lib/PN532/examples/mifareclassic_ndeftoclassic/mifareclassic_ndeftoclassic.ino","lib/PN532/examples/mifareclassic_updatendef/mifareclassic_updatendef.ino","lib/PN532/examples/ntag2xx_erase/ntag2xx_erase.ino","lib/PN532/examples/ntag2xx_read/ntag2xx_read.ino","lib/PN532/examples/ntag2xx_updatendef/ntag2xx_updatendef.ino","lib/PN532/examples/readMifare/readMifare.ino","lib/PN532/examples/readMifareClassic/readMifareClassic.ino","lib/PN532/examples/readMifareClassicIrq/readMifareClassicIrq.ino","lib/PN532/library.properties","lib/PN532/license.txt","lib/RF24/CHANGELOG.md","lib/RF24/COMMON_ISSUES.md","lib/RF24/CONTRIBUTING.md","lib/RF24/LICENSE","lib/RF24/README.md","lib/RF24/RF24.cpp","lib/RF24/RF24.h","lib/RF24/RF24_config.h","lib/RF24/cspell.config.yaml","lib/RF24/docs/Doxyfile","lib/RF24/docs/README.md","lib/RF24/docs/arduino.md","lib/RF24/docs/attiny.md","lib/RF24/docs/atxmega.md","lib/RF24/docs/cross_compile.md","lib/RF24/docs/doxygen-custom.css","lib/RF24/docs/images/Logo large.png","lib/RF24/docs/images/favicon.ico","lib/RF24/docs/linux_install.md","lib/RF24/docs/main_page.md","lib/RF24/docs/migration.md","lib/RF24/docs/mraa.md","lib/RF24/docs/pico_sdk.md","lib/RF24/docs/portability.md","lib/RF24/docs/python_wrapper.md","lib/RF24/docs/rpi_general.md","lib/RF24/docs/using_cmake.md","lib/RF24/examples/.clang-format","lib/RF24/examples/AcknowledgementPayloads/AcknowledgementPayloads.ino","lib/RF24/examples/GettingStarted/GettingStarted.ino","lib/RF24/examples/InterruptConfigure/InterruptConfigure.ino","lib/RF24/examples/ManualAcknowledgements/ManualAcknowledgements.ino","lib/RF24/examples/MulticeiverDemo/MulticeiverDemo.ino","lib/RF24/examples/StreamingData/StreamingData.ino","lib/RF24/examples/encodeRadioDetails/encodeRadioDetails.ino","lib/RF24/examples/encodeRadioDetails/print_details.py","lib/RF24/examples/old_backups/GettingStarted_HandlingFailures/GettingStarted_HandlingFailures.ino","lib/RF24/examples/old_backups/TransferTimeouts/TransferTimeouts.ino","lib/RF24/examples/old_backups/pingpair_dyn/pingpair_dyn.ino","lib/RF24/examples/old_backups/pingpair_irq/pingpair_irq.ino","lib/RF24/examples/old_backups/pingpair_multi_dyn/pingpair_multi_dyn.ino","lib/RF24/examples/old_backups/pingpair_sleepy/pingpair_sleepy.ino","lib/RF24/examples/old_backups/recipes/led_remote/led_remote.ino","lib/RF24/examples/old_backups/recipes/nordic_fob/nordic_fob.ino","lib/RF24/examples/old_backups/recipes/pingpair_maple/main.cpp","lib/RF24/examples/old_backups/recipes/pingpair_maple/pingpair_maple.ino","lib/RF24/examples/old_backups/recipes/readme.md","lib/RF24/examples/rf24_ATTiny/rf24ping85/rf24ping85.ino","lib/RF24/examples/rf24_ATTiny/timingSearch3pin/timingSearch3pin.ino","lib/RF24/examples/scanner/scanner.ino","lib/RF24/examples/scannerGraphic/scannerGraphic.ino","lib/RF24/examples_uno_q/rf24_encoderadiodetails/README.md","lib/RF24/examples_uno_q/rf24_encoderadiodetails/app.yaml","lib/RF24/examples_uno_q/rf24_encoderadiodetails/python/main.py","lib/RF24/examples_uno_q/rf24_encoderadiodetails/sketch/sketch.ino","lib/RF24/examples_uno_q/rf24_encoderadiodetails/sketch/sketch.yaml","lib/RF24/images/ghetto_sheilding_1.png","lib/RF24/images/ghetto_sheilding_2.png","lib/RF24/images/pinout.jpg","lib/RF24/library.json","lib/RF24/library.properties","lib/RF24/nRF24L01.h","lib/RF24/nurfile","lib/RF24/printf.h","lib/RF24/utility/ATTiny/RF24_arch_config.h","lib/RF24/utility/Teensy/RF24_arch_config.h","lib/RF24/utility/Template/RF24_arch_config.h","lib/RF24/utility/Template/compatibility.h","lib/RF24/utility/Template/gpio.h","lib/RF24/utility/Template/includes.h","lib/RF24/utility/Template/spi.h","lib/RF24/utility/pigpio/RF24_arch_config.h","lib/RF24/utility/pigpio/compatibility.cpp","lib/RF24/utility/pigpio/compatibility.h","lib/RF24/utility/pigpio/gpio.cpp","lib/RF24/utility/pigpio/gpio.h","lib/RF24/utility/pigpio/includes.h","lib/RF24/utility/pigpio/interrupt.cpp","lib/RF24/utility/pigpio/interrupt.h","lib/RF24/utility/pigpio/spi.cpp","lib/RF24/utility/pigpio/spi.h","lib/SX126x-Arduino/CHANGELOG.md","lib/SX126x-Arduino/CHANNELS.MD","lib/SX126x-Arduino/DATARATE.MD","lib/SX126x-Arduino/Doxyfile","lib/SX126x-Arduino/LICENSE","lib/SX126x-Arduino/MAX_PACKET_SIZE.md","lib/SX126x-Arduino/README.md","lib/SX126x-Arduino/README_V2.md","lib/SX126x-Arduino/examples/DeepSleep-nRF52/.esp32.test.skip","lib/SX126x-Arduino/examples/DeepSleep-nRF52/.esp8266.test.skip","lib/SX126x-Arduino/examples/DeepSleep-nRF52/DeepSleep-nRF52.ino","lib/SX126x-Arduino/examples/DeepSleep-nRF52/lora_handler.cpp","lib/SX126x-Arduino/examples/DeepSleep-nRF52/main.h","lib/SX126x-Arduino/examples/DeepSleep-nRF52Pio/.gitignore","lib/SX126x-Arduino/examples/DeepSleep-nRF52Pio/README.md","lib/SX126x-Arduino/examples/DeepSleep-nRF52Pio/platformio.ini","lib/SX126x-Arduino/examples/DeepSleep-nRF52Pio/src/.esp32.test.skip","lib/SX126x-Arduino/examples/DeepSleep-nRF52Pio/src/.esp8266.test.skip","lib/SX126x-Arduino/examples/DeepSleep-nRF52Pio/src/lora_handler.cpp","lib/SX126x-Arduino/examples/DeepSleep-nRF52Pio/src/main.cpp","lib/SX126x-Arduino/examples/DeepSleep-nRF52Pio/src/main.h","lib/SX126x-Arduino/examples/DeepSleep/.esp8266.test.skip","lib/SX126x-Arduino/examples/DeepSleep/.nrf52832.test.skip","lib/SX126x-Arduino/examples/DeepSleep/.nrf52840.test.skip","lib/SX126x-Arduino/examples/DeepSleep/DeepSleep.ino","lib/SX126x-Arduino/examples/DeepSleep/README.md","lib/SX126x-Arduino/examples/DeepSleepPio/.gitignore"],"storefront":"/r/geo-tp","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/geo-tp/ESP32-Bit-Pirate/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}