Adjusting digital I/O voltage levels

I'm looking to use a few of the digital i/o pins to interface with an accelerometer (I2C and assorted pins) , however, the recommended voltage for the device is no higher than 3.6v (Ratings etc are on page 11 with maximum ratings on page 14 and I'm using this dev board). But on an Arduino Uno, the output pins are rated to 5V, I'm wondering if there is a way to set the digital line voltages in software or basically any way that doesn't require me sticking a PD across each output of the Arduino.

Ideally I'd power the accelerometer (Vdd and VddIO) off the 3.3V supply on the board and set the I2C and set the digital I/Os from the Uno to 3v. Any ideas?

Nope. Not unless you run the uC from 3.3V also. "PD" ?? Lots of level translator chip options out there. Most are surface mount. Many use TI's TXB0102, TXB0104 chips. http://www.ti.com/lit/ds/symlink/txb0102.pdf

One of the members here sells them even, out of Worcester, MA. Drawing a total blank on his website name tho.

('PD' potential divider, though I realise that wouldn't work so well for the I2C)

Thanks for the advice Running everything at a lower voltage sounds like it might be the easiest way of going about this, though I'll have a look at level translator chips before doing so. Thanks for the leads!

I2C lines can be run at 3v3 if you do two things:- 1) disable the internal pull up resistors, by hatching the libary or using one that allows you to turn them off. 2) put the external pull ups to 3v3.

Grumpy Mike,

Are you saying that if I can 1) disable the internal pullups on A04 and A05, and, 2) plus the Analog Ref Voltage input into the 3.3V, 3) connect, say 4.7K resistors between SDA and 3.3V, and Data Clock and 3.3V, That, for I2C, I can do WITHOUT those nasty SMD buggers (currently trying to design board with TI/Nsc Pxx9306, with my fat old fingers and old and abused eyes, it's a real challenge)??!!

Oh THANKYOU, GREAT ONE!! Sorry for the quasi-necro post, but I just found the parent topic.

CROSSROADS, The TXB's don't work very well for I2C. Do you have some trick that makes them servicable for I2C?

Good one to all, Splat