adxl345 i2c communication problem

I have connected ITG-3200 and ADXL345 to atmega328p(arduino uno) i2c line.
What I can see from sparkfun schematic of itg-3200 the 4k7 resistors are optional same goes for the adxl345 however when I removed the pull up resistors from the adxl345 i2c communication stopped working or so do I think is that possible should I add pull up also to the itg-3200 ?

I dont thing that i2c without pull-up can damage the board also the internal pull ups in the arduino are not helping me !

You only need one set of pull up resistors on any one I2C bus.

If it is connected to a 3V3 system being driven from a 5V arduino you must use a library that does not enable the internal pullups.

Are you using commercial breakout boards for the parts, or are you making your own boards?

The reason I ask is that almost every breakout board includes a pair of 10k pullup resistors (the exact value of I2C pullups is not critical, so you can get away with a couple of parts with pullups on one bus before it becomes a
problem).

You can't use the internal pullups for these parts.
If you do, you may damage the part. Per datasheets, both of those parts are 2.1-3.6v (nominally 2.5 or 3.3), while the internal pullups will pull up to 5v.

You do not need more than 1 set of pullups on a single I2C bus, though you can get away with more than one, as long as the overall resistance isn't so low that the chips can't drive the scl/sda lines LOW.

Well actually I was powering the electronic from li-po battery and I was tryin with a arduino from the outside the board to test the I2C sensors but I found out that the power source of the sensors and the arduino must be same in order to recognize the i2c devices in the line !

but I found out that the power source of the sensors and the arduino must be same in order to recognize the i2c devices in the line !

I think you are mistaken there.

You can use separate power sources. It would only fail if you forgot to connect the grounds together.

Yes, my mistake was that when I used A4,5 from the arduino I never passed the ground from the schematic to the arduino board and this way the i2c scanner was unable to find the devices attached !

However I added 4k7 resistors as pull up at the accelerometer for the whole i2c line I hope they will be enought.

Why the Wire library use internal pull ups ?

Why the Wire library use internal pull ups ?

I suspect in the mistaken belief that it was enough to make it work without external resistors.
It is not:-

There are other libraries that do not make this assumption:-