Wie entwerfe und debugge ich ein benutzerdefiniertes I2C-Master-Slave-System?

Wie gehe ich vor, wenn ich ein benutzerdefiniertes I2C-Master-Slave-System benötige? Welche Gestaltungskriterien sind anzuwenden? Mit welchen Debugging-Tools können Probleme behoben