I2C (TWI) Sniffer

danni's picture
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1



If problems on the I2C bus occur, it was needed to see all data transfer on it. The easiest way was using an AVR and send data over the UART.

But no ATmega can be used, because they can not listen only, not signal a start and not receive different addresses.
So only the Attiny with USI can be used.

Thus the sniffer use the ATtiny85.
The output was done as text (hex numbers) at 115200 baud with 255 byte FIFO.
A crystal of 14.7456MHz was used to match the baud rate.

Version 2 added with some improvements. The C source can work with up to 230400 baud, the assembler source up to 460800 baud.