Home        Store        Docs        Blog

Basic ESC Setup & Operation



I’m a total noob in this world so bear with me. I searched around a bit but am still unsure as to what my options are.

I’m looking to pair a Basic ESC with the T200 thruster. From what I understand, the ESC comes preloaded with firmware allowing for basic forward/reverse operation. I’m looking to test various propeller designs using a load cell to measure thrust and would like to control the motor speed with a computer/program (rather than a physical lever) in order to test at specific speeds. How would I go about doing this?

I’m also curious if the ESC itself can provide me information such as angular velocity (RPM), voltage, or current.

I’d be happy to provide more info if needed.

Thanks in advance,

(Adam) #2

Hi Zach,

Sorry for the belated reply!

Standard ESCs, including the basic ESC, are controlled by PWM signals, which range from 1100μs to 1900μs for full reverse to full forward in the case of the BasicESC, with neutral at 1500μs. If you would like to very precisely control the speed, then you need to precisely generate PWM signals, which is easy to do with an Arduino board. A simple Arduino program based on our example code will let you change the throttle value easily with a computer.

You cannot receive any telemetry information back through the PWM line, but you can do so and also control the ESC via I2C. The BasicESC should be able to report RPM and voltage information, though I2C on the BasicESC is a “hackable” feature. The pads are under the heat shrink, so you will need to cut that off and load a modified firmware for I2C operation. You can see this forum post for more information, and these instructions for how to flash the required modified firmware file.



Thanks for the help Adam.

I’ve got an Arduino Uno now and have begun looking into setup and code. The code seems simple enough, but the sponsor for our project would like everything to be done in LabVIEW if possible. I have some experience collecting data in LabVIEW but not much beyond that. For now, I’ve downloaded the LabVIEW Interface for Arduino (LIFA) Toolkit and have begun trying to figure things out.

So, just a few questions that. Some may be a bit more geared towards LabVIEW.

  • Are there any major benefits to using I2C over PWM for ESC control? The LabVIEW Arduino interface has a few example for servo control that may be useful for PWM operation, but other than that I’m not sure what the better route would be.
  • If we do proceed with LabVIEW, I imagine we will still have to flash the required firmware, no?

Thanks again. I’m trying to research best I can but sometimes it’s just nice to talk with someone who has experience.

(Adam) #4

Hi Zach,

I don’t have much experience with LabVIEW other than wrestling with it during some of my engineering lab classes.

There will be no practical difference in controlling the ESC either with I2C or PWM. The only benefit of I2C will be the ability to obtain the aforementioned telemetry once you have made the necessary modification to the ESC. However, unless the telemetry is absolutely necessary, I would recommend sticking with PWM for ESC control. Its much more reliable and less painful to fix if there is an issue with the code or physical setup. You will not need to flash the firmware unless you want to use I2C, PWM signals directly through an Arduino or via LabVIEW will be the same.