No products in the cart.
X9C104 Digital Potentiometer Module For Arduino
₹460.00 excl GST
Package Contains : 1 Nos X9C104 Digital Potentiometer Module For Arduino
Description:
The X9C104 digital potentiometer module allows you to simulate the mechanical control of a traditional potentiometer using digital inputs. It integrates 99 series-connected resistors and provides 100 selectable resistance points. By sending control signals from a microcontroller, the wiper position can be adjusted electronically to vary resistance smoothly between 0 Ω and 100 kΩ.
The module is based on the X9C104 integrated circuit, which offers precise, linear resistance changes and can be easily controlled through its CS, U/D, and INC pins. This makes it ideal for applications such as resistive dividers, variable voltage control, sensor calibration, and analog signal processing.
Features
Chip: X9C104
Input Voltage: 5V(Typical 5 V)
Working Current: 3 mA (typical)
Total Resistance: 100 kΩ
Number of Taps (Steps): 100
Resistance Adjustment Mode: Linear
Interface Pins: CS, U/D, INC
- Operating Temperature: –40 °C to +85 °C
Module Pin Count: 10 Pin (includes breakout headers)
Module Size: 14 mm × 15 mm × 3 mm
How It Works
The X9C104 module uses a series of internal resistors (approximately 1 kΩ each) connected in sequence. By changing the digital control inputs, you can move the wiper terminal to any of the 100 positions. This digitally adjusts the resistance between the high terminal (Vh) and the wiper (Vw), or between the wiper (Vw) and the low terminal (Vl).
The circuit operates entirely within the applied supply voltage range (0 V to Vcc) — negative voltages should not be applied to any pin.
Applications
Programmable voltage divider
Digital volume control
Sensor calibration and tuning
Analog signal adjustment
Variable gain amplifiers
Experimental and educational electronics
Pin Interface
| Pin | Name | Function |
|---|---|---|
| 1 | CS | Chip Select – Enables the device when low |
| 2 | U/D | Controls the direction of resistance change (Up/Down) |
| 3 | INC | Steps the wiper position when toggled |
| 4 | Vh | High end of the resistor network |
| 5 | Vw | Adjustable wiper output |
| 6 | Vl | Low end of the resistor network |
| 7 | Vcc | Power supply (5V) |
| 8 | GND | Ground connection |
// X9C104 Digital Potentiometer Example Code
// Controls resistance up/down using digital pins
// Define pin connections for the X9C104
const int CS_PIN = 10; // Chip Select
const int INC_PIN = 9; // Increment
const int UD_PIN = 8; // Up/Down
void setup() {
// Set pin modes
pinMode(CS_PIN, OUTPUT);
pinMode(INC_PIN, OUTPUT);
pinMode(UD_PIN, OUTPUT);
// Initialize pins
digitalWrite(CS_PIN, HIGH); // Disable the device initially
digitalWrite(INC_PIN, HIGH); // Default INC state
digitalWrite(UD_PIN, LOW); // Default direction
}
void loop() {
// Example: Increase resistance by 10 steps
digitalWrite(CS_PIN, LOW); // Enable the device
digitalWrite(UD_PIN, HIGH); // Direction: Increase resistance
for (int i = 0; i < 10; i++) {
digitalWrite(INC_PIN, LOW); // Trigger step
delayMicroseconds(5); // Short delay (minimum 1 µs)
digitalWrite(INC_PIN, HIGH); // Reset increment pin
delayMicroseconds(5);
}
digitalWrite(CS_PIN, HIGH); // Disable device
delay(1000); // Wait 1 second
// Example: Decrease resistance by 5 steps
digitalWrite(CS_PIN, LOW);
digitalWrite(UD_PIN, LOW); // Direction: Decrease resistance
for (int i = 0; i < 5; i++) {
digitalWrite(INC_PIN, LOW);
delayMicroseconds(5);
digitalWrite(INC_PIN, HIGH);
delayMicroseconds(5);
}
digitalWrite(CS_PIN, HIGH);
delay(1000);
}








Reviews
There are no reviews yet.