Basic ESC setup

Hi all,

I am looking for some information on how to set up a basic ESC using Arduino. I have several questions as follows:

  1. When the ESC is powered on, the red and green lights briefly flash and then no lights at all. What does this mean?
  2. My ESC only has two control wires coming out of it (orange+brown). All diagrams I have seen all have three. Should my ESC have three?
  3. For testing purposes, I am using the ESC with a single phase two wire motor, we have not committed to buying a T100 yet. Can i still control a two wire motor with the ESC by connecting two of the output legs?
  4. I have tried several different codes, and none of them seem to work. I have tried the code in the Basic ESC documentation with no results.
If anyone has any solutions, it would be greatly appreciated. I would like to be able to control a motor using a potentiometer, Arduino, basic ESC, and motor. I am new to coding and Arduino, but have lots of electrical experience.

Best,

Mac

Hi Mac,

Controlling an ESC is a great introduction to using and programming an Arduino, and was one of my first experiences with the Arduino system. To answer your questions:

  1. The lights both come on at startup to indicate power on an normal functionality. The green light blinks quickly several times to indicate the voltage as a multiple of the equivalent voltage of a lithium polymer cell. The green light also shines when the ESC is in neutral at 1500us to indicate a ready state. The red light would also flash in sequence to indicate an error if one occurred.

  2. The manufacturer of the BasicESC has recently stopped producing the design with three wires, and is now only producing the two wire design you have with no BEC. The middle red wire is not a control wire, rather it is an auxiliary 5V output to power other electronics. There is no difference in functionality between the two designs other than the lack of a 5V BEC.

  3. Although this is hypothetically possible, the firmware in the BasicESC is not set up to run anything other than a three phase brushless motor. It will not be able to operate a two wire single phase motor.

  4. The example code should definitely work if everything is connected properly. Are you hooking up a three phase brushless motor and plugging the signal and ground control wires to the correct pins on the Arduino (any GND, digital pin 9?

To help you get started with potentiometer control, I put together this Arduino program for you. A potentiometer hooked to 5V, GND, and A0 will be able to regulate the PWM output on digital pin 9 to control an ESC. Note that you will first have to send a neutral signal to the ESC by turning the potentiometer to the correct position in order to itialize it.

#include "Servo.h" // include servo library

Servo servo;  // create servo object to control a servo

// the setup routine runs once when you press reset:
void setup() {
  servo.attach(9);  // attaches the servo on pin 9 to the servo object
}

// the loop routine runs over and over again forever:
void loop() {
  int pwmValue = map(analogRead(A0), 0, 1023, 1100, 1900); // convert analog voltage on A0 to PWM value

  servo.writeMicroseconds(pwmValue); // write PWM value to ESC
}

-Adam

1 Like

Adam,

Thanks for the response. I will try that code. Since I do not have a brushless motor at the moment, is there a way to use a voltmeter to meter the output from the ESC to verify that it is working? Hopefully we will be purchasing some T100s in the near future.

Mac

Mac,

Its not really practical to use a multimeter to verify that it is working. A brushless ESC operates on the principle of knowing what position the motor is in currently, and firing phases as necessary. A brushless ESC will not give a proper output without a brushless motor connected. A multimeter across two phases should show some sort of voltage rise, but not anything that will allow you to accurately confirm proper operation. There are may inexpensive brushless motors commonly available that you could test with instead.

-Adam

Hey Adam,

I just received my second T200 + BasicESC and there was NO BEC output which jives with your #2 above, specifically “The manufacturer of the BasicESC has recently stopped producing the design with three wires, and is now only producing the two wire design you have with no BEC.”

Well, that sucks… :wink: Now I have to add an external BEC to my design. I am guessing the internal ESC BEC was problematic. Maybe issues related to heating and the like. Given the BasicESC BEC output was only rated at 1/2 amp, this is a great excuse for me to incorporate a much higher output BEC into my design.

BlueRobotics might want to update their website page for the Basic 30A ESC (w/ forward/reverse firmware) to reflect this change.

Phil

Hi Phil,

You’re right, I’ve just gone ahead an edited the store and documentation pages to clarify that the BasicESC will no longer include a BEC. We previously held off on this because for a time we were getting both and switching between the two depending which was available. The BEC wasn’t really a problem, it just wasn’t necessary for most intended applications by the manufacturer and must have sold in lower enough quantities to merit discontinuing.

-Adam

1 Like

Jumping on this conversation.

I ordered some Basic ESC’s about 2 weeks ago. Got the 3 wire ones.

Just to be clear, I do NOT need to wire up the BEC line? (Using OpenROV motors and Arduino)

Just PWM and GND correct?

Togas,

That is correct. The 5v wire is not needed for operation.

-Rusty

Thank you!
I’m starting to put everything together. I’m glad I can omit the BEC path now. :slight_smile: