Go Down

Topic: ADXL345 and the Arduino Uno (with SDO high) (Read 2943 times) previous topic - next topic



I'm trying to connect two ADXL345 accelerometers and an ITG3200 gyroscope to an Arduino Uno using the I2C interface. To do this, I learnt that the SDO pin on one of them has to be set high (connected to the 3.3V line) and its address is 0x1D. I also saw this mentioned in the ADXL345's datasheet.

However, when I set it up such that the SDO is set to 3.3V, the accelerometer breakout board's LED is not lighting up (as it usually does when i ground the SDO and use the 0x53 address).

Any help regarding this problem will be highly appreciated!



Can you post a link to your breakout sensor board ?

Did you run the i2c scanner, http://playground.arduino.cc/Main/I2cScanner



Thanks a lot for your reply!

Here are two links:



It's the ADXL345 by LC electronics.

I ran the I2C scanner, it only said, "Scanning..." and didn't find any devices!


OK, I see it now. The SDO is grounded in the schematic. So why provide an SDO pin?

Is there something I can do? I seem to have two accelerometers both of which are fixed at 0x53. I need them both to talk to the uno by I2C.


Normally, the SDO would be connected to ground with a 10k resistor. That way it can be overruled by connecting it to Vcc 3.3V.

They have used a 0k resistor, that is not very nice.
You have to remove the R4 smd resistor and connect SDO to Vcc 3.3V for one of the sensor breakout boards.
Use a solder iron with a blob of solder and put that blob over the smd resistor, so both both ends are heated.

Connect the sensor boards one by one (you can keep the i2c scanner running). If nothing is working, something else is wrong.


Thanks a lot for the reply!

Will try that out and let you know of the result. It's really not very nice that they've done that.

You've been very helpful, I appreciate it a lot!


This is to confirm that it worked out! Works like a charm now. Thanks again!

Go Up