Replace a 0-10v Potentiometer with arduino

I’m currently looking at a spindle controller that have a 10v put into a potentiometer to control the speed. I’m looking to see if it’s possible to replace that potentiometer with Arduino control using cnc sheild.
If you have any ideas on how I could do this I would love to know.

-Thanks in advance.

Post your schematic to see how we can help.

"put into" ?? Schematic please?

This is the best I have got.
It’s a WS55-220s BLDC speed controller

Uses a 10v potentiometer to control motor speeds

Where is the mentioned pot connected?

Here is a picture with the descriptions

What CNC shield? The arduino alone can not produce an analog voltage from 0-10V.

Nope, but take a digital pot (X9C103 or so) and a rail-to-rail opamp that will go to 12V and Bob's your uncle.

Or use a high voltage digital potentiometer.

1 Like

If you go with the DS3502, Adafruit sells it on a breakout board (easy wiring vs. surface mount) Adafruit DS3502 I2C Digital 10K Potentiometer Breakout [STEMMA QT / Qwiic] : ID 4286 : $4.95 : Adafruit Industries, Unique & fun DIY electronics and kits
and already has an Arduino library for using it.

All the pot does is divide the 10V. Am I missing something here? Why not just put a control voltage into SV?

You nee to feed a variable voltage (range: 0V to 10V) at SV-point, which Arduino UNO is unable to provide as it has no DAC (Digital to Analog Converter). You can try with DUE Board which has DAC unit.

You can low pass filter a PWM output. There are also external DAC modules that you could use.

Many / most PWM inputs for controllers have an internal supply and resistor so the addition of an external variable resistor can control the item.

I suspect that it is the case here. If so you can use a simple small mosfet (or transistor) to PWM the input.

For a test, disconnect the pot the SV pin should go to 10V and the speed to max.

Short the SV to ground (aka pot turned all the way down). The speed should go to min.

Now there may be a condition where if the pot is open the controller will recognize this and shut the motor down. On an LED controller the light will go to max but perhaps safety is a factor here.

If you want to try you would have to do something like this. Also note the PWM will be reversed. i.e. low pwm duty cycle = high speed and high pwm duty cycle = low speed.
You may or may not have to add a capacitor from SV to ground. I would start without a capacitor.


Always an interesting point using PWM, but should the Arduino crash or its power fail, the "PWM" will default to either full on or full off.

In which case what might happen?

One could likely force one condition or the other. Perhaps with AC coupling.

Get a PWM to voltage converter board from ebay.

Never heard of a digipot can it be controlled with one analog pin on an Arduino?
And is the digipot isolated from the control voltage eg: 0-5v from the arduino controlling it with 10v on the output powered by spindle controller?

This sounds like it might be great I’ll have a look.

  • thanks.

If you need isolation (usually a good idea) you could still control with PWM and use an opto isolator.