by Heartman, published

Serv-Arm by Heartman Jul 22, 2016


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

38943Views 5285Downloads Found in Robotics


Robots, so fascinating...

This is a robot with the ability to learn a sequence, and repeat ad infinitum.

You can control it, in live mode, for a distance handling.
Or, record a sequential movements and play it as needed.

As you can see, the Serv-Arm project is in two parts:

The Armaster - controller.
The Serv-Arm - Controlled.

NB:English is not my native language ,
I did my best to avoid letting mistakes. if , however, I missed some , you would be kind to inform me in order I can correct them.

A nice contribution made by Marcel_X can be found here and here:

Print Settings

Printer Brand:



Home made








The trimPot axes are delicate to print,
I choosed 0.12mm and up the fan speed for this part.


Edit: 23/01/2017 >> If the Circle servo shape arm is not delivered with your model,
here is the 3Dprinted version:
Thanks to Mavu for his contribution.

How I Designed This

<strong><font color="Orange" size="4">Design</font></strong>

For this project I used Rhino just because I feel comfortable with, but any 3D software can do the business.
Most of elements are just extruded shapes or primitives 3d objects , with some boolean, join, cut operations.

With Rhino, I begin to sketch the model I have in mind, with curves.
I try to simplify every complicated shapes with basic geometrical curves.


In this exemple, this is the base of the Armaster.
I wanted to design it like a gamepad shape.


By mixing the curves I can build any complex shape.


I just have to extrude the result to begin to see what I imagined. The result will be as I expected or really close at least.


I will do the same for every elements, nothing really difficult in fact with this robot design.


When I have my main volume, I will work on the details and finitions, like fillet in order to have something smooth, making the holes, etc..


<strong><font color="Orange" size="4">Assembling</font></strong>

Assembling the elements should not be difficult.
The wires are soldered on the trimpots before assembling, and trimpot can be glued to the plastic element,
(just a small drop is enough... Be careful to not glue the inside potentiometer ...)

