RC Speed Controller (ESC) Arduino Library | RobotShop Community

Eric, just like to state that I have successfully used your ESC library (only available via the Arduino site so far) and now have full nRF24L01 comms for two r/c servos as used for rudder control movement together with variable speed control, forward and reverse of a brushed dc motor The code is a bit hashed but will post to forum over the next two days. I can now build a simple 2.4GHz transmitter/receiver combination for small boats for a few peanuts!
Question. By experiment I found that the calibration assigns pin A0 in the ESC library to myESC, is that correct? Could it be changed?

Hello, I have a Turnigy 20A brushed ESC that I want to control a 9.6 V Mabuchi Motor . I want to use a 12 V DC Source as power . How can I limit the voltage going to the motor to 9.6 V ?
What are the arming value and min max for this ESC ? How should I set the battery and brake jumpers ? 10x !

@BOGDAN, The answer is actually in the question. If you want to limit the maximum voltage you can decrease the “MAX PWM” value. A normal remote system will send a signal between 1000 and 2000 to your ESC or Servo and will require a value other than Zero close to the low value to be armed. Until armed the ESC will not respond to any commands / signals.

@Kim, Thanks a lot. If you have the time it would be great to see your project on the RobotShop forum. The pin should be the one configured in the block which is “9” by default but you can change it to any PWM able pin.

I am using a Hobbyking Turnigy 20A ESC UBEC and been trying to get it to work with arduino. Reading your blog I tried it with your ESC library but with no success. I ran the calibration code and no problems with the ESC responding correctly. The three beeps, recognizing the throttle setting.
I run afterwards the ramp example and nothing, motor doesn`t respond and the esc sometimes beeps, so I think the throttle ranges are not set correctly. Any ideas I can try would be appreciated.
Thank you

@Jose - It’s most probably your “arming value” which has to be set to another value. Try raising it 100pt at a time.

Thanks for posting this, the ramp example works fine for me. How do I go about getting reverse to work? My RC controller does that well.

@Steve - Usually if your ESC is able to do reverse it would only be a matter of sending the right signal. Some ESC’s will have a middle neutral position of 1500 so anything above will move a direction and bellow the opposite.

I have had no success at all with this library if I could get some help it would be great, i am only using the ESC_ramp example and it doesnt work

@Alistair - The easiest would be to do a Forum post since it’s a lot easier to go back and forth in troubleshooting. Explain what you tried after the calibration.

Hi, is there a way to convert the PWM value to actual speed? For example in the code,

ESC myESC (ESCpin, 1000, 2000, 500);

What is 2000 microseconds and speed equivalent? How do I find out the adctual RPM on my rotor?

@Ty - There are no actual relation between this value and the real RPM of the motor. If you know the Maximum and Minimum speed of your motor you could do the math in your project.

was wondering how to use reverse with this lib? other libs of this type have specific functions for reversing im sure the answer is right up in my face and im just failing to see it

@james W: There are not “specific” function for reversing but if you have an ESC that feature reverse operation it will most probably be sending a command bellow it’s center signal value.

addtional question can this Lib be used in conjunction with the Servo Lib, IE, loading them both, I can activate the servo but esc will not arm but loaded without servo lib the esc will then work?

@james W: This library actually use the Servo library and they should work together.

Hi Kim,
Im very interested to see the code youve made to control the servo and also manage setting the ESC with reverse. Could you please share it with us?

Hi there. I lost calibration after pluggout esc’s power cable. i upload calibration sample code to re calibrate. After that i upload my main program to arduino.

Is there any way to calibrate esc in my main code(in setup).
Thank you.

First, it’s not normal to loose the calibration as this should be done only once.
However, you can do the calibration whenever you want in your setup if needed.

Ok. I will try wifh different Esc.
I tried calibrate in my main code’s setup function, but it is hard to make perfect timing for esc ‘s calibration proccess. Have you any suggestion for that. Thanks a lot.