Using an MCP41HVX1 digital potentiometer

I want to control an MCP41HVX1 high voltage digital potentiometer in rheostat mode and tried to adapt the circuit and code from a tutorial I found that uses an MCP41010. I also have a MCP41010 and can get it to work, but for my current project I need higher voltages going through the resistor.
I'm stuck for days now, has anyone ever used an MCP41HVX1 and got it to work with an Arduino?

I included a sketch of my circuit as an attachment, the connections are (Arduino -> Digital Potentiometer): 10-> CS, 11-> SDI, 13-> SCK, 5V -> VL and V+, GND -> DGND and V-, Measurement of resistance between P0A and P0B and wiper resistance between P0W and P0A (I also tried different pin combinations for this)

Here's my code, which works with the MCP41010 but not with the MCP41HVX1:

#include <SPI.h>
byte address = 0x11;
int CS= 10;

void setup()
{
  pinMode (CS, OUTPUT);
  SPI.begin();
}

void loop()
{
  digitalPotWrite(255, CS);

}

int digitalPotWrite(int value, char Port)
{
  digitalWrite(Port, LOW);
  SPI.transfer(address);
  SPI.transfer(value);
  digitalWrite(Port, HIGH);
}

Check your wiring against the pinout in the MCP41HVX1 data sheet.

I realize that this thread is old and the OP may have given up on finding a solution. I am providing an update for anyone else who may end up here like I did a while back looking for the same answer.

I have created an Arduino library on Github (GitHub - gregsrabian/MCP41HVX1: Class for control of the MCP41HVX1 family of digital potentiometers) which allows for control of this family of chips. The README.md within the github project documents all of the APIs and also provides the wiring diagram. There are also example sketches included.

I have also created an article on Instructables (https://www.instructables.com/id/MCP41HVX1-Digital-Potentiometer-for-Arduino/) that provides a step by step on how to control this family of chips. There is also an explanation on how to solder the TSSOP chip

2 Likes