ESP32 Bus Pirate 0.5 – A hardware hacking tool that speaks every protocol (github.com)

164 points by geo-tp ↗ HN
ESP32 Bus Pirate is an open-source firmware that turns your device into a multi-protocol hacker's 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.

Modes for:

- HiZ (default) - I2C (scan, glitch, slave mode, dump) - SPI (flash, sdcard, slave mode) - UART / Half-Duplex UART (bridge, read, write) - 1-WIRE (ibutton, temp sensor) - 2WIRE (smartcard) / 3WIRE (eeprom) - DIO (Digital I/O, read, pullup, set) - Infrared (device-b-gone, send and receive) - USB (HID, mouse, keyboard, gamepad, storage) - Bluetooth (BLE HID, scan, spoofing, sniffing) - Wi-Fi (scan, AP, connect, sniff, deauth) - JTAG (scan pinout, SWD) - LED control (animations, set LEDs) - I2S - CAN

https://github.com/geo-tp/ESP32-Bus-Pirate

8 comments

[ 14.6 ms ] story [ 38.4 ms ] thread
(comment deleted)
bought a t embed cc1101 and stickc2 plus boards to try out your project, arrives in a couple days!
Hm, maybe this will finally let me network my IR-controlled AC units. There are a bunch of ESP/IR projects, but for some reason I haven't gotten them to work (pretty sure it's a problem with my hand-assembled hardware, in fairness)
I recently converted all of my (5 in 3 buildings) mini splits on my property to be controlled by Home Assistant. It took some research but all I ultimately needed was:

https://cloudfree.shop/product/ductless-hvac-wi-fi-module/

this USB ESP32 module which works out of the box on Midea-produced units (Carrier, Electrolux, Pioneer). I have a few units that are other generic brands which apparently are rebranded "Aux" brand units, so I re-flashed the ESP32 board above to work with Aux units by doing `brew install esphome` and then `esphome run auxminisplit.yaml --device /dev/tty.usbserial-210` where auxminisplit.yaml is https://gist.github.com/jasongill/35a13e458b6d109ca2bbefeab4...

That worked perfectly for me and should cover like 90% of all minisplits (Midea and Aux make a ton of brands units), let me know if that works for you.

> (pretty sure it's a problem with my hand-assembled hardware, in fairness)

Certainly could be the case. I've spent more time than I want to admit chasing down what was ultimately a loose wire.

For what it's worth, you can get a cheap ESP32 module and basic IR sensor modules for a few bucks on amazon [0]. As long as you have a basic USB <-> TLL/Serial adapter, you should be able to install ESPHome on that. The module that's on that particular board does not have a ton of room so keep the ESPHome config simple and to the point.

It's a few dozen lines of yaml total to get a basic IR signal decode/dump tool: [1]

[0]: https://www.amazon.com/HiLetgo-Infrared-Transmitter-Receiver...

[1]: https://esphome.io/guides/setting_up_rmt_devices#remote-sett...

Is it a derivative of the original Bus Pirate in some way, or just reusing the name?
Too bad ir doesn't do CAN-bus, either using ESP32's integrated TWAI controller and a hardware interface with a transciever or a MCP2515 controller. The M5 has a CAN-bus transciever¹. Thay way it would be really useful on cars and more recent e-bikes.

1. https://docs.m5stack.com/en/unit/can