I've written a 'smart' I2C scanner program that can identify the devices it detects. It does this by querying the "Who_Am_I" registers of chips which support it and otherwise using the power on state of the registers. It currently detects 18 common I2C devices. This is useful for several situations, but for me in particular, it's useful for a specific project where I have been experimenting with different Accel/Gyro sensors and swap between 3 different ones. It's currently written for Arduino and uses the Wire library or my own bit-bang I2C support. Would anyone find this useful for RPI and does anyone have additional devices they would like to see detected?