Sending signals to a rotary encoder

Hello everyone, I'm working on controlling my "Form Wash" machine externally through my arduino, the machine has a turnable knob with a push button that scrolls through the UI to select time/start etc.

I'm able to control the push button by soldering wires to the PCB, the problem I am facing is that I don’t know whether it is possible to emulate the turning mechanism of the rotary encoder. The manufacturer of the machine will not disclose any information about the board or components on the PCB.

By closer inspection i have located the microchip that runs the machine, its a STM32F070CBT6, the operating voltage is 2.4 to 3.6 V. Everything is close sourced, and the usb port is only for firmware updates.



I've tried searching for the part number on the rotary switch as displayed in the picture (85EVN083A) with no results. The push function is working through the 2 pins on the right side (last picture).

I assume the last 3 pins is for the A/B signal and ground, when i turn the knob the signal goes from 0 to 3.3v and 0 to -3.3v.

Is it possible to send signals externally from my Arduino to the rotary switch pins? I've considered using a servo to turn the knob as a last solution, but i wanted to explore whether this way is possible first.
Thanks :slight_smile:

You don't need an exact part number. That is a fairly generic rotary encoder. Do a reverse lookup by going to some electronics distributor website and start comparing encoders with that footprint. It is very common, they are available as an Arduino module board.

I think FETs or even opto isolators could allow you to phantom-operate the contacts of the encoder.

You will likely have to disconnect the on board encoder, it will interfere with your tapped in circuit because these use quadrature encoding where one phase is always active in 3 out of 4 of the rotary positions. Else you will have to find that position and leave it there.

Assuming the encoder switches to ground (common), you could do some tricky ‘diode’ steering to implement a second ‘paralleled’ switching mechanism

I've found the the encoder as per aarg's suggestion looking through electronics distributor websites, it is a EVE-YPCAJ008B encoder with 8 pulses per revolution and has 16 detents.

In order to replicate these signals at channel A and B on the PCB, will i need to know the exact frequency of the pulses?

No - frequency depends on how fast you turn the knob. Just don't make it too high or the MCU may miss pulses.