meta data for this page
  •  

This is an old revision of the document!


lamaPLC project: Digitales Potentiometer Board Moduls

A digital potentiometer (or “digipot”), such as the Renesas X9C series, is a semiconductor device that replicates the function of a mechanical potentiometer—varying resistance—but replaces the manual knob with digital control signals.

Renesas X9C series

Renesas X9C series The X9C102, X9C103, X9C104, and X9C503 are digitally controlled (XDCP) potentiometers. The device consists of a resistor array, wiper switches, a control section, and nonvolatile memory. The wiper position is controlled by a three-wire interface.

The potentiometer is implemented using a resistor array composed of 99 resistive elements and a wiper-switching network. Between each element and at either end are tap points accessible to the wiper terminal. The position of the wiper element is controlled by the CS, U/D, and INC inputs. The wiper position can be stored in non-volatile memory and recalled upon subsequent power-up.

The device can be used as a three-terminal potentiometer or a two-terminal variable resistor in a wide variety of applications, from control to signal processing to parameter adjustment.

ModelTotal Resistance
(R total)
Step Size (approx.)Temp.CoefficientMax Terminal
Voltage Differential (ΔV)
X9C1021 KΩ10.1 Ω+600 ppm/°C4 V
X9C10310 KΩ101 Ω+300 ppm/°C10 V
X9C104100 KΩ505 Ω+300 ppm/°C10 V
X9C50350 KΩ1010 Ω+300 ppm/°C10 V
  • Resolution: 100 Wiper Tap Points (0–99).
  • Interface: 3-wire serial (CS, U/D, INC).
  • Memory: Non-volatile EEPROM (retains position for 100 years).
  • Supply Voltage (Vcc): 5V
  • Resistance Tolerance: ±20% end-to-end.
  • Typical Wiper Resistance: 40 Ω at 1 mA

Renesas X9C series block diagram

Full datasheet: https://www.renesas.com/en/document/dst/x9c102-x9c103-x9c104-x9c503-datasheet

Pinout for the Renesas X9C series module board

The Renesas X9C series module board, commonly known as the X9C103S module, organizes the chip's pins into two separate header rows, making it more convenient to connect with breadboards and microcontrollers such as Arduino. Usually, it includes a 5-pin control header on one side and a 3-pin potentiometer header on the opposite side.

HeaderPin LabelNameFunction
ControlVCCPowerConnects to +5V supply.
ControlGNDGroundCircuit common ground.
ControlCSChip SelectActive LOW. Must be pulled low to enable control.
ControlINCIncrementNegative-edge triggered. Pulses move the wiper.
ControlU/DUp/DownDirection: HIGH to increase, LOW to decrease.
PotentiometerVH (or H)HighHigh-end terminal of the pot (max +5V).
PotentiometerVW (or W)WiperThe adjustable “middle” output pin.
PotentiometerVL (or L)LowLow-end terminal of the pot (min -5V).

Quick Wiring Guide

  • For 0-5V Voltage Divider: Connect VH to 5V, VL to GND, and read the output from VW.
  • Control Interface: Connect CS, INC, and U/D to any three digital GPIO pins on your microcontroller.
  • Saving Settings: To save the current resistance so it persists after power-off, you must pull CS HIGH while INC is already HIGH.

Arduino example code

To operate a Renesas X9C series digital potentiometer (such as the X9C103S) with an Arduino, you can either utilise a dedicated library like DigiPotX9Cxxx or manually control the pins. Here is a straightforward example that gradually varies the resistance from minimum to maximum without requiring any external library.

Wiring Diagram

X9C Module PinArduino PinDescription
VCC5VPower Supply
GNDGNDGround
CSPin 10Chip Select (Active LOW)
INCPin 9Increment (Pulse to move)
U/DPin 8Up/Down (HIGH = Up, LOW = Down)
VH / VL5V / GNDTo use as a 0-5V voltage divider
VWA0Connect to Analogue Pin 0 to see results

// Pin Definitions
const int CS_PIN = 10;
const int INC_PIN = 9;
const int UD_PIN = 8;
 
void setup() {
  Serial.begin(9600);
 
  // Set control pins as outputs
  pinMode(CS_PIN, OUTPUT);
  pinMode(INC_PIN, OUTPUT);
  pinMode(UD_PIN, OUTPUT);
 
  // Initial state: deselect chip and set high idle
  digitalWrite(CS_PIN, HIGH);
  digitalWrite(INC_PIN, HIGH);
 
  Serial.println("Starting X9C Sweep...");
}
 
// Function to move the wiper 1 step
void moveWiper(bool up) {
  digitalWrite(UD_PIN, up ? HIGH : LOW); // Set direction
  digitalWrite(CS_PIN, LOW);             // Select chip
  delayMicroseconds(1);
 
  digitalWrite(INC_PIN, LOW);            // Falling edge moves wiper
  delayMicroseconds(1);
  digitalWrite(INC_PIN, HIGH);           // Return to high
 
  digitalWrite(CS_PIN, HIGH);            // Deselect to end movement
}
 
// Function to reset wiper to 0 (by moving down 100 times)
void resetToZero() {
  for (int i = 0; i < 100; i++) {
    moveWiper(false);
  }
}
 
void loop() {
  resetToZero(); // Start from a known position (0)
  Serial.println("At 0% resistance");
  delay(2000);
 
  // Gradually increase resistance
  for (int i = 0; i < 100; i++) {
    moveWiper(true);
    int value = analogRead(A0); // Read voltage at wiper
    Serial.print("Step: "); Serial.print(i);
    Serial.print(" | Analog Value: "); Serial.println(value);
    delay(50);
  }
 
  Serial.println("At 100% resistance");
  delay(2000);
}

