ESP32 Bus Pirate 0.5 – A hardware hacking tool that speaks every protocol

110 geo-tp 23 8/9/2025, 2:56:16 PM github.com ↗
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

Comments (23)

myself248 · 5h ago
Is it a derivative of the original Bus Pirate in some way, or just reusing the name?
geo-tp · 5h ago
Both in a way. Bus Pirate, both the hardware and the software, is completely open source. It's not the same version, things are different, but it's largely inspired by it.

However, the entire implementation is new, it's not a copy

Brian_K_White · 3h ago
Then you should not use their name.
schoen · 3h ago
Maybe it could be called "Bus-caneer"?
geo-tp · 3h ago
Brian_K_White · 2h ago
Nothing there adresses the problem. No one should have to tell you why it's wrong to use someone elses (reconized earned) name, or how "prefixed by esp32" does not change anything. Do what you want but don't delude yourself that you're in the right.
yjftsjthsd-h · 7h ago
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)
baby_souffle · 28m ago
> (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...

jasongill · 3h ago
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.

lostlogin · 7h ago
What is it about AC that makes it impossible to control?

I live in New Zealand where we pretend that it’s never particularly cold or particularly hot. This might be a factor in how sloppy all the installs seem to be.

yjftsjthsd-h · 5h ago
> What is it about AC that makes it impossible to control?

Nothing; there is something about my AC and the badly hand-assembled ESP8266 and IR transmitter I made that doesn't work.

slug · 1h ago
I was able to record/playback fujitsu mini-split commands using a simple wemos d1 IR shield + wemos d1 mini (esp8266) a few years ago.

https://www.wemos.cc/en/latest/d1_mini_shield/ir.html

https://www.wemos.cc/en/latest/d1/d1_mini.html

geo-tp · 7h ago
The firmware supports about 83 IR protocols, but even with that, it's not mandatory that it works with all existing devices.
yjftsjthsd-h · 7h ago
If it can run at the right speed or frequency or whatever, I'm perfectly happy for it to work purely by recording and replaying signals that I give it with my remote.
geo-tp · 7h ago
https://github.com/probonopd/irdb

See here for a very large database of IR signals that works with the firmware.

roger_ · 7h ago
ESPHome is good for that.
nullc · 7h ago
It can be informative to drop an oscilloscope probe on the transmitter.

I recently found a remote that doesn't to the 30kHz modulation-- good luck to me controlling that with anything.

konraditurbe · 11h ago
bought a t embed cc1101 and stickc2 plus boards to try out your project, arrives in a couple days!
geo-tp · 8h ago
That's nice, give me some feedback what you thought once you've used it
jnurmine · 7h ago
No I3C though :)
geo-tp · 7h ago
Fork it and implement it then
4gotunameagain · 5h ago
Sass Pirate 0.5
geo-tp · 5h ago
It might have been poorly worded, English is not my native language, but there was nothing mean in my message. To put it more clearly, I meant: fork it and make a pull request to help me implement it.