Problem getting Turnigy SK3 2822 to run


After trying different settings of current and reading all forum posts related to lower current motors, I am a bit lost.

  1. The errors that I’m getting in hex are not enumerated in any of the files:
In [148]: hex(odrv0.axis0.motor.error)
Out[148]: '0x11'


In [149]: hex(odrv0.axis0.error)
Out[149]: '0x41'

Here are my axis0 configs:

In [151]: odrv0.axis0.config
startup_motor_calibration = True (bool)
startup_encoder_index_search = False (bool)
startup_encoder_offset_calibration = False (bool)
startup_closed_loop_control = True (bool)
startup_sensorless_control = False (bool)
enable_step_dir = False (bool)
counts_per_step = 2.0 (float)
ramp_up_time = 0.4000000059604645 (float)
ramp_up_distance = 12.566370964050293 (float)
spin_up_current = 7.0 (float)
spin_up_acceleration = 400.0 (float)
spin_up_target_vel = 400.0 (float)

Here are my motor configs:

In [159]: odrv0.axis0.motor.config
pre_calibrated = False (bool)
pole_pairs = 7 (int)
calibration_current = 5.0 (float)
resistance_calib_max_voltage = 11.0 (float)
phase_inductance = 0.0 (float)
phase_resistance = 0.0 (float)
direction = 1 (int)
motor_type = 0 (int)
current_lim = 7.0 (float)
requested_current_range = 80.0 (float)

Any thoughts on what I’m missing? Do I need to re-compile the firmware and reflash?


The inductance and resistance values at zero raises an eyebrow, although it makes sense if you can’t get the motor to even calibrate. Forgive me for asking the obvious, but are you confident that the motor and the encoder are plugged into M0, and not M1? I did that last week.


Comfirmed it is on M0. The motor does a tiny twitch initially but almost imperceptible.

The one thing I am not sure at all are the Phases A,B,C. The little Turnigy motor didn’t come
labeled at all so I just connected A,B, and C randomly to the three motor cables.


The connection order of the phases doesn’t actually matter, so you can rule that out as a cause. Swapping any two wires will just make the motor turn the other way.


This is ERROR_PHASE_RESISTANCE_OUT_OF_RANGE and ERROR_CONTROL_DEADLINE_MISSED together. I don’t know which one came first, and hence is the actual error. My guess is the phase resistance out of range.

Try setting requested_current_range to 20, and calibration_current to 3. What is the resistance of your motor (specify if it’s phase or line-to-line)?


Hey @madcowswe thanks for the reply. I will try changing those values. The internal resistance is 0.235 ohms. It doesn’t say whether if’s phase or line-line on their spec sheet:

Any ideas of how to check?


Hm I think in either case you shouldn’t get resistance out of range with the values you had already. Can you use a multimeter in ohm or continuity mode to check the resistance of all 3 combinations of 2 phases? It doesn’t have to be accurate, we are just checking if the connection is broken on one.


You mean disconnecting all 3 phase wires from the ODrive board, then measuring resistance between 2 of the cables at a time?


I’m seeing the same thing when using a small motor, resistances of the coils seem very similar to Alan’s.


We have just received an Odrive board v3.5
Trying to set it up to run a small hubmotor (4inch outer tyre diameter) with Encoder, no index)
We have followed the getting start procedure but when we tell it to Run full Calibration sequence. Nothing happens, either in the command prompt or the motor) and when we check the axis errors we get 41.