# Motors

`MotorsBus` is the low-level interface to a chain of servos on a serial bus. Robots use it to read positions
and write goal positions; you rarely touch it directly unless you are adding hardware.

See [Bring Your Own Hardware](../integrate_hardware) for adding a new bus, and
[Updating Feetech Firmware](../feetech) and [Damiao Motors and CAN Bus](../damiao) for device-specific notes.

## MotorsBus

[[autodoc]] lerobot.motors.motors_bus.MotorsBus

## Motor

[[autodoc]] lerobot.motors.Motor

## MotorCalibration

[[autodoc]] lerobot.motors.MotorCalibration

## MotorNormMode

[[autodoc]] lerobot.motors.MotorNormMode

## DynamixelMotorsBus

[[autodoc]] lerobot.motors.dynamixel.DynamixelMotorsBus
    - all
    - is_calibrated

## Dynamixel OperatingMode

[[autodoc]] lerobot.motors.dynamixel.OperatingMode

## Dynamixel DriveMode

[[autodoc]] lerobot.motors.dynamixel.DriveMode

## Dynamixel TorqueMode

[[autodoc]] lerobot.motors.dynamixel.TorqueMode

## FeetechMotorsBus

[[autodoc]] lerobot.motors.feetech.FeetechMotorsBus
    - all
    - is_calibrated

## Feetech OperatingMode

[[autodoc]] lerobot.motors.feetech.OperatingMode

## Feetech DriveMode

[[autodoc]] lerobot.motors.feetech.DriveMode

## Feetech TorqueMode

[[autodoc]] lerobot.motors.feetech.TorqueMode

## DamiaoMotorsBus

CAN-based bus for Damiao arms. Motors must be switched to MIT control mode to be compatible.

[[autodoc]] lerobot.motors.damiao.DamiaoMotorsBus
    - all
    - is_connected
    - is_calibrated

## RobstrideMotorsBus

CAN-based bus for Robstride motors. Motors must be switched to MIT control mode to be compatible.

[[autodoc]] lerobot.motors.robstride.RobstrideMotorsBus
    - all
    - is_connected
