AD5258BRMZ1-R71
AI

The **AD5258BRMZ1-R7** is a digital potentiometer manufactured by Analog Devices. It is designed to replace mechanical potentiometers in electronic circuits, allowing for precise, automated control of resistance via a digital interface.
---
## 1. Core Specifications
| Feature | Specification |
| :--- | :--- |
| **Type** | Non-volatile Digital Potentiometer |
| **Resistance** | 1 kΩ |
| **Number of Positions** | 64 Taps (6-bit resolution) |
| **Interface** | I²C Compatible |
| **Memory Type** | EEPROM (Remembers setting after power loss) |
| **Supply Voltage (Single)** | 2.7 V to 5.5 V |
| **Package** | 10-Lead MSOP (Micro Small Outline Package) |
---
## 2. Key Internal Components
### A. Resistor Ladder
The device contains a string of 64 resistors in series. Between each resistor, there is a CMOS switch (tap) that connects to the "Wiper" (W) terminal.
### B. I²C Control Logic
It communicates with a microcontroller (like an Arduino or ESP32) using the **I²C protocol**. This allows multiple devices to be controlled on the same two wires (SDA and SCL). It also features two address pins ($AD_0$ and $AD_1$), allowing up to four AD5258s on a single bus.
### C. EEPROM Memory
Unlike "volatile" digital pots that reset to zero or mid-scale when power is removed, the AD5258 has built-in **EEPROM**. This stores the user's preferred wiper position, ensuring the device returns to that specific resistance immediately upon power-up.
---
## 3. Pin Configuration
| Pin Number | Name | Description |
| :--- | :--- | :--- |
| 1 | **W** | Wiper terminal |
| 2 | **A** | Terminal A of the resistor |
| 3 | **B** | Terminal B of the resistor |
| 4 | **GND** | Ground |
| 5 | **Vdd** | Positive power supply |
| 6 | **SCL** | I²C Serial Clock |
| 7 | **SDA** | I²C Serial Data |
| 8 | **AD0** | I²C Address Bit 0 |
| 9 | **AD1** | I²C Address Bit 1 |
| 10 | **WP** | Write Protect (Prevents accidental EEPROM changes) |
---
## 4. Typical Application Circuit
When using this part, it is commonly configured in one of two ways:
1. **Potentiometer Mode:** Connect Terminal A to $V_{in}$ and B to Ground; the W terminal provides a variable voltage.
2. **Rheostat Mode:** Connect the Wiper (W) to either Terminal A or B to create a variable two-terminal resistor.
```cpp
// Example: Setting the Wiper via I2C (Pseudo-code)
Wire.beginTransmission(AD5258_ADDR);
Wire.write(0x00); // Command to write to RDAC register
Wire.write(32); // Set to mid-scale (32/64)
Wire.endTransmission();
```
---
## 5. Major Advantages
* **Reliability:** No mechanical parts to wear out or become dirty.
* **Precision:** Digital control eliminates human error in calibration.
* **Space Saving:** The MSOP-10 package is significantly smaller than physical trimmers.
- ⤷
How do you calculate the actual resistance at a specific tap position for the 1k version?
- ⤷ What is the difference between the AD5258 and the AD5259?
- ⤷ Can this device handle high-voltage signals across terminals A and B?