ADXL345 Breakout + UNO hookup doubts about voltages i2c

Hi I'm new to the forum and also new starting to experiment with arduino and sensors. I've bought an adxl345 breakout board to hookup to my arduino uno using i2c. But I'm having several doubts. I've already read i2c protocol datasheet, and went through arduino resources talking about level translation and how arduino manages a HIGH or LOW value. But I still have doubts regarding how to wire this breakout board properly and to avoid frying it.  I've attached pictures of the breakout board as I don't have any schematics for it.

Top PCB



Back PCB



Questions

1- I see there are 2 smd resistors 103 , 10k so these are pullup resistors going to SDA and SCL. No need to add ones on Arduino A4, A5?

2- If I feed arduino with external power 9volts battery. Voltage on pin 3v3 will be 3.3 and obviously 5v on pin 5v?

3-I checked this site http://bildr.org/2011/03/adxl345-arduino/, which explains the proper way to hook it up under i2c is the following. Although this setup is for a breakout board from sparkfun which doesn’t have any pullup resistors only decoupling caps. On my breakout board I could see those 2 resistors on SDA and SCL they’re acting as pull ups ?
                   SDA (Data) ===> to sensor SDA
                   SCL (clock) ===> to sensor SCL
                  arduino 3v3 ====> to sensor 3v3 and CS to set it up as i2c mode.

4-  Someone explained to me

Quote
you can NO connect the arduino’s 5V to a 3.3V system such as the accelerometer UNLESS the system is open collector, and all the arduino does is pull lines low. The target system pulls the lines high to 3.3V, thus the 3.3V system gets a full 3.3V high, the ardunio get a 3.3v weak-high, nothing burns out.****

   So on arduino uno  what’s the voltage coming out from A4,A5 , 5volts? that’s why I need to place pullups to 3.3v . I know from atmega328p datasheet it’s required for a Vih = 0.6 * vcc , how would that be interpreted if i’m feeding say arduino with a 9volts battery it’s still  0.6 * 5 volts =  3v for a HIGH value. Then I know there are internal pullups but I think i’m mixing everythingup.
  
 If anyone can be so kind to clear all this out to me so thankful !

Hey so many thanks for such

Hey so many thanks for such a complete and extense answer. As you may guess I want to be cautious and avoid frying my sensor.   I’ve already posted on arduino forum as well for help.I’ve been checking several links from here and I really like them cause they’re more in depth and more creative in every sense. Anyways: See if you can clarify this to me .

 

You quoted

"4.  I2C is by design open collector.  The pullup resistors determine the "hi" voltage and the chips only pull the lines to a "low".  When started, the Arduino pins are inputs, so they do not put out any voltage.  If never set to a normal output they never will.  When set to I2C mode they only act as open collector, so will never output a voltage.  The only voltages present on the lines will be whatever is connected to the pullup resisotrs or 0V when pulled low.  The Vcc referred to in your quote is the voltage given to the ATMega chip, which is 5V because of the regulator.  So the 0.6 * Vcc = 3V0 and the 3V3 from the pullups will be fine.  The internal pullups are not normally used in I2C mode so have no effect: they must be enabled on purpose."

  You said when started Arduino pins are inputs not outputting any voltage, fine. Now when I'm using them as SDA and SCL acting as open collector or open drain, fine also. Now if they're pulled by resistors to 3.3 v line from arduino now they're being pulled high on a high state , now they'e always at 3.3volts.. until the sensor pulls it low ? They will never output 5 volts that's were I'm worrying myself as to be frying the sensor.. on SDA pins.