Communication topics on lamaPLC

PageDateTags
2025/11/10 18:53, , , , , , , , , , , , , , , , , , , , , , ,
2025/05/31 21:56, , , , , , ,
2025/05/31 22:51, , , , , , , ,
2025/11/19 21:52, , , , , , , , , , , , ,
2025/11/20 20:43, , , , , , , ,
2025/05/31 22:58, , , , , , , , , , , , , ,
2024/11/16 20:08, , , , , , , , , , , , , ,
2024/11/16 20:21, , , , , , , , ,
2024/11/16 19:43, , , , , , , , , , , , , ,
2024/11/16 00:16, , , , , ,
2024/11/17 00:26, , , , , , , , , , , , ,
2024/11/15 20:15, , , , , , , , , , ,
2025/09/23 21:03, , , , , , , , ,
2024/11/16 00:46, , , , ,
2025/05/31 22:50, , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
2025/09/23 19:25, , , , , ,
2024/11/15 20:18, , , , , , , , , , ,
2026/03/05 15:43, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
2024/11/15 20:21, , , , , , , , , , , ,
2025/11/19 21:42, , , , , , , , ,
2024/11/15 20:28, , , , , , , , , , , , , ,
2025/05/31 22:16, , , , , , ,
2024/11/16 01:26, , , , , , ,
2024/11/15 20:33, , , , , , , , , , , , , , ,
2024/11/15 21:15, , , , , , , ,
2024/11/16 19:09, , , , , , , , ,
2025/05/31 21:52, , , , , , , , , , , , , , , , , ,
2024/11/15 21:51, , , ,
2024/11/15 21:50, , , ,
2024/11/15 21:52, , , , ,
2024/11/17 00:33, , , ,
2024/11/16 20:44, , , , , , , , , ,
2024/11/15 21:58, , , , , , , ,
2025/11/20 21:49, , , , , , , , , , , , , , , , , , , , ,
2024/11/15 22:07, , , , , , , , , , ,
2025/02/11 20:21, , , , ,
2025/11/20 23:07, , , , , , , , , , ,
2024/11/16 18:46, , , , ,
2024/11/16 23:39, , , , , , , , , , , , ,
2024/11/15 23:36, , , , , , , , , , , , , , ,
2024/11/17 21:25, , , , ,
2024/11/17 21:43, , , , , , , , , , , , , , , , , , , , , , ,
2026/03/21 19:20, , , , , , ,
2026/03/05 15:40, , , , , , , ,
2026/02/14 22:24, , , , , , , , , , , , ,
2026/03/28 22:07, , , , , , ,
2026/02/15 20:40, , , , , , , , , , , , , ,
2026/02/14 22:48, , , , , ,
2026/02/14 23:37, , , , , , , , , , ,
2026/02/14 22:40, , , , , , , , , ,
2026/02/14 22:39, , , , , , , , , , ,
2026/02/14 23:39, , , , , , , , , , , , ,
2026/02/14 18:11, , , , , , , ,
2026/02/15 20:44, , , , , ,
2026/03/05 15:20, , , ,
2025/05/31 21:32, , , , , , , ,
2026/02/14 19:29, , , , , , , , , , , , , ,
2025/11/21 23:07, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
2023/07/01 15:29, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
2026/02/14 22:45, , , , , , , , ,
2026/02/14 22:09, , , , , , , , , , , , , , , ,
2026/02/14 21:54, , , , , , , , , , , , , , , , , , , , , , , , ,
2026/02/15 23:59, , , , , , , , , , ,
2026/03/28 18:02, , , , , , , , , , , , , , , ,
2026/02/14 23:58, , , , , , , , , , ,
2024/11/15 20:17, , , , , , , , , , , , , , ,
2026/02/14 17:27, , , , , , , , , ,
2026/02/14 23:35, , , , ,
2026/02/14 23:38, , , , , , ,
2026/02/14 22:52, , , , , , , ,
2026/02/15 20:20, , , , , , , , , , , , , , , , , ,
2026/02/14 22:23, , , , , , , ,
2024/11/15 20:39, , , , , , , , ,
2026/02/14 17:42, , , , , , ,
2024/11/18 17:55, , , , , , , ,
2023/06/24 22:42, , , , , , , , , ,
2023/06/19 21:24, , , , , , , , , , , , ,
2026/02/15 20:27, , , , , , , , , , , , , , , ,
2026/02/15 20:29, , , , , , , , , , , , , ,
2026/02/14 22:51, , , , , ,
2026/02/15 22:34, , , , , , , , , , , , , , , , , , , , , , , ,
2026/02/14 22:22, , , , , , , , , , , , ,
2025/11/20 21:41, , , , , , ,
2023/06/24 22:43, , , , , ,
2026/02/14 22:21, , , , , , , , , , ,
2026/02/14 22:22, , , , , , , ,
2026/03/05 15:20, , , , , , , , , , ,
2024/08/18 14:52, , , , , , ,
2026/02/14 23:00, , , , , , , , ,
2026/03/05 20:19, , , , , , , , , , , , , , , , ,
2026/02/14 17:49, , , , , ,
2025/11/13 22:59, , , , , , , , , , , , , , , ,
2023/06/17 19:43, , , , ,
2023/06/01 11:45, , , , , , ,

This page has been accessed for: Today: 2, Until now: 2