Enumerating I2C addresses

I have a device purchased from eBay for which I unfortunately have no documentation, even after asking the vendor. The temptation of eBay I suppose. It's a combination RTC, thermometer and EEPROM, eBay page at http://www.ebay.com/itm/ws/eBayISAPI.dll?ViewItem&item=200907717114 with a close up photo at http://www.flickr.com/photos/emueyes/8742434765/in/photostream/lightbox/ I can't see anything that looks like an address printed on the board.

Without knowing the I2C addresse(s) I can't connect to the device. My question is, is there a way to enumerate devices on an I2C bus, setting an Arduino as master and possibly trying addresses sequentially, to hopefully elicit a response from devices on the bus?

Alternately, has anyone seen or used one of these?

Try Nick Gammon's I2C address discovery sketch.

http://www.gammon.com.au/forum/?id=10896 I think its on this page.

search for I2C scanner program. you hook up your device properly and run te scanner. the scanner will tell you the addresses of I2C devices on the bus.

According to the eBay page, the devices are as follows. All very common. I2C addresses are in the datasheets, except for DS18B20, which is not an I2C device.

DS1307 -- http://datasheets.maximintegrated.com/en/ds/DS1307.pdf AT24C128 -- http://www.atmel.com/Images/doc0670.pdf DS18B20 -- http://datasheets.maximintegrated.com/en/ds/DS1307.pdf

Thank you for such fast replies.

I found two devices with Nick Gammon's scanner, at 0x50 and 0x56. The device at 0x50 is most likely the EEPROM from what I can see about common addresses, which leaves 0x56 for the RTC and the other pins on the module for the DS18B20.

I'm guessing the best way to proceed is to treat one device, say the one at 0x56 as the RTC and see if it responds properly to commands.

Thanks again for such quick and accurate help.

I think the device is made by LC Technology so you could maybe contact them to get concise information.

It is indeed, their 'Triad' module. I've discovered a problem with it though, the two rows of pins are spaced slightly too far apart to fit onto a standard breadboard. I imagine two small breadboards side by side (as I'm doing) are needed. I've tried bending as far as I can (the board, that is), perhaps some rows of pin headers would help. http://www.lctech-inc.com/Hardware/Detail.aspx?id=9cf3ce60-3328-4eb2-a502-76a7b18c8e43