BMP085 - How to use 3.3V device on a 5V board...

Good evening,

I am building a "weather station", well... kind of, with my Arduino Duemilanove, and as barometer I am going to use a BMP085 sensor (on the Sparkfun breakout board). This sensor is I2C device, and only works at 3.3V. I read some topics about this sensor here on the forums, but if y problem is nearly the same, my question is different :stuck_out_tongue:

My question:
If a connect the 3V3 output of my board to the Vcc pin of the BMP, GND to GND and the 2 I2C pins to A4 and A5, after Sparkfun it will do the job. After me, it will not work, or if it works, maybe it's going to damage my sensor, because the BMP chip will not like the 5V on the I2C bus !

I think there is a solution to my problem, but I ask you because I am not sure this is a good solution (and I'm a noob ^^) :

I would connect the 3V3 output pin of my arduino on the AREF pin, so the analog PINs, and thus A4 and A5, would have max 3.3 (well... I'm not sure about it!)).
In my sketch, I would write : analogReference(EXTERNAL) before charging wire library. And may be I would need to add a filter between the 3V3 output and the AREF to cut noise.

You need to use an I2C libary that does not enable the pull up resistors. Then you need to have external 2K7 pull ups to 3V3. That is all, no filters.

Thank you.

And I still need to connect 3V3 to AREF or not ?

Onlyif ou wan to cover more range with the readings. There is no necessary to use a 3V3 referance.

Which library?, Please. I built a great interface but If I could I'd much rather save the board room.

Doc

This one

I found on the web, things like:

and

http://www.sparkfun.com/tutorials/65 .

What do you think about it?