Get startedOverview
MAKIINA SDK
Drive MAKIINA arms, robots and actuators from the Robot Console or from Python, with one API behind both.
The MAKIINA SDK is a Python package, makiina, and the Robot Console that ships with it. You use it to drive an arm on your desk, a two-arm robot on your network or across the internet, or a single actuator on a bench. The console is built on the same public API your scripts use, so everything you can do with a click, you can also do in code.

Start here
With a new robot, install the SDK on your PC first. Then pick your robot in Choose your robot and follow its own path.
- Install the SDKDownload the kit for your PC from your MAKIINA account, unzip it and run setup. Python and the packages the SDK uses come in the kit.
- Set up a dual arm systemConnect it to your network, create your account, add the robot with its claim card, and drive it from your PC.
- Set up a single arm kitPlug the arm into your PC through its USB CAN adapter and see it ready in the Robot Console.
- Choose your robotTell a dual arm system and a single arm kit apart at a glance, then follow the path of yours.
- Drive from the cockpitEvery panel of the Control page, and the API call behind each one.
- Connect from PythonOpen a session with the arm on your PC, a robot in your fleet, or a robot on your LAN.
Build with it
- Move joints safelySet limits, move one joint or many, go to named poses, stop and release.
- Move the gripper in spaceCommand gripper poses in metres and let the kinematic twin solve the joints.
- Read joints, currents and posesSample measured state, plot it, and know when each value was measured.
- See what the robot seesGet the head cameras in full resolution or foveated, as arrays, and turn the head.
- Record demonstrationsCapture sessions for learning, from the console or from your code.
- Tune the joints liveChange each joint's gains and limits while the robot runs, and read back what it uses.
- Run two arms on one PCOne adapter per arm, as two sessions or as one robot.
- Drive a single actuatorTalk to one MAKIINA drive over CAN, without a server.
A first script
With a single arm kit plugged into your PC, this connects to the arm, sets conservative limits, prints where every joint is, and turns the base joint by 0.1 rad:
import time
from makiina.robot import Robot
robot = Robot.connect_local() # the arm on this PC's USB CAN adapter
robot.safety.set_torque_fraction(0.4) # 40 % of each joint's current limit
robot.safety.set_max_joint_velocity(0.5) # rad/s at the joint
print(robot.sensors.get_joints()) # {"J01-R": 0.0, "J02-R": 1.1, ...}
robot.control.set_joints_relative({"J01-R": 0.1})
time.sleep(1) # the move takes a moment
robot.disconnect()The arm cannot move until your first motion command, here set_joints_relative, and that command starts from where the arm actually is, so it never jumps. If your script dies halfway, each joint goes on to its last target and holds there, and after 30 seconds without commands the session ends. Move joints safely covers limits, stopping and releasing the arm.
Swap Robot.connect_local() for Robot.connect("acme-robot-02"), with your robot's name, and the same lines drive the two-arm robot over the network.
What you need
- A MAKIINA arm, robot or actuator. They leave the factory calibrated and with their firmware loaded, so there is nothing to set up on the hardware.
- A USB CAN adapter for each arm you plug into your PC; several actuators can share one. It must run candleLight firmware, and on Windows it needs a driver, given once on each PC (Install the SDK). Robots on the network need none.
- A PC with Windows 10 or 11 (x64), or Linux on x64 or ARM64 (which versions). The kit brings its own Python.
- A MAKIINA account with a confirmed email address. You download the kit from it, add your robots to it, and reach them through it.
How the pieces fit
makiina.actuator talks to one drive directly. makiina.robot gives you a Robot object for an arm on your PC or a robot anywhere, with the same six namespaces either way: sensors, model, control, safety, actuation and recording. The Robot Console is a web page on your PC that uses that same object.
License
The SDK, the Robot Console, the robot models and these docs are MAKIINA's own work, source available under the MAKIINA License 1.0 (LICENSE-MAKIINA.md in the kit). You may use, copy, change and share them for any purpose, commercial work included, in systems that include MAKIINA hardware. Your system may also include other computers, actuators, sensors and parts. You may not use them to design, make or sell products that copy or replace MAKIINA hardware. Third party parts in the kit keep their own licenses, listed in THIRD-PARTY.txt.
Common questions
Can I control MAKIINA actuators from my own computer, for example a Jetson or a Raspberry Pi? Yes.
Can I mix MAKIINA actuators with other actuators in my robot? Yes.
Can I sell a robot I built with MAKIINA actuators? Yes.
Can I use the CAD or meshes to make my own actuators or arms? No.