This robot figure uses old fashioned screws to achieve flexible joints, but instead of nuts I prefer to let the screws cut their own threads.
This robot was inspired by http://www.thingiverse.com/thing:331035.
Prepare all holes for screws
The model is designed for M3 screws, but possibly some holes come out too tight.
(This is a problem which many FDM printers have for small holes.)
With a drill enlarge holes where a thread should be cut to a diameter of 2.5 mm.
Where the screw should fit loose use 3 mm.
For me (using PLA) no extra tools for cutting the thread were necessary. Otherwise a specific thread cutter might be useful.
You can also adjust the screw hole size as parameter in the robot.scad file. (Search for "screw" - related parameters.)
OpenSCAD file "robot.scad"
The figure was designed for adjusting. Several parameters at the top section allow simple changes.
E.g. the torso-sizes "torsoX", "torsoY", "torsoZ" are used as base parameters from which many other parameters derive. If you e.g. change the "torsoZ" value, then also the arm and leg lengths change proportionally. (See the OpenSCAD-renderings for torsoZ=40, 60 and 30 respectively.)
For experimenting you might want to reduce the quality settings "$fn" and "cornerQuality", otherwise rendering will take long.
You might also want to put your own text on the robot. Please have a look at
on how to create your own font. Would you like something customizable? Let me know.