
This circuit consists of a DC-DC converter powering a 6-channel power module, which in turn supplies 5V to a 2-relay module. The power module distributes the converted voltage to the relay module, enabling it to control external devices.
The AD7705 Module is a high-precision, low-power analog-to-digital converter (ADC) designed for applications requiring accurate measurement of analog signals. Manufactured under the part ID AD7705 DO42-2, this module integrates a programmable gain amplifier (PGA) and a serial interface, making it ideal for interfacing with microcontrollers such as the Arduino UNO.
The AD7705 operates with a supply voltage range of 2.7V to 5.25V, making it suitable for battery-powered and low-power applications. Its high resolution and low noise performance make it a popular choice for applications such as:
The following table outlines the key technical specifications of the AD7705 module:
| Parameter | Value |
|---|---|
| Supply Voltage (VDD) | 2.7V to 5.25V |
| Power Consumption | 1mW (typical at 3V) |
| Resolution | 16-bit |
| Input Channels | 2 differential or 4 single-ended |
| Input Voltage Range | ±2.5V (with gain = 1) |
| Programmable Gain | 1, 2, 4, 8, 16, 32, 64, 128 |
| Communication Interface | SPI |
| Maximum Clock Frequency | 2.5 MHz |
| Operating Temperature Range | -40°C to +85°C |
The AD7705 module typically comes with a 10-pin interface. Below is the pinout and description:
| Pin | Name | Description |
|---|---|---|
| 1 | VDD | Power supply input (2.7V to 5.25V). |
| 2 | GND | Ground connection. |
| 3 | CS | Chip Select (active low). Used to enable communication with the module. |
| 4 | SCLK | Serial Clock. Used to synchronize data transfer with the microcontroller. |
| 5 | DIN | Data Input. Used to send configuration and control data to the AD7705. |
| 6 | DOUT | Data Output. Used to read conversion results from the AD7705. |
| 7 | RESET | Reset pin. Resets the ADC to its default state when pulled low. |
| 8 | AIN1+ | Positive input for Channel 1 (differential mode) or single-ended input. |
| 9 | AIN1- | Negative input for Channel 1 (differential mode) or ground in single-ended. |
| 10 | AIN2+/AIN2- | Positive/Negative input for Channel 2 (differential mode) or single-ended. |
To use the AD7705 module with an Arduino UNO, follow these steps:
Wiring the Module:
Configuring the AD7705:
Reading Data:
Below is an example Arduino sketch to interface with the AD7705 module:
#include <SPI.h>
// Pin definitions
const int CS_PIN = 10; // Chip Select pin
const int RESET_PIN = 9; // Reset pin (optional)
// Function to write data to the AD7705
void writeRegister(byte reg, byte value) {
digitalWrite(CS_PIN, LOW); // Select the AD7705
SPI.transfer(0x10 | reg); // Write to the specified register
SPI.transfer(value); // Send the value
digitalWrite(CS_PIN, HIGH); // Deselect the AD7705
}
// Function to read data from the AD7705
unsigned int readData() {
digitalWrite(CS_PIN, LOW); // Select the AD7705
SPI.transfer(0x38); // Command to read data register
byte highByte = SPI.transfer(0x00); // Read high byte
byte lowByte = SPI.transfer(0x00); // Read low byte
digitalWrite(CS_PIN, HIGH); // Deselect the AD7705
return (highByte << 8) | lowByte; // Combine high and low bytes
}
void setup() {
pinMode(CS_PIN, OUTPUT);
pinMode(RESET_PIN, OUTPUT);
digitalWrite(CS_PIN, HIGH);
digitalWrite(RESET_PIN, HIGH);
SPI.begin(); // Initialize SPI
SPI.setClockDivider(SPI_CLOCK_DIV16); // Set SPI clock speed
SPI.setDataMode(SPI_MODE3); // AD7705 uses SPI mode 3
// Reset the AD7705
digitalWrite(RESET_PIN, LOW);
delay(10);
digitalWrite(RESET_PIN, HIGH);
// Configure the AD7705
writeRegister(0x00, 0x40); // Set gain to 1, unipolar mode, and enable channel 1
}
void loop() {
unsigned int result = readData(); // Read ADC result
Serial.println(result); // Print the result to the Serial Monitor
delay(1000); // Wait 1 second before the next reading
}
| Issue | Possible Cause | Solution |
|---|---|---|
| No data output from the module | Incorrect wiring or SPI configuration | Verify connections and ensure SPI settings (mode 3, clock speed) are correct. |
| ADC readings are unstable or noisy | Electrical noise or improper grounding | Use shielded cables and ensure proper grounding. |
| Incorrect ADC values | Input voltage exceeds specified range | Ensure input voltage is within the ADC's range (±2.5V for gain = 1). |
| Module not responding | CS pin not properly controlled | Ensure the CS pin is toggled correctly during communication. |
Can the AD7705 measure negative voltages?
What is the maximum sampling rate of the AD7705?
Can I use the AD7705 with a 3.3V microcontroller?
This documentation provides a comprehensive guide to using the AD7705 module. For further assistance, refer to the manufacturer's datasheet or contact technical support.

This circuit consists of a DC-DC converter powering a 6-channel power module, which in turn supplies 5V to a 2-relay module. The power module distributes the converted voltage to the relay module, enabling it to control external devices.

This circuit is designed for communication and location tracking purposes. It features an Arduino Nano interfaced with a SIM800L GSM module for cellular connectivity, a GPS NEO 6M module for obtaining geographical coordinates, and an AITrip ADXL335 GY-61 accelerometer for motion sensing. The LM2596 Step Down Module is used to regulate the power supply to the components.

This circuit features a LilyGo-SIM7000G module for cellular communication and GPS functionality, interfaced with an RTC DS3231 for real-time clock capabilities. It includes voltage sensing through two voltage sensor modules, and uses an 8-channel opto-coupler for isolating different parts of the circuit. Power management is handled by a buck converter connected to a DC power source and batteries, with a fuse for protection and a rocker switch for on/off control. Additionally, there's an LED for indication purposes.

This circuit is a portable FM radio receiver with an integrated display and audio output. It uses an Arduino Pro Mini to control an RDA5807M FM receiver module, an ADS1115 ADC for additional analog inputs, and a PAM8403 amplifier to drive loudspeakers. The circuit also includes a rotary encoder for user input, an LCD screen for displaying information, and a boost converter for power management.