Interfacing 3.3 Volt Logic sensors with CRIO

We have bought a sensor board that includes a 3 axis: Acceleration, Gyroscope, and Magnetometer. It is interfaced via the i2c bus using 3.3 volt logic. We have spent alot of time trying to use our logic level converter ic to translate the logic levels however nothing has worked. We are now trying to just run the 5 volt logic directly to the sensors and this is not working. Does anybody have any ideas of how we should best proceed?

Without having more details, the best I can suggest is that you go back to the logic level converter and do some more troubleshooting.

A few questions that will help us help you:

  • What IC are you using?
  • Does the conversion from 5V to 3.3V work if you just hook up a 5V signal and the appropriate power supply?
  • What about from 3.3V to 5V?
  • How fast is the I2C bus running, and can your chip handle it?

You’re going to need an oscilloscope if you don’t have one, and maybe a function generator. If you don’t have access to these, seek out some mentors from a local university or technology company that might.

This Sparkfun board might work, but unless you know what your current problem is, don’t expect to plug it in and have everything “just work”.

We are using the Sparkfun 3 sensor board found at the following

We soldered our logic bus analyzer a TXB0104 to a breakout board. We are 100% sure we have it wired correctly however we could never pass any single through it.

The bus is running at the default digital sidecar frequency which I believe is 400Khz?

We are thinking the 3.3v logic may not be able to trigger the CRIO high level.

The Pololu version includes logic level conversion. Different chips. Source code for arduino.
Played with it some this fall. Conclusion that an average FRC bot has to much magnetic interference to calibrate out. Did get a accelerometer and gyro to give heading. Not easy for precision.

Yes, you’re correct that the 3.3V output won’t trigger a 5V input.

Simple things which you’ve probably checked already:

  • You’re supplying 5V to the IMU board? Sparkfun doesn’t seem to have posted specs, but judging from the picture and schematic, it’s got a 3.3V regulator.
  • The TXB0104 “Output Enable” pin is tied to 3.3V?
  • All of the unused inputs on your supply translator are grounded?

Hmm, nevermind. There’s this little note on page 11 of the datasheet:

The output drivers of the TXB0104 have low DC drive strength … the TXB0104 should not be used in applications such as I2C or 1-Wire where an open-drain driver is connected on the bidirectional data I/O. For these applications, use a device from the TI TXS01xx series of level translators.

As a side note, be careful with your terminology: I was really confused for a while when you said you soldered your “logic bus analyzer”. A logic analyzer, while possibly quite useful for what you’re doing, is definitely not something you would solder.

Yeah sorry about that I think I may have changed what I was typing mid sentence. That’s what I mean’t I hooked up the bus pirate. The double regulated 5v supply is looking to be the culprit as I didn’t even see the built in regulator on the schematic. Thanks for the second look at things.

Are you saying that you were able to simply resolve your problem by connecting the sensor to the 5 volts rather than the 3.3 volts?