NSLU2-Linux
view · edit · print · history
I2C SignalPCB Location
SCLConnected to pin 6 of the X1205 RTC
SDAConnected to pin 5 of the X1205 RTC

I2C is an inter IC communications bus which is widely used in embedded systems. The Intel IXP420 CPU uses its GPIO pins to emulate a 100KHz I²C master interface in software to connect to the Xicor X1205 real time clock chip. There has been an unconfirmed report that the Xicor X1205 RTC chip has been replaced with a ST Microelectronics M41T11 RTC chip. Other chips may be added to the bus by tapping the SCL & SDA lines from the RTC. The RTC is the small 8 pin SOIC near the 4 status LEDs.

An example that shows adding a connector for I²C expansion devices and includes test code that runs on OpenSlug is Ken Staton's NSLU2 I²C Interface page.

An example of possible addons would be temperature sensors, IO ports and ADCs.

Note that although most of the NSLU2's components run at 3.3V, the I²C bus pins (SDA/SCL) from the RTC chip can be safely connected to external 5V I²C devices as the I²C Bus is open-collector. The onboard I²C pull-ups (R144 & R145) to 3.3V bring the "high" level high enough for 5V devices to see it as a logical one (1). Note that the external devices should share their grounds for this to work.

Make sure that you do not connect the I²C bus pins to 5V as they are connected directly to the GPIO pins of the IXP420 and are not buffered. Anything higher than 3.3V will blow the driver in the IXP420 and there is no way to fix it. If you do manage to blow a pin then you will have to reuse one of the other GPIO pins like the disk LED lines. This will require soldering as you will need to remove the LED, the SMD resistor for the LED and add a suitable I²C pull up.

I2CChip.com has lots of good information on I²C (including pinouts of cables).

view · edit · print · history · Last edited by bluepup.
Based on work by TéJi, tman, Staton, Phil Endecott, VoodooZ, rwhitby, and ka6sox.
Originally by tman.
Page last modified on March 30, 2008, at 11:20 AM