Sixi robot arm

Open, 3D printed, multi axis robot arm

Similar projects worth following
If the robots take all the jobs, only the robot owners will have power. In order to ensure democracy, the robots must be owned by the people. Open source robots are a must. The most important robot I can make is a helping hand.I aim to make Marginally Clever Robots, Ltd. into the Prusa of robot arms. We will make an arm so good it can build its siblings (aka 'eat your own dog food'). The technical goal is an arm with 800mm of each carrying a 2kg payload. (fast, accurate, strong: pick two). Spin-off projects include:

- gearboxes
- automatic tool changers
- custom end tooling
- control software
- encoders

There are three levels of kit available now:

- just the non-printed parts
- all the parts, unassembeled
- fully assembeled

A kickstarter would have stretch goals for:

- common extra tools
- smart phone teaching pendant app
- neural network path planning

Join us on Discord:


Please have a look at our current software roadmap.  Sixi 2 firmware is contained inside the Makelangelo firmware.  

Circuit Benders

The current motherboard is an Arduino Mega with a custom PCB.  The PCB was designed in KiCAD.  KiCAD files - including the latest schematic and PCB layout - is in the Sixi 2 Github repository


We are still trying to build a process in the shop so that the STL files and BOM are always up to date with our current work.  In the mean time, have a read-only look at our Sixi 2 Fusion360 project.  You may be able to extract the BOM and STL files from there.


As opportunity arises we will be making videos showing assembly of each sub-component.  If you are equipped with the parts and tools you should be able to follow the video playlist or the pictoral guide and build it yourself.

How to apply

Don't just send a generic "I think I'd be good" message.  Make your case.

  • First movements on Sixi 3

    Dan Royer05/06/2021 at 00:34 4 comments

    Sixi2 has 1300 parts in 300 types.

    Sixi3 has 300 parts in 25 types.

    Please share with your friends and reblog this, because I need all the help I can get.

  • Sixi 3

    Dan Royer03/14/2021 at 06:42 0 comments

    Bad software is monolithic. good software is made of smaller, unit tested pieces.

    Bad robots are monolithic. good robots are made of smaller, unit tested pieces.

    I’ve been working on a single actuator that can be repeated six times to make an arm. 

    It has a harmonic drive and is daisy chain able. That means low part count, low part TYPE count, easy manufacture, easy maintenance, easy testing, easy reuse, and more.

    Ive also been working on a pcb to run each unit. Canbus, 72mhz, 16bit absolute rotation resolver, it’s gonna be sweet. Already being populated, 25 days until it arrives.

    I have fancier harmonic drives made of metal so I miiiight make a bigger unit just at the shoulder. We’ll see. The six-identical model should carry 2kg at 35cm with high repeatable accuracy.  A bigger shoulder is just for those players that can afford to go further.

    Right. I hate this layout and this crummy editor so I’m out. Come to my discord if you want to discuss further.

    Ps: stop liking my old dead projects. Sixi 1 is old news. 

  • Seeking strain wave gearbox tooth profile

    Dan Royer10/25/2020 at 19:53 2 comments

    If you know how to model the tooth profile in a strain wave / harmonic gearbox, please let me know how to do it.  All I've found is the pre-print on several academic papers.  Thank you!

  • Solving simple robot arm Inverse Kinematics

    Dan Royer10/22/2020 at 22:14 0 comments

  • Robot Overlord software gains record and playback!

    Dan Royer10/21/2020 at 05:15 0 comments

    Finally, after half a year or more of struggle, I've figured out a not-inelegant way to record and playback robot states.  It is now in the dev branch of the app.

    In large part my confusion was caused by poor definition of terms.  There are many ideas all referred to as "model" - the STL model of a 3d mesh, the Model in an Model-View-Controller pattern, the "model" designed to fit a paradigm, the simulated model of the robot... these all got muddled together.  The knot was so bad that I couldn't see how to untangle it.

    What I've realized is that there's a description of the PhysicalLimit of a robot and within that any number of states.  Put another way, states are bounded by the PL.  so a given state is one MVC Model and the PL is the MVC Controller.

    Why does this matter?  Well... I have a Sixi2 class that contains a PhysicalLimit, a Sim, a Live, a Cursor, and a set of states that form the recording of the robot.  Cursor points to one of the states in the recording.  i can then adjust one state by selecting it (making it the cursor) and then tweaking it.  Dragging the IK pose of the cursor causes Sixi2 to use the PL to find the new FK pose of the cursor (using gradient descent).  Put another way, PL is an MVC controller inside a Flyweight design pattern, and each state is a Memento - the minimum needed to restore the robot to that pose in the world.

    I can command the robot to move to the cursor state, at which point both Sim and Live attempt to do so.  if Live is connected to the physical machine (the serial connection is open) then the real machine will move.  Because Sim is using the same path planner and timing as Live, the Sim and Live will move as one.  This is a cheap way to detect unexpected interference - variation greater than some epsilon is sign that the real machine is colliding with something.  It also gives me a way to get accurate time prediction on every recording.

    It's late and I ramble.  Maybe none of this will make sense to you, but it's the gibberish that got me to this point.  I'm just glad the damn thing seems to work.  Tomorrow I figure out how to add tools on the end of the robot as part of the state, and then I can finally record pouring myself a drink.

  • More wild sixi pics

    Dan Royer09/06/2020 at 17:20 0 comments
  • A wild Sixi appears!

    Dan Royer08/26/2020 at 22:57 0 comments

    Students in Montreal purchased our kit and used the open source instructions to build a Sixi robot for their autonomous rover competition.  This is the latest in-progress shot I received.  Nice nice nice!

    If you're interested in building your own, check out the Sixi robot open source BOM, STLs, and more.

  • Making a two-finger gripper is hard, yo.

    Dan Royer08/21/2020 at 22:10 0 comments
  • New Sixi Robot Tutorials

    Dan Royer08/08/2020 at 00:49 0 comments

    Video giggle.

    Say you've finished the assembly guide.  Now what?

    How to upload firmware to a Sixi Robot (and where to get the firmware)

    Great, now the brain is ready.

    How to calibrate a Sixi Robot

    Please comment with your feedback (not here!  on the guides!) so that we can make it even better.

  • New ROS package

    Dan Royer07/28/2020 at 18:35 0 comments

View all 34 project logs

Enjoy this project?




[this comment has been deleted]

Dan Royer wrote 04/30/2019 at 20:27 point

Try our Patreon!  I'll even put your name in our next video.

  Are you sure? yes | no

Simon Merrett wrote 04/05/2019 at 15:53 point

Also, I saw these affordable slew rings recently and thought they look like good fodder for joints:

They also have an eBay store!

  Are you sure? yes | no

Simon Merrett wrote 04/04/2019 at 21:37 point

Cycloidal gears look good. Would be good to see a deep dive video on those. Especially the curve calcs used in the CAD. 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates