FXOS8700CQ help on montage

Hey guys,

i have this project that needs the use of this sensor (to keep track of the position and direction) of a solar panel. However, even tho i found a library for him, my biggest problem is on the montage with the arduino itself.

For what i've been seeing:

  • 3v3 pin to the 3.3V arduino pin
  • G pin to GND arduino pin
  • SDA pin to A4 arduino (UNO) pin
  • SCL pin to A5 arduino (UNO) pin

However i'm not totally sure and didnt want to try and mess up the sensor. Any in-dept help? :stuck_out_tongue:

Another question, using the library GitHub - mlwarner/fxos8700cq-arduino: Arduino library for the Xtrinsic FXOS8700CQ 6-Axis Sensor with Integrated Linear Accelerometer and Magnetometer, it seems i only need an address to conect the sensor to arduino, however since there are 2 pins connect how is that possible? i'm a big newbie at this address's thing :confused:

As it's a 3.3V device you might need a bi-directional level converter. The Arduino pulls the I2C lines to 5V if you use the standard Wire library. According to the datasheet that's over the max. rating of the sensor.

Do you have a breakout board for the sensor (it's tiny)? If yes, post a link to the product!

Another question, using the library GitHub - mlwarner/fxos8700cq-arduino: Arduino library for the Xtrinsic FXOS8700CQ 6-Axis Sensor with Integrated Linear Accelerometer and Magnetometer, it seems i only need an address to conect the sensor to arduino, however since there are 2 pins connect how is that possible? i'm a big newbie at this address's thing :confused:

The sensor is connected to the I2C bus. As you can have multiple sensors connected to these two pins you have to select the correct one by a unique address on the bus. Your sensor uses the addresses 0x1c to 0x1f, depending on the connections you give to the SA0 and SA1 pins. As you didn't tell us where you connected the pins I cannot say what address your sensor is listening on.

Yes, it has a breakout board (if i understoof correctly :P). Link: I2C 3-axis linear accelerometer and 3-axis magnetometer

Since it has this breakout board, do i still need the converter? like this one: https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide

The reason about not mention sa0 and sa1 is that i do not know where to connect them :confused:

EDIT: About sa0 and sa1, it says the address on the datasheet depending on how i conect this pins ( for both at 1, the address is 0x1F) (:

Thank you for the reply pylon o/

Since it has this breakout board, do i still need the converter? like this one: Bi-Directional Logic Level Converter Hookup Guide - SparkFun Learn

Yes, there is an explicit note (in red) on the linked page to remind you.

The reason about not mention sa0 and sa1 is that i do not know where to connect them :confused:

If the picture on the page is the state your module is in you don't have to connect sa0 and sa1 as they are pulled to GND using solder bridges on the board. It's good to test that using a multimeter on the board (without powering it!).

If my interpretation of the photos is correct (both address lines connected to GND), your device should listen to the address 0x1c.

pylon:
Yes, there is an explicit note (in red) on the linked page to remind you.

If the picture on the page is the state your module is in you don't have to connect sa0 and sa1 as they are pulled to GND using solder bridges on the board. It's good to test that using a multimeter on the board (without powering it!).

If my interpretation of the photos is correct (both address lines connected to GND), your device should listen to the address 0x1c.

Oh, i thought that red warning was just to be carefull about vcc and to connect it to the 3.3V pin on arduino. Well level converter it is then, do you think that a 4.7 Kohms connected to 3.3v and each pin (SDA and SCL) is enough like it says here: Arduino Playground - HomePage ?

About the address, and following the datasheet, when GNG | GND it is 0x1E ( Screenshot by Lightshot ) could you confirm with that print ?

Oh, i thought that red warning was just to be carefull about vcc and to connect it to the 3.3V pin on arduino. Well level converter it is then, do you think that a 4.7 Kohms connected to 3.3v and each pin (SDA and SCL) is enough like it says here: Arduino Playground - HomePage ?

That's not a level converter, that's a simple pull-up. It might be enough but because the Wire library activates the internal pull-ups on the UNO the signal lines are pulled to a voltage of almost 4V even if you use 2.2kΩ resistors instead of the 4.7kΩ you suggested. According to the datasheet this is too high although the chip might stay alive for some time.
If you want to do it the right way, use a level converter like this one: https://www.sparkfun.com/products/12009

About the address, and following the datasheet, when GNG | GND it is 0x1E ( Screenshot by Lightshot ) could you confirm with that print ?

Yes, you're right, I should have had consulted that table instead of just guessing the value.

"the Wire library activates the internal pull-ups on the UNO "
I believe those can be turned off by these after Wire.begin()
digitalWrite (18, LOW); // turn off internal pullup
digitalWrite (19, LOW); // turn off internal pullup
and then using pullups to 3.3V instead.

Thank you so much for all the feedback Pylon and CrossRoads, we already saw a level converter that we are gonna buy with some other components (:

It was of a great help this discussion, once again, thank you o/