### X9C104 Annotation
Also Trademarked as XDCP - Xicor Digitally Controlled Potentiometer
**Datasheet:** [[X9C104.pdf]]
#### Pinout
![[Pasted image 20250305052636.png]]
!CS, !INC, and U/!D are the three input pins.
- Chip Select
- Increment
- Up/Down
R_H, R_L, and R_H are the three output pins.
- Resistor High
- Resistor Low
- Resistor Wiper
#### Block Diagram
![[Pasted image 20250305052837.png]]
Power the chip, and use the three inputs to store a wiper position as a 7-bit number in non-volatile memory using the counter circuit.
Then the counter value passes to a 1-100 decoder and selects the wiper position accordingly.
- Enable the chip by pulling `!CS` **LOW**.
- `!INC` is negative-edge triggered.
- Hold `U/!D` to control wiper movement and increment to where you want to be.
- The current counter value is stored in memory when `!CS` rises to **HIGH** while `!INC` is also **HIGH**.
- The device remains in low-power standby mode until selected
#### Electrical Specs
- Total resistance variation is ±20%. Which is a bit more than I expected.
- The chip is probably cheap.
- ±4.4mA max current through the wiper.
- Wiper resistance itself is 40-100Ω.
- Active Current (during counter operation): 1-3mA
- Standby Current (!CS = **HIGH**): 200-750uA
- ±10uA of leakage current possible (!)
- At all times, voltages on the potentiometer pins must be less than ±Vcc.
![[Pasted image 20250305053829.png]]
#### Mode Selection - Input Controls
![[Pasted image 20250305055632.png]]
The system may select the pot, move the wiper, and then de-select the device without storing the last wiper position into memory. the `!INC` pin determines whether it gets saved or not, when `!CS` rises.
It may be convenient to save a calibrated default value, and then dynamically adjust without overwriting.
#### Basic Circuits
![[Pasted image 20250305055939.png]]