Probing the mini2440 I2C bus

Posted by Doug on Tue 15 September 2009

I'm fairly new to electronics and i've certainly never used I2C before so I built a simple circuit based on a DS1621 I2C thermometer as a test. I got this for a couple of pounds from the seller 'crodnet' on ebay.

I found an old 2.5" laptop drive connector which wasn't large enough to fit on CON5 so i chopped it up and put it on the camera interface. I wired up the SDA and SCL lines along with 3.3V and GND to the veroboard. I also soldered a couple of LEDs, one for the power light and the other wired up through a transistor with the base connected to the thermostat output on the DS1621. This pin can be programmed to go high at a particular temperature.

I then plugged it in and powered up the mini2440. Running i2cdetect showed a new device at 0x48. The other devices are the onboard EEPROM. Looking at the datasheet for the DS1621 the temperature can be read from the location 0xAA. I was able to observe the temperature in hex through i2cget. Converting the output 0x0016 to decimal gives 22.0 degrees. The sensor is pretty neat, it responds almost immediately to the presence of your finger.

Below are the I2C commands i used. I installed i2c tools using opkg.

root@mini2440:~# i2cdetect -l
i2c-0 i2c s3c2410-i2c I2C adapter

root@mini2440:~# i2cdetect s3c2410-i2c
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n] Y
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- --
50: UU UU UU UU -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

root@mini2440:~# watch --interval=1 i2cget -y s3c2410-i2c 0x48 0xAA w

Every 1.0s: i2cget -y s3c2410-i2c 0x48 0xAA w Tue Sep 15 23:31:25 2009
0x0016

Below is a picture of the device..it looks like a right mess but it works great!

DSC_0032

The next stage is compile the driver from the lmsensors package...

tags: mini2440