6DOF v2

by DesignCell, published

6DOF v2 by DesignCell Jan 14, 2017
1 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps



6DOF v2 by DesignCell is licensed under the Creative Commons - Attribution license.

Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag


Thing Statistics

3127Views 621Downloads Found in Robotics


Stewart Platform (6 Degrees of freedom) version 2 using (6) EMax Ex08MAII servo linear actuators. I used M3 screws and the servo linkage is formed from 1mmø paper clip wire. I have included my excel calculator along with the files for reference. It calculates the actuator length based on platform displacement in X,Y,Z, X:X, Y:Y, & Z:Z.

Servo Linear Actuator (95-137mm)

UPDATE: 04-06-17
Added a few pictures/videos, 7" touch screen platform, X axis retainer.
Spending more time developing the PID control and tuning a bit allows the 6DOFv2 to balance a 0.75" bearing reasonably well. I still plan to fine tune even further. I did end up using an Adafruit STMPE610 (https://goo.gl/uHkAnf) touch screen control to get reliable location readings from the 7" touch screen (https://goo.gl/qONKCV); trying the (4) analog pin method resulted in too much noise and frustration. The (6) servo linear actuaors are driven by a (16) channel Keyestudio PWM driver (https://goo.gl/MrmK1g) connected to an Arduino Uno. While learning to tune a PID I stumbled across youtuber upgrdman (https://goo.gl/TWL8hO, https://goo.gl/hM7X9w) which developed his own telemetry software that reads arduino serial, very helpful!

UPDATE: 04-09-17
Arduino sketch and Fritzing schematic posted. I was able to achieve a stable balance that recovers from light disruptions while large disruptions propagate out of control. If anyone is able to contribute or refine it let me know.

X +/-40mm
Y +/-40mm
Z +/-20mm (Z Home +128mm)
X:X +/-15°
Y:Y +/-15°
Z:Z +/-20°

Best Regards,


More from Robotics

view more

Printing Apps

Select a service to print this Thing and ship it to you

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Treatstock is an online platform that offers decentralized manufacturing services such as 3D printing and CNC machining for clients all over the world. We offer free and instant access to comparati...

App Info Launch App

3D print your favourite design with NinjaPrototype, a professional 3D manufacture with consistent quality and speed.

App Info Launch App

Also, this might work better with a capacitive touch screen, not a resistive one

I would have to research capacitive more.

The resistive screen was cheap and easy to read with just an XY position. Also, the metal bearing reacted very well with the screen. The issue I ran into was the computational overhead of reading the analog position and calculating the reaction through an arduino. I tested a teensy 3.6 a while back on a different project and it showed massive improvements running what was probably not the most efficient algorithm.

If you had the servos offset to the side, then you could make it so the servo head pushes more in line with the piston. Currently, it is pushing it into the side which most likely causes unnecessary friction.

I'm right there with you. Moving the servo to the side offers several other improved design opportunities like more compact design, higher mechanical advantage, and increased frame to rod engagement for improved stiffness while extended. Since I kicked these out I've wanted to go through and refine the design and make several configurations for a range of sizes. Once I worked up the proof of concept used here I knew there was a lot of potential but I just haven't had the time required to really flesh it out.

Printed out great! Thanks for this great design! I have a few videos on my channel about it. I used inverse kinematics motion control code on it and it's dead on!



Thats awesome! I'm glad to see it have some use. I'm not using a simulator to control it, just simply calculating the actuator joint to joint distances and triggering the servo angle. My goal is to have it balance the bearing but I need to find time to refine the logic. I also have the v1 which I think is a much cleaner design but I haven't quite figured out the inverse kinematics for radial arm actuators that are at an angle.

I eventually plan to design up a series of linear actuators for different applications too.

The main use for 6DOF motion platforms was always for Motion Simulators but of course there are many other applications as well.

I mentioned you on my blog for your great design:


Thank you, still trying to find the time to refine the pid loop.

very cool! Using an Arduino to control it? Can you share details about the electronics and your code?

I've posted the arduino sketch and fritzing schematic. Let me know if you're able to refine it further.

I'm running this through an arduino uno with a 16 channel servo driver. The arduino scans the 7" screen to determine X and Y position and I currently have the position directly scaled to the platform angle and displacement. I only have the proportional part of the loop so it's not able to stabilize. Still need to figure out the internal portion of the loop. My programs calculations are all shown on the excel sheet in the thing files.