Hallo Finor,

man kann im Prinzip jeden freien IO-Pin für die SDA- und SCL-Signale verwenden. Allerdings musst Du Dich dann um die Umsetzung des I2C-Protokolls selbst kümmern. Es ist m.E. besser, wenn Du einen Controller verwendest, der I2C (TWI) hardwareseitig unterstützt. Dies macht dann zwar immer noch Programmieraufwand, aber der Controller hat dann die Chance, während der Datenübertragung andere Dinge tun zu können, z.B. Timer auszuwerten.

Die Pullups sind Pflicht, weil Teil der Spezifikation.

Habe neulich mit einem DS1621 (Temperatursensor) gespielt. Hatte dafür auch schon ein Assembler-Programm gefunden, das ohne Hardwareunterstützung auskommt. Habe leider die Quelle nicht zur Hand, aber im Bereich mikrocontroller.net sollte sich was finden lassen.

Gruß, Achim.