Position based on RPM

Hello, newb alert sorry.

I am trying to vary my intake manifolds trumpet position using RPM as a variable.

I have purchased the following

1 x #2319 Concentric LACT4P-12V-5 Linear Actuator with Feedback: 4" Stroke, 12V, 1.7"/s
1 x #1394 Pololu Jrk 21v3 USB Motor Controller with Feedback (Fully Assembled)

I have since come to the realization that the above will be too bulky and possibly too slow.

The movements would occur between the rpm range of 3000 - 8000.

I would want the positions moved approx 10 times (every 500 rpm) between a length of 0-6"
(not necessarily in a linear motion either, hence why acceleration is a factor)

Rough example of what I want to achieve:

3000 rpm = 6"
3500 rpm = 5"
4000 rpm = 3"
4500 rpm = 4.5"
5000 rpm = 1"

I have since purchased:

1 x #1350 Micro Maestro 6-Channel USB Servo Controller (Assembled)
1 x #2148 Power HD Low-Profile Digital Servo 1207TG

The thought being to utilize the speed of the servo and also take advantage of the small size.

I can make arms of varying lengths to bolt on to a servo to adjust the stroke.
(I have a small cnc machine shop but electronics is not my strong suit :blush: )

I am thinking that I need to take the rpm signal, convert it into voltage and then connect it to a general I/O controller and then connect it to the servo controller…But I could be way off.

Could someone please put me on the right track?

Thanks for taking the time to read all that! :slight_smile:


Hello, Chris.

I am not sure what kind of signal your RPM signal is, but if you can convert it into an analog voltage from 0V to 5V, you might be able to just use a Maestro channel configured as an input to read the voltage and adjust the servo accordingly. Alternatively, you can probably use a separate microcontroller such as an Arduino to read the analog signal and send serial commands to the Maestro.

By the way, it sounds like you might be using our products to modify your car; please note that we generally do not recommend any of our products be used in projects that may be dangerous or result in property damage.


Hi Brandon, thanks for the reply.

You are correct, the rpm signal will be in volts (0-5).

Could you please elaborate on how to configure this?

Do I just soder the 0-5v into the RX (serial input) and then program it via the software?

Thanks again for your time.

While the Maestro can accept 0V to 5V analog signals, it cannot do that through the RX pin. To use an analog signal as an input, it would need to be applied to a Maestro channel configured as an input. Maestro channels can be configured with the options in the “Channel Settings” tab of the Maestro Control Center. You can find more information about the channel modes in the “Channel Settings” section of the Maestro controller’s user’s guide. Please note that Maestro channels 0 through 11 will act as analog inputs and Maestro channels 12 and up will act as digital inputs. Since you are using a 6-channel Maestro, you should be able to use any of the available channels for your analog input. Once a channel is configured as an input, you can connect your 0V to 5V analog signal to that channel’s signal pin. You will also need to make sure you have a ground connection between the Maestro and your device. Then, you can write a Maestro script that reads the signal and moves a servo accordingly. You might find the “Using an analog input to control servos” example script, which can be found in the “Example Scripts” section of the Maestro controller’s user’s guide, helpful as a starting point.

By the way, I suggest using temporary connections for testing instead of soldering permanent connections, especially if you are a beginner. Once you know the system will work how you want it to, you can go back and make permanent connections.


On the other hand, Brandon, if he is using this with a car, many temporary connections (e.g, breadboards) would be far too fragile for the vibration.

That said, so would unsupported solder, so OP might want to crimp alot.

Thanks for the replies.

I will get everything setup running on the bench before I fit it in the car.

I will try to isolate the parts from vibration and heat as much as possible.