Before to glue anything, do a test to avoid a reversing between the rotation of the potentiometer and servo. (At least if you did the mistake, don't worry you can change that on the code)



The arms (vertical part), Armaster and Serv-Arm, are just inserted by force in the rectangular base housing. no glue .

<strong><font color="Orange" size="4">Trial & Error(sss)</font></strong>

Let's talk about the frustrating side of creation, the backstage side.


Design something new , from scratch , will ask almost necessarily , a lot of testing until you find THE result that will satisfy you .
Most of time it's not what you expected, too heavy, too short, too long, too much, too "not enough".
The interaction between 3D software and 3D Printing is so easy and fast which makes these part less frustrating than the old process, where the build of each elements needed more work, more time, where error meant headache and discouragement.
Henceforth, the time between the prototype and the final product is shorter than never.

<strong><font color="Orange" size="4">Electronic part</font></strong>

As said earlier, this bot is really simple to build.
Even the electronic part needs few components easy to assemble.


Nothing difficult.

<strong><font color="Orange" size="4">How it works</font></strong>

The main push (momentary) button is the learn/play button.

  • Each arm position will be recorded when pressing the button.
  • To play the sequence, just double push.

The second button

  • Is a switch (toggle) button, which pause the playing mode.

The Gripper trimpot, in play mode, allow you to change the playing speed mode.

<strong><font color="Orange" size="4">The firmware</font></strong>

In order to use the Serv-Arm, you can write your own firmware
or use this one; The values are tuned for my design and 25K potentiometer.

If you use 20K potentiometer, you will need to change some offset values.
(Check the author project for more information).


If you use an Arduino mini pro (Without USB) you will need an external TTL > USB converter, like FTDI232 or clone for uploading the firmware.
Otherwise, on all other Arduino models the USB is integrated.

Project : Design a pretty cool Arm bot

<strong><font color="Orange" size="4">Objectives</font></strong>

  • Learning any 3D software to design a fun project

  • Electronic (basic level)

  • µcontroller programmation (basic level)

  • Engineering.

  • This project is a collaborative experiment, between the computer graphic design
    and programming class for the abstract part and the 3D printing, assembling, soldering, testing for the practical part.

  • Build a robot is fun and will motivate students to think about mechanical constraints,physic rules, for example, the micro servomotors used will push to think more about the bot weight, the vector forces, and much more to learn and experiment.

  • 3D printing have some rules to follow like printing orientation - Anisotropy - and the layer height.
    The printed pieces are stronger in X, Y axes, that's why from the begining of the conception, it needs to think on how to build the pieces in order to prepare it for an optimal printing orientation.

Also, I try to avoid , wherever possible, the use of support structures , which corrupts the surface appearance.
That's why I prefer to cut my piece in necessary parts and assemble them with glue in the post-printing step, than using support structures.

Check the little trimpot axis. It's cutted it in the middle vertically to easily print it horizontally, a small diameter in Z axis is almost impossible, at least difficult and weak result.

  • The student will understand the implication of the mechanical constraint specifications, it needs from the begining to think, not only about the look or functionalities, but also how anticipate the building process.
    This is a new approach of teaching .
    The 3D printing is pushing to think differently, to prepare students with a better understanding about what the business sector expected of them.
    The teachers need to bring new arguments, skills change with changing technology .
    3D printing is more than an evolution , it is a revolution.
    Be prepared to prepare them.

<strong><font color="Orange" size="4">Audience</font></strong>

  • The modelisation is so basic, this is not necessary to have a previous knowledge, every needs can be learned with this project.

  • A project like this should be more efficient if it makes interaction between different courses and/or grad class.

<strong><font color="Orange" size="4">Preparation</font></strong>

  • Student will need a computer with 3D software installed
       Any software can be used for this project, most of them have the same basic functions.
    But obviously, using a professionnal application will help to make a faster and easier high level quality design.

  • Arduino software installed on the computer in order to upload the firmware into the Arduino µController

  • The electronic part is relatively simple,

    • An Arduino pro mini (or nano with the USB), any other model will make the deal. In fact if you choose a bigger arduino model, you will have more memory. Actually with the Atmega328 is limited to approximately 100 arm's positions recorded.

    • 4 servomotors, type 9G.
    • 4 Variable resistors vertical type ACP "spain" between 20 and 25K
    • 2 Resistors 10K
    • 1 Push button (NO)
    • 1 switch button
    • 1 BreadBoard (solderless prototyping), optionnal, depend if the electonic (Arduino and pullup resistor) will be on a PCB or not.
    • Power supply / Battery 5V
    • Wire
    • Iron solder and tin

  • 11 bolt / Screw M3x12

<strong><font color="Orange" size="4">Duration</font></strong>

A project like this one, can have a different approach .
Depends on the involvement of the school.

A month, if the goal is just turned on the design and printing.
It's obvious that I'm talking about a school project duration starting from scratch including the learning time.

But, it can be (and should , in my opinion) a project of the school year , if all classes are involved.
Optionally , students can be motivated if they know that will be their ArmBot and they can keep it like a price, at the end of the program.

<strong><font color="Orange" size="4">References:</font></strong>

The idea is based on the pretty cute project of :
Pinaut which is based itself on the Stoerpeak project.

I used the Pinaut code, on an Arduino pro mini to make it small, cheap, and easy to do for everyone.
You can, in fact it is strongly advised, developping your own code to give the behavior that you want, to this bot.

Arduino is very well referenced on the net,
you can find any subject you need.

The first legitimate place, is Arduino website itself to begin.

Arduino & Servo
Arduino & Potentiometer
Arduino & Button
Arduino & Array

To answer to a regular question, "where can I find the trimpot?"
Example for 20K


At the end of the project

  • The student will understand how to prepare and think a design to reach a professionnal level.
  • he will build an awesome tool to learn more about programmation, robotic,
    at any level, from the basic input output µcontroller usage, to more complicated mathematic as management of Inverse Kinematic, trigonometry, and so on...
  • This type of exercise will be done in collaboration with other classes and different courses in order to create synergy on a common project.


This is a fantastic project for students, a nice course support, to avoid boring and abstract lessons.
The total cost for this awesome learning tool is ridiculously cheap.

More from Robotics

view more

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Quickly Scale, Mirror or Cut your 3D Models

App Info Launch App

Hi, I could not understand claw mechanism

Can you explain to me or show the images or videos ?

This looks like great fun!

What size is the potentiometer: 6, 9,or 14mm?

First of All... it's a very nice project... Thx !

What kind of Push Button do you use... what is the model ? Where I can buy it ?

I think the caps for the buttons are missing from the Thing files. Speaking of push buttons, which model/brand did you use?
Nice design btw. Already halfway printing this model... Can't wait to start building :-)

Oh, and I noticed another thing. The "Ctrl_Avant_Bras" piece is mounted differently in the video, compared to the rendering. Concave section downward or upwards? I guess it doesn't make much of a difference, but how was it intended?


You're right I didn't publish the caps because, believe or not, I just forgot... :)
I'm travelling for few month actually so I will fix that soon as possible.

