Can using battery power interfere with I2C (SDA, SCL)

Hi there,
I've been experiencing some strange behaviour with a project.

I've connected a Si1145 Light Sensor (Flora UV Index Sensor - Si1145 Light Sensor : ID 1981 : $8.95 : Adafruit Industries, Unique & fun DIY electronics and kits) to monitor UV levels (connected via 3.3v, GND, SDA, SCL).

It is attached to a Redbear Blend Micro, a small arduino BLE board. (http://redbearlab.com/blendmicro/)

Everything works well when it is powered via USB. I am able to send results via bluetooth to the app on my phone so know it is not my wiring or programming.

However when I plug in a 3.7v LIPO battery via the VIN and GND pins it seems to pull the SDA/SCL pins low, so all my sensor readings are 0. And it gets stuck that way.

Everything still functions, data is sent via bluetooth. However the sensor just sends 0.
This is a very strange problem I've never encountered.

Attached is my code as a .TXT file.

Would anyone have any advice about debugging this problem?

UVTest.txt (2.05 KB)

However when I plug in a 3.7v LIPO battery via the VIN and GND pins it

I believe that 3.7V on the Vin pin is too low!
You don't mention what arduino board are you using but if you look to the schematic of arduino uno you will see that Vin pin is connected to a voltage regulador NCP1117S that needs to output a 5V.Since you are just putting 3.3V @ input no miracle will happen :grin:
Your battery voltage must be at least 2V above the Vout, in your case since you want 5V on the output of the regulator, your battery should be at least 7V.
Try to find another battery

Thanks very much for the reply.
The operating Voltage of the board I am using is 3.3v
It's this board http://redbearlab.com/blendmicro/

I was unaware that you needed to go above the operating voltage for when connecting to VIN, due to the regulator.

I've managed to get it working but believe that the battery issue you mentioned is probably contributing to the inconsistent results.

Cheers.