Logo
0.6.8
  • GUIDES
    • Getting Started
      • Wire up the ODrive
        • Hardware Requirements
        • Connections
        • Safety & Power Up
      • Status LED
      • Connecting to the ODrive
      • Next Steps
    • odrivetool Setup
      • Configure Power Supply
      • Motor Configuration
        • Setting the Limits
          • Current limit
          • Velocity limit
          • Temperature limits
      • Encoder Configuration
        • Viewing Encoder Feedback
      • Position Control
      • Other Control Modes
      • What’s Next?
    • Firmware Update
      • Other Options
      • Troubleshooting
      • Flashing with an STLink
    • Tuning the Controller
      • Other Parameters to Tweak
    • CAN Bus Guide
      • Hardware Setup
      • Setting up the ODrive
      • Setting up the Host
        • Enable CAN Hat
        • Verifying Communcation
      • Examples (Python)
        • Intro: Read Heartbeat
        • Closed Loop Control
    • Python Package
      • Example
      • ODrive Python Package
        • odrive.utils
          • BulkCapture
          • OperationAbortedException
          • dump_errors()
          • format_errors()
          • fw_version_str_to_tuple()
          • print_drv_regs()
          • ram_osci_run()
          • rate_test()
          • start_liveplotter()
          • usb_burn_in_test()
    • Arduino Guide
      • Overview
      • Connecting the Arduino to the ODrive
      • Configuring the ODrive
      • Setting Up ODrive for UART
      • Installing the ODriveArduino Library
      • Example Sketch
      • Troubleshooting
        • Arduino hangs at Waiting for ODrive...
        • Arduino hangs at Enabling closed loop control...
        • Motor makes “humming” noise while moving
      • Arduino Library Reference
    • ROS2 CAN Package
      • Setting Up the ODrive
      • Installing the odrive_can Package
      • Inspection
    • Common Applications
      • RC PWM
    • Anticogging
      • Overview
      • Preparation
      • How to enable anticogging
      • Limitations
      • Known issues
    • S1 M8325S Kit Build Guide
      • What’s in the box
      • What you’ll need
      • Hardware Setup
        • Apply Thermal Pad
        • Attach to Heat Spreader
        • Attach Motor to Mounting Plate
        • Attach ODrive to Motor
        • Wiring
      • Software Setup
    • ODrive Firmware Deployment System
      • Overview
        • Features
      • How to install the bootloader
      • Updating firmware over USB
      • Updating firmware over CAN
      • ODrive Updater
      • Specifications
      • Known issues
      • How to uninstall the bootloader
  • HARDWARE SPECIFICATIONS
    • ODrive Pro Datasheet
      • Electromechanical Specifications
        • Electrical
        • Physical
        • CAD
        • Environmental
      • Pinout
        • Power Pads
        • Logic Pins
        • Notes
    • ODrive S1 Datasheet
      • Electromechanical Specifications
        • Electrical
        • CAD
        • Environmental
      • Pinout
        • Power Pads
        • Logic Pins
        • Notes
    • Hardware Compatibility
      • Motors
      • Encoders
  • REFERENCE MANUAL
    • ODrive Overview
      • System Status LED
      • Per-Axis Commands
        • State Machine
        • Startup Procedure
        • Control Mode
          • Control Commands
      • System Monitoring Commands
        • Encoder Position and Velocity
        • Motor Current and Torque Estimation
      • General System Commands
        • Saving the Configuration
        • Diagnostics
    • Hardware Configuration
      • Power System
        • Trip Levels
        • Regenerated Power
        • Brake Resistors (S1 Only)
        • Voltage Feedback (S1 Only)
      • Temperature Regulation
        • Thermistors
          • Over Temperature Current Limiting
          • Motor Thermistor Configuration
        • Fans (ODrive Pro Only)
      • Encoders
        • Overview
        • Onboard Encoder
        • Incremental Encoders
          • Index Search
        • RS-485 Encoders
        • Hall Effect Encoders
        • SPI Encoders
        • Sensorless
    • Controller
      • Structure
        • Position Control loop
        • Velocity Control Loop
        • Current Control Loop
      • Control Modes
        • Filtered Position Control
        • Trajectory Control
          • Parameters
          • Usage
        • Circular Position Control
        • Absolute Position Control
          • Using a Well-known Startup Position
        • Velocity Control
        • Ramped Velocity Control
        • Torque Control
    • Application Interfaces
      • USB
      • UART Interface
        • Connection
        • Configuration
      • ASCII Protocol
        • Sending Commands
        • Command Format
        • Command Reference
          • Motor Trajectory
          • Motor Position
          • Motor Velocity
          • Motor Torque
          • Request Feedback
          • Update Motor Watchdog
          • Set Absolute Position
        • Parameter Reading/Writing
        • System Commands
      • ODrive Communication Protocol
        • Packet Format
          • Request
          • Response
        • Stream Format
        • CRC Algorithms
          • CRC8
          • CRC16
      • CAN Protocol
        • CAN Frame
        • Messages
        • Cyclic Messages
        • Watchdog
        • DBC Files
        • Interoperability with CANopen
      • Analog Input
      • PWM Input
      • Step/Direction
        • Pinout
        • How to Configure
    • ODrive API Reference
      • ODrive
        • ODrive.test_function()
        • ODrive.get_adc_voltage()
        • ODrive.save_configuration()
        • ODrive.erase_configuration()
        • ODrive.reboot()
        • ODrive.enter_dfu_mode()
        • ODrive.enter_dfu_mode2()
        • ODrive.disable_bootloader()
        • ODrive.get_interrupt_status()
        • ODrive.get_dma_status()
        • ODrive.get_gpio_states()
        • ODrive.set_gpio()
        • ODrive.get_drv_fault()
        • ODrive.clear_errors()
        • ODrive.get_raw_8()
        • ODrive.get_raw()
        • ODrive.get_raw_32()
        • ODrive.get_raw_256()
        • ODrive.vbus_voltage
        • ODrive.ibus
        • ODrive.ibus_report_filter_k
        • ODrive.serial_number
        • ODrive.hw_version_major
        • ODrive.hw_version_minor
        • ODrive.hw_version_variant
        • ODrive.hw_version_revision
        • ODrive.fw_version_major
        • ODrive.fw_version_minor
        • ODrive.fw_version_revision
        • ODrive.commit_hash
        • ODrive.fw_version_unreleased
        • ODrive.bootloader_version
        • ODrive.n_evt_sampling
        • ODrive.n_evt_control_loop
        • ODrive.task_timers_armed
        • ODrive.task_times
        • ODrive.system_stats
        • ODrive.user_config_loaded
        • ODrive.misconfigured
        • ODrive.oscilloscope
        • ODrive.debug
        • ODrive.can
        • ODrive.test_property
        • ODrive.identify
        • ODrive.reboot_required
        • ODrive.issues
        • ODrive.auth
        • ODrive.TaskTimes
          • ODrive.TaskTimes.sampling
          • ODrive.TaskTimes.encoder_update
          • ODrive.TaskTimes.control_loop_misc
          • ODrive.TaskTimes.control_loop_checks
          • ODrive.TaskTimes.current_sense_wait
          • ODrive.TaskTimes.dc_calib_wait
        • ODrive.SystemStats
          • ODrive.SystemStats.uptime
          • ODrive.SystemStats.min_heap_space
          • ODrive.SystemStats.max_stack_usage_axis
          • ODrive.SystemStats.max_stack_usage_usb
          • ODrive.SystemStats.max_stack_usage_uart
          • ODrive.SystemStats.max_stack_usage_can
          • ODrive.SystemStats.max_stack_usage_startup
          • ODrive.SystemStats.stack_size_axis
          • ODrive.SystemStats.stack_size_usb
          • ODrive.SystemStats.stack_size_uart
          • ODrive.SystemStats.stack_size_startup
          • ODrive.SystemStats.stack_size_can
          • ODrive.SystemStats.prio_axis
          • ODrive.SystemStats.prio_usb
          • ODrive.SystemStats.prio_uart
          • ODrive.SystemStats.prio_startup
          • ODrive.SystemStats.prio_can
          • ODrive.SystemStats.usb
          • ODrive.SystemStats.i2c
          • ODrive.SystemStats.Usb
            • ODrive.SystemStats.Usb.rx_cnt
            • ODrive.SystemStats.Usb.tx_cnt
            • ODrive.SystemStats.Usb.tx_overrun_cnt
          • ODrive.SystemStats.I2C
            • ODrive.SystemStats.I2C.addr
            • ODrive.SystemStats.I2C.addr_match_cnt
            • ODrive.SystemStats.I2C.rx_cnt
            • ODrive.SystemStats.I2C.error_cnt
        • ODrive.Issues
          • ODrive.Issues.get()
          • ODrive.Issues.length
        • ODrive.Auth
          • ODrive.Auth.get_pub_key1()
          • ODrive.Auth.get_cert1()
          • ODrive.Auth.auth1()
        • ODrive.HistogramLogger
          • ODrive.HistogramLogger.swap()
          • ODrive.HistogramLogger.get_stats()
          • ODrive.HistogramLogger.get_sum()
          • ODrive.HistogramLogger.get_vals8()
        • ODrive.CircularLog
          • ODrive.CircularLog.get_vals8()
          • ODrive.CircularLog.size
        • ODrive.Config
          • ODrive.Config.enable_uart_a
          • ODrive.Config.uart_a_baudrate
          • ODrive.Config.enable_can_a
          • ODrive.Config.usb_cdc_protocol
          • ODrive.Config.uart0_protocol
          • ODrive.Config.max_regen_current
          • ODrive.Config.dc_bus_undervoltage_trip_level
          • ODrive.Config.dc_bus_overvoltage_trip_level
          • ODrive.Config.dc_max_positive_current
          • ODrive.Config.dc_max_negative_current
        • ODrive.Can
          • ODrive.Can.error
          • ODrive.Can.n_restarts
          • ODrive.Can.n_rx
          • ODrive.Can.config
          • ODrive.Can.Error
            • ODrive.Can.Error.DUPLICATE_CAN_IDS
          • ODrive.Can.Config
            • ODrive.Can.Config.baud_rate
            • ODrive.Can.Config.protocol
          • ODrive.Can.Protocol
            • ODrive.Can.Protocol.SIMPLE
        • ODrive.Endpoint
          • ODrive.Endpoint.endpoint
          • ODrive.Endpoint.min
          • ODrive.Endpoint.max
        • ODrive.Axis
          • ODrive.Axis.watchdog_feed()
          • ODrive.Axis.set_abs_pos()
          • ODrive.Axis.active_errors
          • ODrive.Axis.disarm_reason
          • ODrive.Axis.step_dir_active
          • ODrive.Axis.last_drv_fault
          • ODrive.Axis.steps
          • ODrive.Axis.current_state
          • ODrive.Axis.requested_state
          • ODrive.Axis.is_homed
          • ODrive.Axis.config
          • ODrive.Axis.motor
          • ODrive.Axis.controller
          • ODrive.Axis.trap_traj
          • ODrive.Axis.min_endstop
          • ODrive.Axis.max_endstop
          • ODrive.Axis.mechanical_brake
          • ODrive.Axis.pos_vel_mapper
          • ODrive.Axis.commutation_mapper
          • ODrive.Axis.interpolator
          • ODrive.Axis.task_times
          • ODrive.Axis.procedure_result
          • ODrive.Axis.disarm_time
          • ODrive.Axis.is_armed
          • ODrive.Axis.observed_encoder_scale_factor
          • ODrive.Axis.Config
            • ODrive.Axis.Config.startup_max_wait_for_ready
            • ODrive.Axis.Config.startup_motor_calibration
            • ODrive.Axis.Config.startup_encoder_index_search
            • ODrive.Axis.Config.startup_encoder_offset_calibration
            • ODrive.Axis.Config.startup_closed_loop_control
            • ODrive.Axis.Config.startup_homing
            • ODrive.Axis.Config.enable_step_dir
            • ODrive.Axis.Config.step_dir_always_on
            • ODrive.Axis.Config.calib_range
            • ODrive.Axis.Config.calib_scan_distance
            • ODrive.Axis.Config.calib_scan_vel
            • ODrive.Axis.Config.index_search_at_target_vel_only
            • ODrive.Axis.Config.watchdog_timeout
            • ODrive.Axis.Config.enable_watchdog
            • ODrive.Axis.Config.step_gpio_pin
            • ODrive.Axis.Config.dir_gpio_pin
            • ODrive.Axis.Config.error_gpio_pin
            • ODrive.Axis.Config.enable_error_gpio
            • ODrive.Axis.Config.calibration_lockin
            • ODrive.Axis.Config.sensorless_ramp
            • ODrive.Axis.Config.general_lockin
            • ODrive.Axis.Config.can
            • ODrive.Axis.Config.load_encoder
            • ODrive.Axis.Config.commutation_encoder
            • ODrive.Axis.Config.encoder_bandwidth
            • ODrive.Axis.Config.I_bus_hard_min
            • ODrive.Axis.Config.I_bus_hard_max
            • ODrive.Axis.Config.torque_soft_min
            • ODrive.Axis.Config.torque_soft_max
            • ODrive.Axis.Config.motor
            • ODrive.Axis.Config.anticogging
            • ODrive.Axis.Config.CalibrationLockin
              • ODrive.Axis.Config.CalibrationLockin.current
              • ODrive.Axis.Config.CalibrationLockin.ramp_time
              • ODrive.Axis.Config.CalibrationLockin.ramp_distance
              • ODrive.Axis.Config.CalibrationLockin.accel
              • ODrive.Axis.Config.CalibrationLockin.vel
            • ODrive.Axis.Config.Motor
              • ODrive.Axis.Config.Motor.motor_type
              • ODrive.Axis.Config.Motor.pole_pairs
              • ODrive.Axis.Config.Motor.phase_resistance
              • ODrive.Axis.Config.Motor.phase_inductance
              • ODrive.Axis.Config.Motor.phase_resistance_valid
              • ODrive.Axis.Config.Motor.phase_inductance_valid
              • ODrive.Axis.Config.Motor.torque_constant
              • ODrive.Axis.Config.Motor.direction
              • ODrive.Axis.Config.Motor.current_control_bandwidth
              • ODrive.Axis.Config.Motor.wL_FF_enable
              • ODrive.Axis.Config.Motor.bEMF_FF_enable
              • ODrive.Axis.Config.Motor.ff_pm_flux_linkage
              • ODrive.Axis.Config.Motor.ff_pm_flux_linkage_valid
              • ODrive.Axis.Config.Motor.motor_model_l_d
              • ODrive.Axis.Config.Motor.motor_model_l_q
              • ODrive.Axis.Config.Motor.motor_model_l_dq_valid
              • ODrive.Axis.Config.Motor.calibration_current
              • ODrive.Axis.Config.Motor.resistance_calib_max_voltage
              • ODrive.Axis.Config.Motor.current_soft_max
              • ODrive.Axis.Config.Motor.current_hard_max
              • ODrive.Axis.Config.Motor.current_slew_rate_limit
              • ODrive.Axis.Config.Motor.fw_enable
              • ODrive.Axis.Config.Motor.fw_mod_setpoint
              • ODrive.Axis.Config.Motor.fw_fb_bandwidth
              • ODrive.Axis.Config.Motor.acim_gain_min_flux
              • ODrive.Axis.Config.Motor.acim_autoflux_enable
              • ODrive.Axis.Config.Motor.acim_autoflux_min_Id
              • ODrive.Axis.Config.Motor.acim_autoflux_attack_gain
              • ODrive.Axis.Config.Motor.acim_autoflux_decay_gain
              • ODrive.Axis.Config.Motor.acim_nominal_slip_vel
              • ODrive.Axis.Config.Motor.sensorless_observer_gain
              • ODrive.Axis.Config.Motor.sensorless_pll_bandwidth
              • ODrive.Axis.Config.Motor.sensorless_pm_flux_linkage
              • ODrive.Axis.Config.Motor.sensorless_pm_flux_linkage_valid
          • ODrive.Axis.TaskTimes
            • ODrive.Axis.TaskTimes.thermistor_update
            • ODrive.Axis.TaskTimes.sensorless_estimator_update
            • ODrive.Axis.TaskTimes.endstop_update
            • ODrive.Axis.TaskTimes.can_heartbeat
            • ODrive.Axis.TaskTimes.controller_update
            • ODrive.Axis.TaskTimes.open_loop_vector_generator_update
            • ODrive.Axis.TaskTimes.acim_estimator_update
            • ODrive.Axis.TaskTimes.motor_update
            • ODrive.Axis.TaskTimes.current_controller_update
            • ODrive.Axis.TaskTimes.current_sense
            • ODrive.Axis.TaskTimes.pwm_update
          • ODrive.Axis.LockinConfig
            • ODrive.Axis.LockinConfig.initial_pos
            • ODrive.Axis.LockinConfig.current
            • ODrive.Axis.LockinConfig.ramp_time
            • ODrive.Axis.LockinConfig.ramp_distance
            • ODrive.Axis.LockinConfig.accel
            • ODrive.Axis.LockinConfig.vel
            • ODrive.Axis.LockinConfig.finish_distance
            • ODrive.Axis.LockinConfig.finish_on_vel
            • ODrive.Axis.LockinConfig.finish_on_distance
          • ODrive.Axis.CanConfig
            • ODrive.Axis.CanConfig.node_id
            • ODrive.Axis.CanConfig.is_extended
            • ODrive.Axis.CanConfig.version_msg_rate_ms
            • ODrive.Axis.CanConfig.heartbeat_msg_rate_ms
            • ODrive.Axis.CanConfig.encoder_msg_rate_ms
            • ODrive.Axis.CanConfig.iq_msg_rate_ms
            • ODrive.Axis.CanConfig.error_msg_rate_ms
            • ODrive.Axis.CanConfig.temperature_msg_rate_ms
            • ODrive.Axis.CanConfig.bus_voltage_msg_rate_ms
            • ODrive.Axis.CanConfig.torques_msg_rate_ms
          • ODrive.Axis.AxisState
            • ODrive.Axis.AxisState.UNDEFINED
            • ODrive.Axis.AxisState.IDLE
            • ODrive.Axis.AxisState.STARTUP_SEQUENCE
            • ODrive.Axis.AxisState.FULL_CALIBRATION_SEQUENCE
            • ODrive.Axis.AxisState.MOTOR_CALIBRATION
            • ODrive.Axis.AxisState.ENCODER_INDEX_SEARCH
            • ODrive.Axis.AxisState.ENCODER_OFFSET_CALIBRATION
            • ODrive.Axis.AxisState.CLOSED_LOOP_CONTROL
            • ODrive.Axis.AxisState.LOCKIN_SPIN
            • ODrive.Axis.AxisState.ENCODER_DIR_FIND
            • ODrive.Axis.AxisState.HOMING
            • ODrive.Axis.AxisState.ENCODER_HALL_POLARITY_CALIBRATION
            • ODrive.Axis.AxisState.ENCODER_HALL_PHASE_CALIBRATION
            • ODrive.Axis.AxisState.ANTICOGGING_CALIBRATION
        • ODrive.AnticoggingConfig
          • ODrive.AnticoggingConfig.set_map()
          • ODrive.AnticoggingConfig.get_map()
          • ODrive.AnticoggingConfig.enabled
          • ODrive.AnticoggingConfig.max_torque
          • ODrive.AnticoggingConfig.calib_start_vel
          • ODrive.AnticoggingConfig.calib_end_vel
          • ODrive.AnticoggingConfig.calib_coarse_tuning_duration
          • ODrive.AnticoggingConfig.calib_fine_tuning_duration
          • ODrive.AnticoggingConfig.calib_fine_dist_scale
          • ODrive.AnticoggingConfig.calib_coarse_integrator_gain
          • ODrive.AnticoggingConfig.calib_bidirectional
        • ODrive.BrakeResistor
          • ODrive.BrakeResistor.current_meas
          • ODrive.BrakeResistor.current_meas_status
          • ODrive.BrakeResistor.duty
          • ODrive.BrakeResistor.additional_duty
          • ODrive.BrakeResistor.current
          • ODrive.BrakeResistor.chopper_temp
          • ODrive.BrakeResistor.is_armed
          • ODrive.BrakeResistor.is_saturated
        • ODrive.BrakeResistorConfig
          • ODrive.BrakeResistorConfig.enable
          • ODrive.BrakeResistorConfig.resistance
          • ODrive.BrakeResistorConfig.enable_dc_bus_voltage_feedback
          • ODrive.BrakeResistorConfig.dc_bus_voltage_feedback_ramp_start
          • ODrive.BrakeResistorConfig.dc_bus_voltage_feedback_ramp_end
        • ODrive.Motor
          • ODrive.Motor.alpha_beta_controller
          • ODrive.Motor.foc
          • ODrive.Motor.fet_thermistor
          • ODrive.Motor.motor_thermistor
          • ODrive.Motor.acim_estimator
          • ODrive.Motor.sensorless_estimator
          • ODrive.Motor.torque_estimate
          • ODrive.Motor.mechanical_power
          • ODrive.Motor.electrical_power
          • ODrive.Motor.effective_current_lim
          • ODrive.Motor.resistance_calibration_I_beta
          • ODrive.Motor.input_id
          • ODrive.Motor.input_iq
        • ODrive.Mapper
          • ODrive.Mapper.set_abs_pos()
          • ODrive.Mapper.status
          • ODrive.Mapper.pos_rel
          • ODrive.Mapper.pos_abs
          • ODrive.Mapper.vel
          • ODrive.Mapper.config
          • ODrive.Mapper.Config
            • ODrive.Mapper.Config.circular
            • ODrive.Mapper.Config.circular_output_range
            • ODrive.Mapper.Config.scale
            • ODrive.Mapper.Config.offset_valid
            • ODrive.Mapper.Config.offset
            • ODrive.Mapper.Config.approx_init_pos_valid
            • ODrive.Mapper.Config.approx_init_pos
            • ODrive.Mapper.Config.index_offset_valid
            • ODrive.Mapper.Config.index_offset
            • ODrive.Mapper.Config.use_index_gpio
            • ODrive.Mapper.Config.index_search_always_on
            • ODrive.Mapper.Config.index_gpio
            • ODrive.Mapper.Config.use_endstop
        • ODrive.OnboardEncoder
          • ODrive.OnboardEncoder.get_field_strength()
          • ODrive.OnboardEncoder.status
          • ODrive.OnboardEncoder.raw
        • ODrive.Rs485EncoderGroup
          • ODrive.Rs485EncoderGroup.status
          • ODrive.Rs485EncoderGroup.raw
          • ODrive.Rs485EncoderGroup.config
          • ODrive.Rs485EncoderGroup.Config
            • ODrive.Rs485EncoderGroup.Config.mode
        • ODrive.IncrementalEncoder
          • ODrive.IncrementalEncoder.status
          • ODrive.IncrementalEncoder.pos_min
          • ODrive.IncrementalEncoder.pos_max
          • ODrive.IncrementalEncoder.pos_residual
          • ODrive.IncrementalEncoder.raw
          • ODrive.IncrementalEncoder.config
          • ODrive.IncrementalEncoder.Config
            • ODrive.IncrementalEncoder.Config.enabled
            • ODrive.IncrementalEncoder.Config.cpr
        • ODrive.HallEncoder
          • ODrive.HallEncoder.status
          • ODrive.HallEncoder.hall_cnt
          • ODrive.HallEncoder.raw_hall_state
          • ODrive.HallEncoder.abs_pos_min
          • ODrive.HallEncoder.abs_pos_max
          • ODrive.HallEncoder.config
          • ODrive.HallEncoder.Config
            • ODrive.HallEncoder.Config.enabled
            • ODrive.HallEncoder.Config.hall_polarity
            • ODrive.HallEncoder.Config.hall_polarity_calibrated
            • ODrive.HallEncoder.Config.ignore_illegal_hall_state
        • ODrive.SpiEncoder
          • ODrive.SpiEncoder.get_field_strength()
          • ODrive.SpiEncoder.status
          • ODrive.SpiEncoder.raw
          • ODrive.SpiEncoder.warning
          • ODrive.SpiEncoder.n_errors
          • ODrive.SpiEncoder.inject_errors
          • ODrive.SpiEncoder.config
          • ODrive.SpiEncoder.Config
            • ODrive.SpiEncoder.Config.ncs_gpio
            • ODrive.SpiEncoder.Config.mode
            • ODrive.SpiEncoder.Config.delay
            • ODrive.SpiEncoder.Config.max_error_rate
            • ODrive.SpiEncoder.Config.baudrate
            • ODrive.SpiEncoder.Config.biss_c_bits
        • ODrive.EncoderEstimator
          • ODrive.EncoderEstimator.status
          • ODrive.EncoderEstimator.pos_estimate
          • ODrive.EncoderEstimator.vel_estimate
        • ODrive.Interpolator
          • ODrive.Interpolator.status
          • ODrive.Interpolator.interpolation
          • ODrive.Interpolator.config
          • ODrive.Interpolator.Config
            • ODrive.Interpolator.Config.dynamic
        • ODrive.OnboardThermistorCurrentLimiter
          • ODrive.OnboardThermistorCurrentLimiter.temperature
        • ODrive.OffboardThermistorCurrentLimiter
          • ODrive.OffboardThermistorCurrentLimiter.temperature
          • ODrive.OffboardThermistorCurrentLimiter.config
          • ODrive.OffboardThermistorCurrentLimiter.Config
            • ODrive.OffboardThermistorCurrentLimiter.Config.gpio_pin
            • ODrive.OffboardThermistorCurrentLimiter.Config.r_ref
            • ODrive.OffboardThermistorCurrentLimiter.Config.t_ref
            • ODrive.OffboardThermistorCurrentLimiter.Config.beta
            • ODrive.OffboardThermistorCurrentLimiter.Config.temp_limit_lower
            • ODrive.OffboardThermistorCurrentLimiter.Config.temp_limit_upper
            • ODrive.OffboardThermistorCurrentLimiter.Config.enabled
        • ODrive.AlphaBetaFrameController
          • ODrive.AlphaBetaFrameController.current_meas_phA
          • ODrive.AlphaBetaFrameController.current_meas_phB
          • ODrive.AlphaBetaFrameController.current_meas_phC
          • ODrive.AlphaBetaFrameController.current_meas_status_phA
          • ODrive.AlphaBetaFrameController.current_meas_status_phB
          • ODrive.AlphaBetaFrameController.current_meas_status_phC
          • ODrive.AlphaBetaFrameController.I_bus
          • ODrive.AlphaBetaFrameController.Ialpha_measured
          • ODrive.AlphaBetaFrameController.Ibeta_measured
          • ODrive.AlphaBetaFrameController.max_measurable_current
          • ODrive.AlphaBetaFrameController.power
          • ODrive.AlphaBetaFrameController.n_evt_current_measurement
          • ODrive.AlphaBetaFrameController.n_evt_pwm_update
        • ODrive.FieldOrientedController
          • ODrive.FieldOrientedController.p_gain
          • ODrive.FieldOrientedController.i_gain
          • ODrive.FieldOrientedController.I_measured_report_filter_k
          • ODrive.FieldOrientedController.Id_setpoint
          • ODrive.FieldOrientedController.Iq_setpoint
          • ODrive.FieldOrientedController.Vd_setpoint
          • ODrive.FieldOrientedController.Vq_setpoint
          • ODrive.FieldOrientedController.phase
          • ODrive.FieldOrientedController.phase_vel
          • ODrive.FieldOrientedController.Id_measured
          • ODrive.FieldOrientedController.Iq_measured
          • ODrive.FieldOrientedController.v_current_control_integral_d
          • ODrive.FieldOrientedController.v_current_control_integral_q
          • ODrive.FieldOrientedController.mod_d
          • ODrive.FieldOrientedController.mod_q
          • ODrive.FieldOrientedController.final_v_alpha
          • ODrive.FieldOrientedController.final_v_beta
        • ODrive.Oscilloscope
          • ODrive.Oscilloscope.config()
          • ODrive.Oscilloscope.trigger()
          • ODrive.Oscilloscope.trigger_high_res()
          • ODrive.Oscilloscope.get_raw()
          • ODrive.Oscilloscope.size
          • ODrive.Oscilloscope.pos
          • ODrive.Oscilloscope.rollover
          • ODrive.Oscilloscope.recording
        • ODrive.Debug
          • ODrive.Debug.block()
          • ODrive.Debug.hal_ticks
        • ODrive.AcimEstimator
          • ODrive.AcimEstimator.rotor_flux
          • ODrive.AcimEstimator.slip_vel
          • ODrive.AcimEstimator.phase_offset
          • ODrive.AcimEstimator.stator_phase_vel
          • ODrive.AcimEstimator.stator_phase
        • ODrive.Controller
          • ODrive.Controller.move_incremental()
          • ODrive.Controller.input_pos
          • ODrive.Controller.input_vel
          • ODrive.Controller.input_torque
          • ODrive.Controller.pos_setpoint
          • ODrive.Controller.vel_setpoint
          • ODrive.Controller.torque_setpoint
          • ODrive.Controller.effective_torque_setpoint
          • ODrive.Controller.trajectory_done
          • ODrive.Controller.vel_integrator_torque
          • ODrive.Controller.autotuning_phase
          • ODrive.Controller.config
          • ODrive.Controller.autotuning
          • ODrive.Controller.spinout_mechanical_power
          • ODrive.Controller.spinout_electrical_power
          • ODrive.Controller.Config
            • ODrive.Controller.Config.enable_vel_limit
            • ODrive.Controller.Config.enable_torque_mode_vel_limit
            • ODrive.Controller.Config.enable_gain_scheduling
            • ODrive.Controller.Config.gain_scheduling_width
            • ODrive.Controller.Config.enable_overspeed_error
            • ODrive.Controller.Config.control_mode
            • ODrive.Controller.Config.input_mode
            • ODrive.Controller.Config.pos_gain
            • ODrive.Controller.Config.vel_gain
            • ODrive.Controller.Config.vel_integrator_gain
            • ODrive.Controller.Config.vel_integrator_limit
            • ODrive.Controller.Config.vel_limit
            • ODrive.Controller.Config.vel_limit_tolerance
            • ODrive.Controller.Config.vel_ramp_rate
            • ODrive.Controller.Config.torque_ramp_rate
            • ODrive.Controller.Config.circular_setpoints
            • ODrive.Controller.Config.circular_setpoint_range
            • ODrive.Controller.Config.absolute_setpoints
            • ODrive.Controller.Config.use_commutation_vel
            • ODrive.Controller.Config.commutation_vel_scale
            • ODrive.Controller.Config.steps_per_circular_range
            • ODrive.Controller.Config.homing_speed
            • ODrive.Controller.Config.inertia
            • ODrive.Controller.Config.input_filter_bandwidth
            • ODrive.Controller.Config.spinout_mechanical_power_bandwidth
            • ODrive.Controller.Config.spinout_electrical_power_bandwidth
            • ODrive.Controller.Config.spinout_mechanical_power_threshold
            • ODrive.Controller.Config.spinout_electrical_power_threshold
          • ODrive.Controller.Autotuning
            • ODrive.Controller.Autotuning.frequency
            • ODrive.Controller.Autotuning.pos_amplitude
            • ODrive.Controller.Autotuning.vel_amplitude
            • ODrive.Controller.Autotuning.torque_amplitude
            • ODrive.Controller.Autotuning.vel_burst_factor
          • ODrive.Controller.ControlMode
            • ODrive.Controller.ControlMode.VOLTAGE_CONTROL
            • ODrive.Controller.ControlMode.TORQUE_CONTROL
            • ODrive.Controller.ControlMode.VELOCITY_CONTROL
            • ODrive.Controller.ControlMode.POSITION_CONTROL
          • ODrive.Controller.InputMode
            • ODrive.Controller.InputMode.INACTIVE
            • ODrive.Controller.InputMode.PASSTHROUGH
            • ODrive.Controller.InputMode.VEL_RAMP
            • ODrive.Controller.InputMode.POS_FILTER
            • ODrive.Controller.InputMode.MIX_CHANNELS
            • ODrive.Controller.InputMode.TRAP_TRAJ
            • ODrive.Controller.InputMode.TORQUE_RAMP
            • ODrive.Controller.InputMode.MIRROR
            • ODrive.Controller.InputMode.TUNING
        • ODrive.SensorlessEstimator
          • ODrive.SensorlessEstimator.phase
          • ODrive.SensorlessEstimator.pll_pos
          • ODrive.SensorlessEstimator.phase_vel
        • ODrive.TrapezoidalTrajectory
          • ODrive.TrapezoidalTrajectory.config
          • ODrive.TrapezoidalTrajectory.Config
            • ODrive.TrapezoidalTrajectory.Config.vel_limit
            • ODrive.TrapezoidalTrajectory.Config.accel_limit
            • ODrive.TrapezoidalTrajectory.Config.decel_limit
        • ODrive.Endstop
          • ODrive.Endstop.endstop_state
          • ODrive.Endstop.config
          • ODrive.Endstop.Config
            • ODrive.Endstop.Config.gpio_num
            • ODrive.Endstop.Config.enabled
            • ODrive.Endstop.Config.offset
            • ODrive.Endstop.Config.is_active_high
            • ODrive.Endstop.Config.debounce_ms
        • ODrive.MechanicalBrake
          • ODrive.MechanicalBrake.engage()
          • ODrive.MechanicalBrake.release()
          • ODrive.MechanicalBrake.config
          • ODrive.MechanicalBrake.Config
            • ODrive.MechanicalBrake.Config.gpio_num
            • ODrive.MechanicalBrake.Config.is_active_low
        • ODrive.TaskTimer
          • ODrive.TaskTimer.start_time
          • ODrive.TaskTimer.end_time
          • ODrive.TaskTimer.length
          • ODrive.TaskTimer.max_length
        • ODrive.InverterConfig
          • ODrive.InverterConfig.current_soft_max
          • ODrive.InverterConfig.current_hard_max
          • ODrive.InverterConfig.temp_limit_lower
          • ODrive.InverterConfig.temp_limit_upper
          • ODrive.InverterConfig.shunt_conductance
          • ODrive.InverterConfig.drv_config
        • ODrive.GpioMode
          • ODrive.GpioMode.DIGITAL
          • ODrive.GpioMode.DIGITAL_PULL_UP
          • ODrive.GpioMode.DIGITAL_PULL_DOWN
          • ODrive.GpioMode.ANALOG_IN
          • ODrive.GpioMode.UART_A
          • ODrive.GpioMode.UART_B
          • ODrive.GpioMode.UART_C
          • ODrive.GpioMode.CAN_A
          • ODrive.GpioMode.I2C_A
          • ODrive.GpioMode.SPI_A
          • ODrive.GpioMode.PWM
          • ODrive.GpioMode.ENC0
          • ODrive.GpioMode.ENC1
          • ODrive.GpioMode.ENC2
          • ODrive.GpioMode.MECH_BRAKE
          • ODrive.GpioMode.STATUS
          • ODrive.GpioMode.BRAKE_RES
          • ODrive.GpioMode.AUTO
        • ODrive.StreamProtocolType
          • ODrive.StreamProtocolType.FIBRE
          • ODrive.StreamProtocolType.ASCII
          • ODrive.StreamProtocolType.STDOUT
          • ODrive.StreamProtocolType.ASCII_AND_STDOUT
          • ODrive.StreamProtocolType.OTHER
        • ODrive.ComponentStatus
          • ODrive.ComponentStatus.NOMINAL
          • ODrive.ComponentStatus.NO_RESPONSE
          • ODrive.ComponentStatus.INVALID_RESPONSE_LENGTH
          • ODrive.ComponentStatus.PARITY_MISMATCH
          • ODrive.ComponentStatus.ILLEGAL_HALL_STATE
          • ODrive.ComponentStatus.POLARITY_NOT_CALIBRATED
          • ODrive.ComponentStatus.PHASES_NOT_CALIBRATED
          • ODrive.ComponentStatus.NUMERICAL_ERROR
          • ODrive.ComponentStatus.MISSING_INPUT
          • ODrive.ComponentStatus.RELATIVE_MODE
          • ODrive.ComponentStatus.UNCONFIGURED
          • ODrive.ComponentStatus.OVERSPEED
          • ODrive.ComponentStatus.INDEX_NOT_FOUND
          • ODrive.ComponentStatus.BAD_CONFIG
          • ODrive.ComponentStatus.NOT_ENABLED
          • ODrive.ComponentStatus.SPINOUT_DETECTED
        • ODrive.Error
          • ODrive.Error.INITIALIZING
          • ODrive.Error.SYSTEM_LEVEL
          • ODrive.Error.TIMING_ERROR
          • ODrive.Error.MISSING_ESTIMATE
          • ODrive.Error.BAD_CONFIG
          • ODrive.Error.DRV_FAULT
          • ODrive.Error.MISSING_INPUT
          • ODrive.Error.DC_BUS_OVER_VOLTAGE
          • ODrive.Error.DC_BUS_UNDER_VOLTAGE
          • ODrive.Error.DC_BUS_OVER_CURRENT
          • ODrive.Error.DC_BUS_OVER_REGEN_CURRENT
          • ODrive.Error.CURRENT_LIMIT_VIOLATION
          • ODrive.Error.MOTOR_OVER_TEMP
          • ODrive.Error.INVERTER_OVER_TEMP
          • ODrive.Error.VELOCITY_LIMIT_VIOLATION
          • ODrive.Error.POSITION_LIMIT_VIOLATION
          • ODrive.Error.WATCHDOG_TIMER_EXPIRED
          • ODrive.Error.ESTOP_REQUESTED
          • ODrive.Error.SPINOUT_DETECTED
          • ODrive.Error.BRAKE_RESISTOR_DISARMED
          • ODrive.Error.THERMISTOR_DISCONNECTED
          • ODrive.Error.CALIBRATION_ERROR
        • ODrive.ProcedureResult
          • ODrive.ProcedureResult.SUCCESS
          • ODrive.ProcedureResult.BUSY
          • ODrive.ProcedureResult.CANCELLED
          • ODrive.ProcedureResult.DISARMED
          • ODrive.ProcedureResult.NO_RESPONSE
          • ODrive.ProcedureResult.POLE_PAIR_CPR_MISMATCH
          • ODrive.ProcedureResult.PHASE_RESISTANCE_OUT_OF_RANGE
          • ODrive.ProcedureResult.PHASE_INDUCTANCE_OUT_OF_RANGE
          • ODrive.ProcedureResult.UNBALANCED_PHASES
          • ODrive.ProcedureResult.INVALID_MOTOR_TYPE
          • ODrive.ProcedureResult.ILLEGAL_HALL_STATE
          • ODrive.ProcedureResult.TIMEOUT
          • ODrive.ProcedureResult.HOMING_WITHOUT_ENDSTOP
          • ODrive.ProcedureResult.INVALID_STATE
          • ODrive.ProcedureResult.NOT_CALIBRATED
          • ODrive.ProcedureResult.NOT_CONVERGING
        • ODrive.EncoderId
          • ODrive.EncoderId.NONE
          • ODrive.EncoderId.INC_ENCODER0
          • ODrive.EncoderId.INC_ENCODER1
          • ODrive.EncoderId.INC_ENCODER2
          • ODrive.EncoderId.SENSORLESS_ESTIMATOR
          • ODrive.EncoderId.SPI_ENCODER0
          • ODrive.EncoderId.SPI_ENCODER1
          • ODrive.EncoderId.SPI_ENCODER2
          • ODrive.EncoderId.HALL_ENCODER0
          • ODrive.EncoderId.HALL_ENCODER1
          • ODrive.EncoderId.RS485_ENCODER0
          • ODrive.EncoderId.RS485_ENCODER1
          • ODrive.EncoderId.RS485_ENCODER2
          • ODrive.EncoderId.ONBOARD_ENCODER0
          • ODrive.EncoderId.ONBOARD_ENCODER1
        • ODrive.SpiEncoderMode
          • ODrive.SpiEncoderMode.DISABLED
          • ODrive.SpiEncoderMode.RLS
          • ODrive.SpiEncoderMode.AMS
          • ODrive.SpiEncoderMode.CUI
          • ODrive.SpiEncoderMode.AEAT
          • ODrive.SpiEncoderMode.MA732
          • ODrive.SpiEncoderMode.TLE
          • ODrive.SpiEncoderMode.BISSC
        • ODrive.Rs485EncoderMode
          • ODrive.Rs485EncoderMode.DISABLED
          • ODrive.Rs485EncoderMode.AMT21_POLLING
          • ODrive.Rs485EncoderMode.AMT21_EVENT_DRIVEN
          • ODrive.Rs485EncoderMode.MBS
          • ODrive.Rs485EncoderMode.ODRIVE_OA1
        • ODrive.MotorType
          • ODrive.MotorType.HIGH_CURRENT
          • ODrive.MotorType.GIMBAL
          • ODrive.MotorType.ACIM
  • USER INTERFACES
    • odrivetool
      • Installation
      • Start odrivetool
      • Multiple ODrives
      • Commands and Objects
        • odrv0
        • dump_errors()
        • start_liveplotter()
        • status()
        • apply()
        • calibrate()
      • Liveplotter
        • Example 1
        • Example 2
        • Liveplotter from Interactive odrivetool Instance
      • Configuration Backup
    • 2. Web GUI
  • TROUBLESHOOTING
    • Error Codes
      • AttributeError
    • USB Connectivity Issues
      • Uninstall Zadig Drivers (Windows Only)
    • Encoder Noise
    • Miscellaneous
    • Disable Browser Notifications
  • ARTICLES
    • Component Selection
      • Power Supply
        • Voltage
        • Power
        • Other Considerations
      • Motor
        • Kv-number / Torque Constant
        • Current
        • Other considerations
    • Ground Loops
      • The Problem
      • Solutions
        • Reduce Power Wire
        • Isolation
        • Current Limiting
  • CHANGELOG
    • [0.6.8] - 2023-09-12
      • Added
      • Fixed
      • Changed
      • API migration notes
    • [0.6.7] - 2023-07-13
      • Added
      • Fixed
      • Changed
    • [0.6.6] - 2023-04-12
      • Added
      • Fixed
      • Changed
      • API migration notes
    • [0.6.5] - 2023-01-25
      • Added
      • Fixed
      • Changed
      • API migration notes
    • [0.6.4-1] - 2022-12-12
      • Fixed
    • [0.6.4] - 2022-10-31
      • Fixed
      • Changed
    • [0.6.3] - 2022-08-19
      • Added
      • Fixed
      • Changed
      • API Migration Guide
    • [0.6.2] - 2022-08-09
      • Added
      • Fixed
      • Changed
      • API Migration Guide
      • Known Issues
    • [0.6.1] - 2022-06-03
      • Fixed
      • Added
      • Changed
      • API Migration Guide
    • [0.6.0] - 2022-02-21
      • Fixed
      • Added
      • Changed
      • API Migration Notes
    • [0.5.4] and older
ODrive Documentation
  • REFERENCE MANUAL
  • Application Interfaces

Application Interfaces

  • USB
  • UART Interface
  • ASCII Protocol
  • ODrive Communication Protocol
  • CAN Protocol
  • Analog Input
  • PWM Input
  • Step/Direction
Previous Next

© Copyright 2023, ODrive Robotics.

Built with Sphinx using a theme provided by Read the Docs.