I2C "promiscuous/sniffing" mode?

Hi all - new user. I’ve reviewed the i2c docs and code a bit, and BP will generally work as a master. I want to snoop on the messaging between two existing i2c devices, specifically, an HDMI source and receiver. Can I do this with BP?

1 Like

If at all possible the logic analyzer options are the best bet. Pulseview/sigrok will decode signals for you. If you’re on Windows get the custom compile from our github.

1 Like

Just to follow up now that I’m at a computer - I recommend you use Pulseview with the Bus Pirate, and decode the I2C commands wit the built in protocol analyzers.

BTW, The link on that page for the windows executable gives a 404 error.

1 Like

Thank you so much! I’ll get it updated, the docs are really falling behind.

PulseView for windows patched for Bus pirate 5+

I had always assumed the BP5 would eventually get the same I2C sniffing functionality that the older 3.x version had, and that it just hadn’t been implemented yet – but this reply makes it seem like perhaps that’s not the case?

1 Like

I didn’t mean to imply that at all. At this moment, with a Bus Pirate 5, the best way to decode I2C is with the logic analyzer functionality.

If you look back at the BPv3.x I2C sniffer, it isn’t particularly strong. It is just a loop tracking the pins in a state machine. It couldn’t handle very high speed I2C busses. The RPxxxx can surpass that running the old code, and can probably do miraculous things with the PIO.

There is 16meg of firmware space to fill. There’s no reason to exclude any specific feature. It’s just a matter if I have had time to implement it or if someone contributes it.

2 Likes

@billms - just wanted to let you know I added an I2C sniffer available in the latest firmware.

2 Likes