I2C is a great way to connect multiple devices for simple networking communication. Of course, because I2C is not encrypted, others can easily read the info by using an I2C sniffer.
If you want to make such an I2C sniffer, there’s a great guide with source code for Arduino but come to think of it, I can’t really think of any uses for this right now(I know it will hit me after I write this blog post) but it can help you learn more about Arduino and I2C. (
You can adjust the capture window to suit your needs, though bear in mind that the ATMega328 only has 2k of RAM, so values approaching 2000 may not work so well. A value of 250 is long enough to catch one byte sent over I2C at the 100 kbit/s standard rate. The sampled data is good enough to show you the sequence of events.
