[HN Gopher] ESP32 Bus Pirate 0.5 - A hardware hacking tool that ...
___________________________________________________________________
ESP32 Bus Pirate 0.5 - A hardware hacking tool that speaks every
protocol
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
Author : geo-tp
Score : 147 points
Date : 2025-08-09 14:56 UTC (1 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| konraditurbe wrote:
| bought a t embed cc1101 and stickc2 plus boards to try out your
| project, arrives in a couple days!
| geo-tp wrote:
| That's nice, give me some feedback what you thought once you've
| used it
| yjftsjthsd-h wrote:
| 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)
| roger_ wrote:
| ESPHome is good for that.
| nullc wrote:
| 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.
| geo-tp wrote:
| The firmware supports about 83 IR protocols, but even with
| that, it's not mandatory that it works with all existing
| devices.
| yjftsjthsd-h wrote:
| 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 wrote:
| https://github.com/probonopd/irdb
|
| See here for a very large database of IR signals that works
| with the firmware.
| rramadass wrote:
| Have you looked into "USB IR Toy" (both versions) ? -
| http://dangerousprototypes.com/docs/USB_Infrared_Toy and
| http://dangerousprototypes.com/docs/USB_IR_Toy_v2
| lostlogin wrote:
| 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 wrote:
| > 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 wrote:
| 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
| jasongill wrote:
| 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.
| baby_souffle wrote:
| > (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...
| yjftsjthsd-h wrote:
| Thanks; $17 is much cheaper than the time it would take me to
| fix mine:) And limited space is fine, for my use case I just
| need to turn MQTT or HTTP POSTs into like three different
| signals.
| jnurmine wrote:
| No I3C though :)
| geo-tp wrote:
| Fork it and implement it then
| 4gotunameagain wrote:
| Sass Pirate 0.5
| geo-tp wrote:
| 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.
| jnurmine wrote:
| Don't worry, at least I didn't think it was mean or
| anything.
|
| The "joke" was that implementing bitbanged I3C on an
| ESP32 (!) sounds absurd. Like doing raytracing on C64.
| (Of course some crazy folks have done it though)
| myself248 wrote:
| Is it a derivative of the original Bus Pirate in some way, or
| just reusing the name?
| geo-tp wrote:
| 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 wrote:
| Then you should not use their name.
| schoen wrote:
| Maybe it could be called "Bus-caneer"?
| geo-tp wrote:
| See here: https://github.com/geo-tp/ESP32-Bus-
| Pirate/issues/7
| Brian_K_White wrote:
| 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.
| flowerthoughts wrote:
| Plus this assumes the reader knows the actual Bus Pirate
| doesn't use ESP32.
| Brian_K_White wrote:
| Not to mention, what if the original bus pirate
| developers wanted to support esp32? It's just wrong all
| around.
|
| Tomorrow I'm going to make one based on pi pico, and I
| want to sell them. But I have 2 problems:
|
| 1 I suck at embedded code and electronics design so my
| product barely works. It isn't reliable, accurate, or
| safe for the device under test.
|
| 2 there are already a ton of cheap mcu logic analyser
| projects and products...
|
| How can I get mine to be popular instantly despite those
| problems? I'll just use someone else's popular recognized
| and well-regarded name that they earned the hard way.
| I'll call it the "Flipper Bus Pirate". This is totally ok
| because "Flipper Bus Pirate" is not "Bus Pirate" and it's
| also not "Flipper Zero". I don't understand why you are
| yelling at me.
| 47282847 wrote:
| I generally agree, and also do in this particular case,
| but one could argue that bus pirate is so successful that
| it turned into a genericide (Kleenex, Hoover, Thermos,
| Zipper, ...).
| petre wrote:
| 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 transciever1. Thay way
| it would be really useful on cars and more recent e-bikes.
|
| 1. https://docs.m5stack.com/en/unit/can
| geo-tp wrote:
| already supported
___________________________________________________________________
(page generated 2025-08-10 23:01 UTC)