Currawong Velocity CAN ESCs¶
Currawong’s Velocity range of ESCs provide motor control for the aerospace sector, with a high degree of reliability.
Designed for driving extremely large motors for heavy-lift applications, the Velocity range of ESCs is available in power levels above 20kW
Up to 18S (75V) battery packs
Sustained currents above 300A
Fully isolated communication interface
Designed and manufactured in Australia
The Velocity ESC provides a CAN communication interface for commands and telemetry. A traditional digital PWM interface is also supported. They support both PiccoloCAN and DroneCAN protocols.
Additionally, the Velocity ESC provides an optional hardware interlock for increased operator safety.
Where to Buy¶
Contact Currawong Engineering for purchasing details.
The Velocity ESC uses the PiccoloCAN protocol. Originally developed for the Piccolo autopilot, the protocol is now natively supported by ArduPilot
To enable communication with the Velocity ESCs using PiccoloCAN, the following parameters must be set.
Set CAN_D1_PROTOCOL = 4 (PiccoloCAN)
Set CAN_P1_DRIVER = 1 (First driver) to specify that the ESCs are connected to the CAN1 port
Set MOT_SPIN_ARM = 0.03 meaning the motors will spin at 3% of full thrust when armed
Set MOT_SPIN_MIN = 0.05 meaning the motors will spin at no less than 5% of full thrust when flying
SERVOx_FUNCTIONto each motor channel (e.g. 33 - 40 for motors 1 - 8). This is automatically configured when setting frame class/type. If a motor channel isn’t assigned to a servo output, commands won’t be sent to the associated ESC.
By default, all configured motor channels are used to send control commands to Velocity ESCs. These control messages are transmitted by the autopilot at a default rate of 50Hz. These parameters can be modified using:
The following configuration settings should be used on the Velocity ESC for operation with Ardupilot:
Set Piccolo Node ID to the motor channel the ESC should listen to. Note this may not be the same as the configured servo output number.
Listen for Broadcast Commands.
Refer to DroneCAN ESCs Autopilot Setup.
To configure the ESC to receive commands from
x - 1(e.g. for
escIndex= 4). Note that this is different to PiccoloCAN, where motor channels are assigned to node ids, rather than servo output channels to the
Telemetry periods can be configured with the
By default, the ESC respects arming messages from the Autopilot. To always software enable the ESC when a command is received, and ignore arming messages, set
config.swInhibit= 1 (False).
By default, the Velocity ESC is configured to use Dynamic Node id Allocation (DNA).
dronecan.nodeId should be set to “0” (to use DNA), unless all devices on the CAN bus are configured to use static IDs.
Only the DroneCAN specific settings are shown when fetching settings using the DroneCAN protocol. The full suite of Velocity ESC settings can be configured by enabling the
It is recommended to configure your motor, and perform ESC and motor validation using PiccoloCAN with CEquip, and swap to DroneCAN, if required, during vehicle integration.
Logging and Reporting¶
Velocity ESCs provide comprehensive telemetry information back to the autopilot which is recorded in the autopilot’s onboard log, and can be viewed in any ArduPilot compatible log viewer. This information includes:
Motor Temperature (when used with an external sensor)
This information (except the motor temperature) can also be viewed in real-time using a ground station. If using the Mission Planner go to the Flight Data screen’s status tab and look for (e.g.) esc1_rpm.
Sending ESC data to the GCS requires using MAVLink2. Please check the appropriate SERIALx_PROTOCOL parameter is 2 (where “x” is the serial port number used for the telemetry connection).