Skip to main content

Python library for Dobot Magician

Project description


Python library for Dobot Magician

Based on Communication Protocol V1.1.4 (latest version here)


Install driver from

pip install pydobot


from import list_ports

from pydobot import Dobot

port = list_ports.comports()[0].device
device = Dobot(port=port, verbose=True)

(x, y, z, r, j1, j2, j3, j4) = device.pose()
print(f'x:{x} y:{y} z:{z} j1:{j1} j2:{j2} j3:{j3} j4:{j4}')

device.move_to(x + 20, y, z, r, wait=False)
device.move_to(x, y, z, r, wait=True)  # we wait until this movement is done before continuing



  • Dobot(port, verbose=False) Creates an instance of dobot connected to given serial port.

    • port: string with name of serial port to connect
    • verbose: bool will print to console all serial comms
  • .pose() Returns the current pose of dobot, as a tuple (x, y, z, r, j1, j2, j3, j4)

    • x: float current x cartesian coordinate
    • y: float current y cartesian coordinate
    • z: float current z cartesian coordinate
    • r: float current effector rotation
    • j1: float current joint 1 angle
    • j2: float current joint 2 angle
    • j3: float current joint 3 angle
    • j4: float current joint 4 angle
  • .move_to(x, y, z, r, wait=False) queues a translation in dobot to given coordinates

    • x: float x cartesian coordinate to move
    • y: float y cartesian coordinate to move
    • z: float z cartesian coordinate to move
    • r: float r effector rotation
    • wait: bool waits until command has been executed to return to process
  • .speed(velocity, acceleration) changes velocity and acceleration at which the dobot moves to future coordinates

    • velocity: float desired translation velocity
    • acceleration: float desired translation acceleration
  • .suck(enable)

    • enable: bool enables/disables suction
  • .grip(enable)

    • enable: bool enables/disables gripper

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pydobot, version 1.2.0
Filename, size File type Python version Upload date Hashes
Filename, size pydobot-1.2.0-py3-none-any.whl (5.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pydobot-1.2.0.tar.gz (4.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page