Introduction: Using the WASP Motor Controller (ESC)

About: Progressive Automations is your primary source for electric linear actuators, motion control systems and automation accessories. For over a decade, we have supplied various industries with top quality automati…

In this Instructable we will be learning to control a WASP motor controller using an Arduino.

The WASP motor controller is an Electronic Speed Controller (ESC), taking a RC signal input from an Arduino and boosting it to a high voltage level. The WASP takes a power voltage of 6.5V - 28V, and can provide continuous current of 10A, with 30A spikes.

If the power voltage is between 6.5V - 20V, the WASP draws power from that source. If the power voltage is above 20V, the BEC connector (see image below) must be cut, and an external 5V supply must be given to power the WASP. If the signal wires (red yellow black) are connected, the WASP can draw power through the red and black lines. The yellow wire is the signal wire.

External limit switches may be added to stop motion of the actuator.

See the user manual here:

Step 1: Wiring

When wiring the WASP you can either solder directly to the board or solder heavy duty screw terminals to the connection points. Be sure to use heavy enough wire gauge (see here) to account for the current that your motor will be drawing.

Wiring the WASP is as follows:

- Connect the battery to the positive and negative terminals of the WASP

- Connect the signal wire to the Arduino

  • Red is 5V
  • Black is GND
  • Yellow is signal

- Test your motor leads on the motor connection to ensure the polarity is correct before you secure them in place.

Step 2: Programming the Arduino

Here is the example code to move the actuator at varying speeds.

By using the myservo.writeMicroseconds() function, you can enter values between 1000 - 2000 to get different speeds. 1000 is full speed reverse (retract), 1500 is stop, 2000 is full speed forwards (extend).

/*Sample code for the Robot Power Wasp. 

 This ESC is controlled using RC signals, with pulses
  ranging from 1000 - 2000 microseconds.

  The main loop of this program holds the actuator still for 1 second, extends for 2 seconds,
  stops for 1 second, retracts for 2 seconds, and repeats.

  Modified by Progressive Automations, using the original example code "Sweep" from the 
  Arduino example libraries. 
  - 1 Wasp Controller
  - Arduino Uno
  Control side:
  - Connect the red/black to +5v and GND
  - Connect the yellow wire to your signal pin on the Arduino (in this example, pin 9)
  Power Side:
  - Connect the +/- of the motors power supply to the +/- connections on the Wasp
  - Connect the +/- of the actuator to the remaining two connections

  This example code is in the public domain.

#include <servo.h>  
Servo myservo;  // create servo object to control a servo 
                // twelve servo objects can be created on most boards
int pos = 0;    // variable to store the servo position 
void setup() 
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object 
void loop() 
    myservo.writeMicroseconds(1500); // stop signal
    delay(1000);  //1 second
    myservo.writeMicroseconds(2000); // full speed forwards signal
    delay(2000); //2 seconds  
    myservo.writeMicroseconds(1500); // stop signal
    delay(1000);  // 1 second
    myservo.writeMicroseconds(1000); // full speed reverse signal
    delay(2000); //2 seconds   


Step 3: Conclusion

In this Instructable we learned how the WASP motor controller gives you flexible control of an actuator, by using regular RC signals to control the motion. These code snippets and wiring diagrams can be combined with the examples in our other Instructables to make your project however you like.

If you'd like to take a look at our selection of linear actuators, motions control systems and microcontrollers then please visit us at for all your actuator needs! We can even build a custom actuator or control system for you based on your own custom specifications with the help of our highly trained staff of engineers! You can learn more about the custom order process right here.

Follow, Like and Subscribe!

Twitter -

Facebook -

Youtube -