Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

If I have an unkown device which talk I2C or SPI how can I reverse engineer the protocol. Basically I am looking for something similar as snoop or tcpdump.

For software Mac is preferred but can also run PC under parallels.

share|improve this question
up vote 11 down vote accepted

I think that you have to consider using the Bus Pirate, an open hardware project that costs just 30 dollars including worldwide shipping.

It works with a GUI for Mac OSX and Windows.

share|improve this answer
Nice, that looks like it should be good. But why no Linux GUI the things written using Qt4! – Amos Nov 11 '09 at 22:09

Just about any of the modern USB-based logic analyzers also have protocol analyzers for common serial protocols like RS-232, SPI, & I2C. I know of none that have shipping Mac OS X drivers. However, the Saleae Logic logic analyzer has been getting good press and they promise some cross-platform drivers in the future.

I have an Intronix LogicPort USB analyzer and it's okay. I run it out of either a VMWare WinXP VM on my Mac or on an old throw-away laptop running WinXP. If you're a Mac user doing hardware hacking, I highly recommend getting VMWare or similar so you can run the occasional bit of Windows-only software.

share|improve this answer

First off you need something to capture the signals. The standard way of doing this is with a Logic Analyzer. I've collected a list of PC-based logic analyzers, basically how they work is they capture the signal data and transfer it for display and processing on your PC. Most of them include software for decoding SPI and I2C, showing you what bytes were sent and received by the devices.

share|improve this answer
Forgot to mention I run Mac. Edited the question accordingly. – tuupola Nov 11 '09 at 19:49
By 'PC' I mean all PC's, not just Windows-running PC's (since Apple seems to think their personal computers are not also PC's). Some of them in my list have mac software...but that's not something specifically I looked for, so it's not in the chart, sorry. – davr Nov 11 '09 at 19:57

The OpenBench Logic Sniffer is open source hardware and retails for around $30-$40

It supports the Sump client that runs under Java and it has I2C & SPI protocol analyzer plugins. I run it under OS X & Linux



share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.