Showing results for 
Search instead for 
Did you mean: 

Digital potentiometer X9C103s

Associate II

Hello everyone!

Do you guys know how one can establish a connection b/w STM32H7A3ZIQ and a potentiometer X9C103s?

Do I need to include a new library for that in the main body of the program? if so, how?

Are there any resources I may utilize to establish such a connection?


ST Employee

The X9C103S is a simple digital potentiometer that requires no special connection. Only a few GPIOs are needed, which you "press" instead of a button and thus:

  • enables the potentiometer for writing (pin 7, -CS)
  • sets the direction of the change (pin 2, U/-D)
  • applies one low pulse per step (pin 1, -INC)

Yes, you can even find Arduino libraries for this, but it's so simple that you can write it yourself with just a few lines.

<edit>I forgot to point out that the digital potentiometer is operated with 5V. So you have to take 5V-tolerant pins on the STM32H7A3 and operate them with open-drain and external pull-up.</edit>

Good luck!



In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
Associate II

Hello Peter!

Many thanks for your reply.

Let me see how to translate this into logic. (I'm still a rookie in programming and in using STM32)

What is meant by saying, 5V tolerant pins?


> What is meant by saying, 5V tolerant pins?

Those, which are marked as FT (FT_***) in the pin definition table in datasheet.

But the input levels of X9C103S are TTL-compatible (2.0V/0.8V), they will work with the TC pins of STM32, too, as long as VDD of STM32 is 2.7V and higher.