Skip to content

Wave ESC - User Guide

Wave ESC - User Guide

This guide will walk you through the essential steps to connect, configure, and test your Wave ESCs with a flight controller running ArduPilot. This guide focuses on the DroneCAN protocol, the recommended method for its simple wiring, robust communication, and rich telemetry features.

Wave ESC to Flight Controller Connection Diagram Wave ESC and Flight Controller Setup Mission Planner DroneCAN Setup

⚠️ Warning: In ArduPilot, DroneCAN-based ESCs are typically only supported on the CAN1 port. Ensure your ESCs are connected to the CAN1 port of your flight controller for proper operation.

Prerequisites

  • A flight controller with ArduPilot (Copter, Plane, etc.) installed.
  • Mission Planner installed on your computer.
  • Your Wave ESC(s) and drone motor(s).
  • A battery appropriate for your ESC and motor setup (4S-8S).

Hardware Connection

  1. Signal Connection: Connect the CAN_H and CAN_L wires from your Wave ESC to the CAN1 port on your flight controller.
  2. Multiple ESCs: If connecting multiple Wave ESCs (or other CAN devices), connect them in a bus configuration (daisy-chained).
  3. Power Connection: Connect the main GND and VBAT wires from the ESC to your Power Distribution Board (PDB) or battery.

ArduPilot Configuration

  1. Connect your flight controller to Mission Planner via USB.
  2. Go to the Config > Full Parameter List screen.
  3. Set the following parameters to enable DroneCAN:
ParameterValueDescription
CAN_P1_DRIVER1Enables the driver for the first CAN port.
CAN_D1_PROTOCOL8Sets the protocol to DroneCAN.
MOT_PWM_TYPE16Sets the motor output type to DroneCAN.
MOT_PWM_MIN1000Matches ArduPilot’s output to the ESCs.
MOT_PWM_MAX2000Matches ArduPilot’s output to the ESCs.
  1. Configure Motor Assignments:

    • Set CAN_D1_UC_ESC_BM to a bitmask representing your active motors. For a quadcopter (motors 1-4), this is 15 (binary 1111).
    • Verify that each servo function is set correctly for DroneCAN motors:
      • SERVO1_FUNCTION = 33 (Motor 1)
      • SERVO2_FUNCTION = 34 (Motor 2)
      • SERVO3_FUNCTION = 35 (Motor 3)
      • SERVO4_FUNCTION = 36 (Motor 4)

    Note: These are often set automatically when you select your frame type in ArduPilot, but it’s good to verify.

  2. Click Write Params and reboot your flight controller.


ESC Configuration & Motor Testing

With DroneCAN, you can configure each ESC individually directly through Mission Planner.

Connect to the ESCs

  1. Power on the autopilot and the Wave ESCs.
  2. Connect to the autopilot using Mission Planner.
  3. Navigate to Setup > Optional Hardware > DroneCAN/UAVCAN.
  4. Select the correct CAN port from the drop-down (e.g., MAVLinkCAN1) and press the Connect button.
  5. Your connected Wave ESCs will appear in the list.

Set ESC Parameters

For each ESC listed, you must configure its basic parameters. Click the Menu button next to an ESC and select Parameters.

The following parameters are critical for initial setup:

ParameterDescription
ESC_INDEXThe motor number, starting from 0. For a quadcopter, this would be 0, 1, 2, and 3. Assign a unique index to each ESC that matches your servo function assignments.
DIR_REVERSEDSets the motor’s spin direction. Set to 1 to reverse or 0 for normal.
MOTOR_POLESThe number of magnetic poles in your motor (e.g., 14). Find this in your motor’s specifications.
MOTOR_KVThe motor’s KV rating (RPM per volt).

After changing the parameters for an ESC, press Write Params. Repeat this process for all connected ESCs.

Test Motor Direction and Order

  1. Go to Setup > Motor Test.
  2. Test each motor individually to confirm that the correct motor spins (e.g., Motor A spins motor 1) and that its direction is correct for your frame type.
  3. Reverse Motor Direction (if needed):
    • Individual ESC Method: Return to the DroneCAN page, select the corresponding ESC, and toggle the DIR_REVERSED parameter to 1.
    • Bulk Reverse Method: Use the CAN_D1_UC_ESC_RV parameter. This is a bitmask where setting the corresponding bit to ‘1’ will reverse that motor. For example, if motor 2 needs to be reversed on a quadcopter, you’d set CAN_D1_UC_ESC_RV to 2 (binary 0010). This can reverse multiple motors at once.

Setup Complete! Your Wave ESCs are now configured with DroneCAN, providing control and real-time telemetry.