I2C Communication with the AD5933

Hello, I am trying to communicate with the AD5933 IC chip, and im not having all that much luck.
I've designed a PCB to provide the required functionality for the chip (see below) and found that I needed to add pullup resistors (4.7k or 10K) which have been added externally.

I am using example code from mjmeli (GitHub - mjmeli/arduino-ad5933: A simple library for controlling the AD5933 impedance converter system with an Arduino compatible device.) which has been referred to in multiple sources, and reading through the code logically should work.

However, ive encountered an issue where the communications dont fail, rather they either exit the program or just dont continue, even when running an I2C address sweep.


Im unsure if this is a hardware, wiring or software issue atm but logically it seems everything is running correctly.

im using an arduino uno (pins a4/a6), powering with the board 3.3v and gnd pins.

Thanks in advance for your replies

An I2C level shifter is required between the 5V Uno and 3.3V chip.

Can powering the chip with 3.3V and using the 5V for the pullup work? Or does a I2C shifter have to be used?

Does the AD5933 work at 5V as well ? Would it be easier to power your circuit with 5V ?

Bosch sensors don't like a 5V I2C bus on their pins, but since the AD5933 works at 5V as well, it will probably be okay, but I can give no guarantees.

When the I2C Scanner sketch stops after the "Enter loop", then it halts at the Wire.endTransmission(). The cause is often a short circuit of SDA or SCL to GND or a short circuit between SDA and SCL or a I2C chip that is not powered.

3.3V is nominal, It shorts at 5V, which again is another issue.
There seems like there is multiple issues with the current implementation, and seems like it may not work period

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.