About the Ctrl Avant bras, I don't understand what do you mean, for me it's the same orientation.


Thanks for the reply! I'll probably design some simple caps for now. And thanks for the link to the buttons that you used.
Regarding the Ctrl_Avant_Bras, I had a look again. This time with my glasses on... And you're right, they are in the same orientation. Sorry!
I've printed all parts now and it is self-explanatory anyway :-)
Will post a "Make" soon. Thanks again!

This looks like just what I am looking for. I just printed the base. The Servo fits very nicely. However, their is no play to get the wire connect down and into the hole at the bottom. Any thoughts?


At least you just have to sand a little bit the hole to fit as you need.
sometimes the dimensions depend of the printer calibration,
in my case I didn't have to make any correction.


Were can you buy the variable resistors?


I gave a link on the description, unfortunately the product is out from this Ebay seller,
but if you type trimmer ACP spain on Ebay or any online shop you will find what you need.

Even if the value is a little bit different you just have to change the code as explained in the description,
or read some comments.


anyone knows about how much material i will need in total to print everything?

I don't remember about the plastic used, but your printing sofware can give you an good estimation.


Hi, great model!

I am starting to print the parts, and was wondering why you halved the axle_pot model? are they not glued back together again?
(It looks like that in the picture)


the axes are in two part, then glued together, to have something stronger than if it printed vertically.

Thanks for your comment, for any information, don't hesitate.


one more :

The servos seem to be connected to the model with a white disc shaped thing thats glued into the print.
Is that a part that comes with the servo?

Because I can only find servos with "arm-like" fasteners on the rotating end.

Thanks Mavu,

I added your link to the project description.


Yes, most of time the accessories includes the circle shape,
as you can see here:


at least if it's not included, you can use the shape you have and stick it with glue.
but before to glue, check if the "arm-like" is in the right (middle) position.


Ahh. all those I found on ebay, didn't show the disc in pictures, I guess I'll find out if its included.

Good thing I have a 3d printer, if not :)

Edit: did indeed not have the mounting disc, made one here : http://www.thingiverse.com/thing:2049935

Micro-servo (SG90) round mounting plate
by mavu

Thanks for your sharing, it's realy an wonderful project.
I made it use arduino uno R3, sometimes work fine but sometimes not.
When I finish record and play it, it spends a long time (about 15~20 seconds) between two cycles, can you help me?
Thank you so much!

I got it! Thank you so much!

it al works fine. but i dont know how to decrease pause time between de cycle. at the end the arm waits a few minutes bevore it starts its round. how can i make this pause shorter.

thanks for the cool project.


For the pause time, it's simple,
the grip (hand) trimpot control the play delay.
When you play the sequence, back the tripot position in the initial position (mean hand open).

You're welcome.


Comments deleted.

I use the arduino mega. I cant figure out where to connect my rec button. I use 50 k potmeters is that a problem?

You can use the same pin (Pin 6) on the mega board, for the Rec button.
About the 50K I guess yes, you can use this value and tweak the code
in order to have the correct range with the Servo timing value, as shown on the screen capture description.

Could you please give the detail about Switch and R?

Hi Siradech,

I'm not sure about your question,
Switch is a button when you press on it, it close and stay close, if you press again it open and stay open.
R, I suppose that you talk about the two resistors?
if yes, it's 10K resistors.

The switch button is not absolutely necessary to make the Robot working,
it's just when you close it, the bot will turn in pause mode.
if you don't want or not have a button to test your robot, it's ok, you bot will works without.
You just need the learn/play button.

In the video demonstration, I didn't have the switch button.

If you need more details, don't hesitate


Impressive design! thanks


You're welcome SiraDech,
thanks for the pic you shared.


Just gave a small tip so still keep up the cool work!


There is no small tip,
just a big heart.

Thanks a lot my friend.


Comments deleted.

I think this is really impressive and cool! Thank you so much for making this. :)


You're welcome 3DSage,
I hope to see some of you doing the same,
I'm glad you like it.


Really nice project!


thanks Dan for your comment.