Other Parts Discussed in Thread: LP2950
Tool/software:
Hello, I am using an Arduino Uno powered at 3.3V (via LP2950 voltage regulator) and trying to interface with an FDC1004 via I2C.
My setup:
Arduino Uno @ 3.3V (powered by LP2950 regulator from a 5V source)
FDC1004 powered by 3.3V from the LP2950 (VCC-GND confirmed 3.3V with multimeter)
SCL/SDA connected directly (no level shifter, as Uno is at 3.3V)
5kΩ pull-up resistors from SCL and SDA to 3.3V
I2C address: 0x50 (confirmed with I2C scanner, stable detection)
Decoupling capacitors:
0.1μF + 1μF capacitors from LP2950 VOUT (3.3V) to GND (placed close to FDC1004)
0.1μF capacitor from LP2950 VIN to GND
The problem:
When I run my initialization code (writing to MEAS1 config and FDC config), the program stops right after printing "FDC1004 initialization started". It appears to freeze at
Wire.endTransmission()
.What I have tried:
I2C scanner repeatedly detects 0x50 without issue
Continuity test between Arduino and FDC1004 SCL/SDA pins: no breaks
Confirmed 3.3V output from LP2950 remains stable during communication
Verified decoupling capacitor placement near both the FDC1004 and the LP2950
My question:
What could cause the FDC1004 to lock up at I2C write (stuck at
Wire.endTransmission()
), even when I2C address 0x50 is consistently detected?
Are there any timing, startup, or configuration considerations for the FDC1004 in this setup that I might be overlooking?