I2C Sniffing

The official PYBD running MicroPython, and its accessories.
Target audience: Users with a PYBD
Post Reply
User avatar
Posts: 452
Joined: Sat Jan 07, 2017 1:52 am
Location: Singapore / Cornwall

I2C Sniffing

Post by devnull » Mon Sep 16, 2019 12:23 pm

I have been using BusPirate for several years for I2C sniffing, however the firmware has not been officially updated for many years, although there is a community firmware which I am using.

It is temperamental when used with python and the pyBusPirateLite libraries, and I am unable to get consistent reads from sources where the data is not even changing.

I have now converted all of the code that I wrote to access a needed slave device (which is no longer manufactured), and the only thing that I have not been able to convert is the sniffing function that busPirate has.

Is this something that could be done using either the software or hardware I2C ?

User avatar
Posts: 1668
Joined: Tue Aug 08, 2017 1:57 am
Location: Sydney, Australia

Re: I2C Sniffing

Post by jimmo » Mon Sep 16, 2019 12:39 pm

I'm not sure I understand your question sorry... Are you re-implementing the bus pirate's functionality using a PYBD?

I have a bus pirate, I love the idea but every time I used it I ended up frustrated. Almost all the things I used it for are better done with an actual logic analyser. I now have a DSLogic Plus which I use with Sigrok for protocol decoding. It's fantastic. See this review from https://www.youtube.com/watch?v=xZ5wKYnCNcs (that channel is really great btw).

The current Python APIs to either the hardware or software I2C implementations won't support this use case. But you could absolutely implement an I2C sniffer in software (probably even in Python).

Post Reply