Thermistors
Over Temperature Current Limiting
There are two temperature sensitive currrent limiting modules on the ODrive Pro, <axis>.motor.fet_thermistor
and <axis>.motor.motor_thermistor
.
The temperature reading (in Celcius) from each thermistor can be monitored from <thermistor>.temperature
.
Both modules can be enabled by setting <thermistor>.config.enabled
to True.
When enabled, either module will start limiting the motor current when the <thermistor>.config.temp_limit_lower
threshold is exceeded.
The current limit will then ramp down, ending with 0A once <thermistor>.config.temp_limit_upper
is reached.
If the temperature continues to rise past <thermistor>.config.temp_limit_upper
+ 5°C, the ODrive will exit CLOSED_LOOP_CONTROL
with an error of either INVERTER_OVER_TEMP
or MOTOR_OVER_TEMP
, depending on which thermistor exceeded this threshold.

Current Limit vs. Thermistor Temperature
Warning
The lower and upper thresholds for <axis>.motor.fet_thermistor
can be changed, but this is not recommended.
Motor Thermistor Configuration
All motors with an integrated thermistor offered by odriverobotics are compatible, otherwise make sure you have an NTC type thermistor before use.
Connect the thermistor wires to THERMISTOR+ and THERMISTOR- (polarity does not matter)
Single Wire Thermistor
Make sure that the thermistor shares a common ground with the ODrive, we suggest connecting to J8 pin 4 or 11.
Configure the Thermistor + pin to
GpioMode.ANALOG_IN
.Set the thermistor parameters:
motor_thermistor.config.r_ref
: Resistance of the thermistor at the reference temperature (usually at 25°C). This can be found in the datasheet of your thermistor and is usually denoted as R_25.motor_thermistor.config.beta
: Beta value of the thermistor. Can be found in the datasheet of your thermistor. Sometimes denoted as B (25/85) or similar.motor_thermistor.config.t_ref
: Reference temperature (in °C) for whichr_ref
is given. Defaults to 25.
Set both
motor_thermistor.config.temp_limit_lower
andmotor_thermistor.config.temp_limit_upper
according to your motors datasheet.Set
motor_thermistor.config.enabled
to True.
Note
For users migrating from ODrive v3.*, no external circuitry is required to use a motor thermistor. The ODrive Pro has a built in 1k ohm voltage divider.
Fan Control (Pro only)
The ODrive Pro has one 12V supply with a switched negative lead (Fan-) on J12. This is designed to power an offboard fan which can be controlled by one of two modules:
<odrv>.config.odrv_fan
Used for cooling the ODrive FETs. Feedback is received from the integrated
fet_thermistor
<odrv>.config.motor_fan
Used for cooling the motor. Feedback is received from an offboard
motor_thermistor
Both <fan>
modules use hysteresis control, where the fan is engaged once the temperature reading reaches <fan>.upper
and remains on until the temperature drops below <fan>.lower
,
either module can be enabled by setting <fan>.enabled
to True.