Open Source RoboticsRobots, software & learning

TMotorCANControl source interface

Software

TMotorCANControl supplies Python interfaces for AK-series CubeMars/T-Motor actuators, with MIT CAN, servo CAN and servo serial routes. [1] [2] [3] [4]

Installation & first result →Official websiteGetting started

For
Robotics developers inspecting the specified interface/research source [1] [2] [3] [4]
Source rights
Some licenses are unresolved. Review licenses
Unknowns
operating system, compute requirements not fully established. Review gaps

Source researched · Not tested by us
Sources checked · Research details

Licenses & related hardware
License
not fully assessed for software, documentation · Details by part

Requirements · Research details and dates

On this page

Overview

TMotorCANControl supplies Python interfaces for AK-series CubeMars/T-Motor actuators, with MIT CAN, servo CAN and servo serial routes. The README focuses on AK80-9 examples. These are different interfaces/configurations; MIT CAN is a protocol name, not a declaration that the package is MIT licensed. [1] [3]

Is this for you?

Known limitations
  • GPLv3classifier foundbutfullrootgrantnotidentified; MITCANnamesprotocolnotlicense.
  • CANsend errors/loggedstates andmotor/output conversions needdevicevalidation; no torqueaccuracy claim.

Editorial assessment of cited source; no runtime or hardware test.

[1] [2] [3] [4] · Editorial assessment

What you need

Dependencies
  • Metadata1.2.6/Python>=3.7, python-can>=4,pyserial>=3.5,numpy/NeuroLocoMiddleware
  • NamedAKactuator, firmware/controlmode, CANorserialadapter andconversionconstants

[1] [2] [3] [4]

Installation & first result

Open the upstream getting-started guide [1] [2] [3] [4]

  • Inspect the named implementation and matched configuration; reconcile the documented gaps first.
  • Select only the relevant interface/backend; do not treat example output as completed physical action.

Editorial assessment of cited source; no runtime or hardware test.

[1] [2] [3] [4] · Editorial assessment

Installation

Metadata version 1.2.6 requires Python >=3.7, python-can >=4 and pyserial >=3.5 plus listed dependencies; reconcile historical README module paths with mit_can.py and selected firmware protocol.

Documented source requirements/route, not installation or compatibility reproduced by this catalog.

[1] [2] [3]

Project notes

Match the package and actual module paths

The selected setup.cfg identifies version 1.2.6, Python 3.7 or later, python-can 4 or later and pyserial 3.5 or later, with numpy/NeuroLocoMiddleware dependencies. The README's historical class/module examples should be reconciled with the selected source path mit_can.py before copying imports. No package environment or import was tested. [1] [2] [3]

Its documented context-manager workflow chooses a named motor/ID and calls update to send the selected internal command. The README identifies impedance with feedforward current as MIT CAN only, while duty cycle and position with velocity/acceleration limits are servo features. Examples for servo serial are not interchangeable with MIT-mode CAN. Match firmware mode, bus configuration and motor constants before using position/current/torque conversions. No device or bus was connected here. [1] [3]

Sending is not a physical acknowledgement

The inspected MIT CAN source calls the CAN bus send method but catches can.CanError and prints a failure message only when self.debug is enabled. That path does not establish successful delivery or matching feedback merely because a higher-level call returned. The README distinguishes output quantities after the gearbox (torque) from motor-side quantities before it (torque_motorside). The source explicitly labels conversion constants for several models untested, so they are not validated motor specifications. State wrapping, constants and selected side must be reconciled before a control experiment. No torque, current, position, timing or shutdown behavior was validated. [1] [3]

The metadata contains a GPLv3 classifier, but no complete root license grant was identified in the inspected repository. Keep that licensing gap visible rather than inferring rights from the protocol name, bundled archive or package installation. Bought-in motor firmware/hardware and dependencies retain separate terms. [2] [4]

What we checked

Source/document review only; no build, installation, binary/device/network execution, control commissioning or performance test.

Not yet established

  • Requirements: operating system, host computer
  • Version-specific hardware compatibility (ecosystem tags alone do not establish it)

Updates

Upstream last updated
Not established
Latest release
Not established
Profile updated
Nov 1, 2026
Sources last checked
Nov 1, 2026
Next review
Dec 1, 2026
Reviewed revision
bb8d071

Source files and licenses

Narrow source-available robotics interface or research implementation; gaps in licensing, binary core or physical setup are explicitly separate from the inspectable contribution.

LayerAvailability / license
softwareavailable · License not fully assessed
No complete source reuse grant identified in the selected repository; source visibility is not redistribution permission. Package declarations and third-party rights remain separate. [1] [2] [3] [4]
documentationavailable · License not fully assessed
No complete source reuse grant identified in the selected repository; source visibility is not redistribution permission. Package declarations and third-party rights remain separate. [1] [2] [3] [4]

No separate physical design, pretrained distribution or dataset is selected as the released contribution in this scoped software review.

References

Each source links to the exact revision we read. “Used for” shows where this page relies on it.

Correction guidance · Discussion is not enabled · Profile format 0.7.0-draft.5

Change history