

The AD7745 is a high-precision capacitive-to-digital converter (CDC) manufactured by Analog Devices. It is designed to measure small changes in capacitance with high accuracy and resolution. The device features a low-noise architecture and is ideal for applications requiring precise capacitive sensing.








The following table outlines the key technical details of the AD7745:
| Parameter | Value |
|---|---|
| Supply Voltage (VDD) | 2.7 V to 5.25 V |
| Capacitance Measurement Range | ±4 pF (with 17-bit resolution) |
| Capacitance Resolution | 4 aF (femtofarads) |
| Interface | I²C (up to 400 kHz) |
| Operating Temperature Range | -40°C to +85°C |
| Power Consumption | 1 mA (typical) at 3.3 V |
| Package Type | 16-lead TSSOP (AD7745BRUZ) |
The AD7745 is housed in a 16-lead TSSOP package. Below is the pin configuration and description:
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VDD | Positive power supply (2.7 V to 5.25 V). |
| 2 | GND | Ground reference. |
| 3 | SCL | I²C clock input. |
| 4 | SDA | I²C data input/output. |
| 5 | CAPDAC1 | Capacitance-to-digital converter input (Channel 1). |
| 6 | CAPDAC2 | Capacitance-to-digital converter input (Channel 2). |
| 7 | EXC1 | Excitation output for capacitive sensing. |
| 8 | EXC2 | Excitation output for capacitive sensing. |
| 9 | NC | No connection (leave unconnected). |
| 10 | NC | No connection (leave unconnected). |
| 11 | ADDR | I²C address selection pin. |
| 12 | NC | No connection (leave unconnected). |
| 13 | NC | No connection (leave unconnected). |
| 14 | NC | No connection (leave unconnected). |
| 15 | NC | No connection (leave unconnected). |
| 16 | NC | No connection (leave unconnected). |
Note: Pins labeled as "NC" should not be connected to any signal or power line.
Below is an example of how to interface the AD7745 with an Arduino UNO using the I²C protocol:
#include <Wire.h> // Include the Wire library for I²C communication
#define AD7745_ADDRESS 0x48 // Default I²C address of the AD7745
void setup() {
Wire.begin(); // Initialize I²C communication
Serial.begin(9600); // Initialize serial communication for debugging
// Configure the AD7745
Wire.beginTransmission(AD7745_ADDRESS);
Wire.write(0x07); // Point to the configuration register
Wire.write(0x30); // Set the device to continuous conversion mode
Wire.endTransmission();
Serial.println("AD7745 initialized.");
}
void loop() {
// Read capacitance data from the AD7745
Wire.beginTransmission(AD7745_ADDRESS);
Wire.write(0x01); // Point to the capacitance data register
Wire.endTransmission();
Wire.requestFrom(AD7745_ADDRESS, 3); // Request 3 bytes of data
if (Wire.available() == 3) {
uint8_t msb = Wire.read(); // Most significant byte
uint8_t lsb = Wire.read(); // Least significant byte
uint8_t status = Wire.read(); // Status byte
// Combine the MSB and LSB to form the 16-bit capacitance value
int16_t capacitance = (msb << 8) | lsb;
// Print the capacitance value
Serial.print("Capacitance: ");
Serial.print(capacitance);
Serial.println(" (raw value)");
}
delay(500); // Wait for 500 ms before the next reading
}
Note: The above code assumes the AD7745 is configured with its default I²C address (0x48). Adjust the address if necessary.
No Response from the AD7745 on the I²C Bus:
Inaccurate Capacitance Measurements:
High Noise in Measurements:
Q1: Can the AD7745 measure differential capacitance?
A1: Yes, the AD7745 can measure differential capacitance using its two input channels (CAPDAC1 and CAPDAC2).
Q2: What is the maximum capacitance range the AD7745 can measure?
A2: The AD7745 can measure capacitance changes within a range of ±4 pF with a resolution of 4 aF.
Q3: Can the AD7745 operate at 5 V?
A3: Yes, the AD7745 supports a supply voltage range of 2.7 V to 5.25 V.
Q4: Is the AD7745 suitable for battery-powered applications?
A4: Yes, the AD7745 has low power consumption (1 mA typical), making it suitable for battery-powered systems.