Faults & errors

Identify whether output stopped because of a protection fault or a refused command.

A fault reports a detected problem. A hard fault stops motor output. A warning reports a condition to check but does not always stop output. A refusal means the controller did not accept a command or setting.

What a fault looks like on the motor

Select a pair of lights to play its pattern. Selecting another turns the first off; select the same pair again to stop. These are demonstrations of the two end lights, not a live connection.

End lightsMeaningNext step
Red and orange, alternatingA non-thermal fault has latched. Both end lights swap between red and orange.Open Health to identify the cause. The light pattern alone does not identify which fault occurred.
Orange, brief offset flashesThermal protection has stopped output. Each end flashes briefly, offset from the other.Disable, let the motor cool, and inspect load, limits, and cooling before testing again.
Current Measurement InvalidThe controller cannot trust its current measurement and stops output.Check battery power and connections. If it returns after the cause is cleared, stop testing and contact SWYFT support.
Current Control StoppedCurrent control cannot maintain a valid switching window.Check for a jam and review current limits. If it returns, stop testing and contact SWYFT support.

A command refusal does not necessarily create a fault-light pattern. Read the app’s message as well as the lights. See all status patterns for communication, enable, identify, and updater states.

Protection causes in this release

CauseBehaviorNext action
Power-stage faultThe electronics that switch power to the motor detected a fault and stopped output.Stop requests; inspect the power-stage report, wiring and load.
UndervoltageBus voltage is inadequate or collapses during drive.Check battery voltage and power connections while the mechanism is trying to move.
Over-temperatureSustained high board temperature stops output.Let it cool; inspect load, limits and cooling.
OvervoltageVoltage at the motor’s power input is too high.Check voltage at the motor and whether the problem occurs when stopping or reversing.
Encoder lossMotion angle is no longer valid.Stop and inspect the sensor/reference before rearming.
Invalid temperature sensorA sensor fault is treated as a thermal protection condition.Inspect the hardware; do not treat it as a temperature to tune around.
Emergency stopAn emergency-stop command keeps output disabled until it is released.Resolve the reason, release the latch, then satisfy enable conditions.

Warnings are not all hard faults

Temperature warning, low bus voltage, communication history and receive-loss evidence can be reported without meaning the same thing as a latched protection stop. Use the current library’s decoded state or the app’s health view. Do not test faultMask != 0 as a substitute for hasHardFault().

Common refusals

Refusal typeResponse
No gains / unsupported modeChoose a supported mode and configure the required gains.
DriverStation or enable gateFor SystemCore control over CAN, check Driver Station and motor enable state. For standalone USB-C testing without CAN, Driver Station is not required; check the motor enable state in SWYFT Link. On firmware 1.7.1 and later, USB-C requires robot permission after the Cyclone has received a robot heartbeat or CAN Disable. Restore permission and select ENABLE again. Unplugging CAN does not bypass this gate.
Controller armed during configurationStop output, then apply the supported setting again.
Field unsupportedUse a supported setting from the API reference.
Out of rangeCheck units and the device’s accepted range.
Another command ownerUse either robot code or SWYFT Link to command the motor, not both at the same time.

Command timeout: restore the connection, check that the mechanism is clear, then stop and deliberately enable again. Increasing the target or repeatedly clearing protection faults does not fix a missing command stream. See what happens when control is lost.

Clear the problem before enabling again

Disable motor output and fix the reported problem first. On a robot, also disable Driver Station. Then clear the fault or release the emergency stop, as appropriate, before enabling and sending a new command. Do not repeatedly clear a fault that returns; that can hide an unresolved electrical, mechanical, or temperature problem. Check the status lights and the message in SWYFT Link together.