How to determine sensor is compatible with Arduino UNO?

Hi all,

i'm new to arduino and would like to know how you can determine that a sensor is compatible with an arduino board.

I would like to purchase http://export.farnell.com/invensense/itg-3200/ic-gyro-tri-axis-2000-deg-s/dp/1858279RL but i'm not sure whether it works.

EDIT:

my search has brought me some understanding but has raised several questions more:

In another topic (http://arduino.cc/forum/index.php/topic,104951.0.html) about which sensors can be directly connected to the arduino UNO, krodal states:

Krodal:
It's not hard. The only problem is that most sensors use 3.3V. But the Arduino has 3.3V onboard for those sensors.

The accelerometer i want to use in my project runs on 3V (http://www.bosch-sensortec.com/content/language1/downloads/BMA150_Flyer_Rev1.3_14JAN2008.pdf)

I was in the understanding that i could not use this sensor directly on the arduino UNO since the arduino runs on 5V (and it would fry the sensor). But if you look at the arduino picture:

You see that at the bottom there is indeed a pin which states 3.3V. Does this mean that the board can run on 3.3v as well, or what is the pin for?

in the tutorial on arduino.cc (http://www.arduino.cc/en/Tutorial/ADXL3xx) it says that the example uses the breakoutboard from sparkfun. SparkFun Evaluation Board - ADXL345 - SEN-09814 - SparkFun Electronics But it seems that even that board requieres 3.3V. How can they manage?

Thank you,

Jorrit
(i've also put this question in the topic list)

Please advice and explain!

Thank you

arduino can do I2C:

But you'll need an I2C level-converter to 3.3V unless the Arduino is running on 3.3V

Thanks for the reply. one more question though:

How can i determine, in general terms, which sensors i can use without any converters? The datasheets overwhelm me somewhat since i'm not very technical. But a hint on what i should look for is very much appriciated!

digikey allows to search for certain parameters:

dieselboris:
How can i determine, in general terms, which sensors i can use without any converters?

The datasheet reports the "Absolute Maximum Ratings" which state that VDD can be up to 6V and the logic signals can be up to VDD + .5V. But still, "absolute maximum" is the scary side of "recommended"; it's like saying that the device won't blow up at 3.3V and isn't likely to blow up at 5V.

The 3.3V pin on the Uno is a 3.3V regulated, positive supply. You can use this to power your Bosch sensor or the ITG3200 safely. You still need to be aware that any digital output from the Uno to your sensor will be 5V and should have either a small transistor or at least a resistor voltage divider to knock that voltage down.

With respect to the Sparkfun ADXL345 board, they run the ATMega at 3V. While it's plugged in to a USB 5V port they never use the 5V power for anything other than the FTDI (USB to serial) chip. The ATMega will see the 5V TX/RX signals from the FTDI chip but the accelerometer never sees any 5V signals from the ATMega.

Thank you Chagrin, very informative.

Two questions though:

Chagrin:
The 3.3V pin on the Uno is a 3.3V regulated, positive supply. You can use this to power your Bosch sensor or the ITG3200 safely. You still need to be aware that any digital output from the Uno to your sensor will be 5V and should have either a small transistor or at least a resistor voltage divider to knock that voltage down.

Ok soldering a resistor of transistor should not be too hard. There is no option of NOT connecting the ouput of the UNO to the sensor? This may sound stupid but i thought that, since i only need to READ values from the sensor it could work?
But if i'm not mistaken, since i use I2C, their is only one connection pin between UNO and sensor?

Chagrin:
With respect to the Sparkfun ADXL345 board, they run the ATMega at 3V. While it's plugged in to a USB 5V port they never use the 5V power for anything other than the FTDI (USB to serial) chip. The ATMega will see the 5V TX/RX signals from the FTDI chip but the accelerometer never sees any 5V signals from the ATMega.

Can the UNO also be run at 3V? That would solve my problem at once i would say?

Thanks again.

dieselboris:
Ok soldering a resistor of transistor should not be too hard. There is no option of NOT connecting the ouput of the UNO to the sensor? This may sound stupid but i thought that, since i only need to READ values from the sensor it could work?
But if i'm not mistaken, since i use I2C, their is only one connection pin between UNO and sensor?

Both the SPI and I2C protocols used by the sensors you've listed require bi-directional signaling (there are two lines for I2C -- SDA and SCL, btw). Yes, you are just "reading" it but there are signals going back and forth between the Uno and sensor. If you use an analog accelerometer like the ADXL335 then there would be no problem, but there is of course the tradeoff between analog vs. digital signals just like there is with a tape cassette vs. a DVD.

dieselboris:
Can the UNO also be run at 3V? That would solve my problem at once i would say?

I'd assume it's within the realm of possibility but if you were going to undertake a problem like that it'd be a lot more straightforward to just buy a level shifter. Sparkfun sells these for $3. For future purchasing decisions you might look at clones like the Seeeduino which has a switch to go between 3.3V and 5V.

u could use a resistor and a 3.5V zener diode on the arduino/sensor pins...

ITG3200/pin ---------------- 5kR -------------- arduino/pin
|
3.5V
zener
|
ground

Ok thanks, you both helped me out a lot!

I want to collect everything about I2C level shifters here: Arduino Playground - I2CBi-directionalLevelShifter
Feel free to add to that page.