Python lib for controlling Spectral BLDC motor controllers over CAN bus. For more info about this API and all available commands check DOCS
| Product | Description | Links |
|---|---|---|
| Spectral Micro BLDC Controller | Compact brushless motor controller with CAN bus, position/velocity/torque/impedance control modes | GitHub |
| SSG-48 Adaptive Electric Gripper | Adaptive electric gripper controllable over CAN bus | GitHub |
| MSG Gripper | Compliant AI stepper gripper with force control, open-source firmware, GUI and Python API; designed for assembly tasks and AI training | Store · GitHub · Docs |
| STEPFOC Stepper Controller | FOC-based stepper motor controller that turns low-cost steppers into high-performance robotic servos; CAN & UART, 14-bit encoder, open-source | Store · GitHub · Docs |
pip install Spectral-BLDC
import Spectral_BLDC as Spectral
import time
Communication1 = Spectral.CanCommunication(bustype='slcan', channel='COM41', bitrate=1000000)
Motor1 = Spectral.SpectralCAN(node_id=0, communication=Communication1)
while True:
Motor1.Send_Respond_Encoder_data()
message, UnpackedMessageID = Communication1.receive_can_messages(timeout=0.2)
if message is not None:
Motor1.UnpackData(message,UnpackedMessageID)
print(f"Motor position is: {Motor1.position}")
print(f"Motor speed is: {Motor1.speed}")
else:
print("No message after timeout period!")
print("")
time.sleep(1 )Check out the Examples folder for more examples! Available examples:
- Send_respond_1
- Get_encoder_data
- SSG48_gripper_test
This project is entirely open-source and free for all to use. Any support, whether through donations or advice, is greatly appreciated. Thank you!