Virk I

This slideshow requires JavaScript.

Virk I, my current project, is a 4 DOF mini scara desktop robot targeted to education and hobbyists. It’s a quality, robust, neat and cute robot, designed, machined and assembled in my workshop.

Main features are:

  • Three bearing, hollow axis precision rotary joints
  • Linear bearing on Z axis
  • Wooden, slim structure
  • Compact and easy to carry

If you wish more information, just send me an email to


Current status (17/08/19)

Currently there’s one working unit being tested. Eight units will be built. You can see Virk in action here.



  • Australian blackwood body
  • Motors: Nema 17  stepper on rotay joints, Nema 11 stepper on z axis and wrist
  • Full extended range: 293mm (from shoulder axis to end center)
  • Z-travel: 70mm
  • Rotary joint: three bearing, acetal/pvc construction, hollow axis, modular.
  • Z axis slide: 8mm linear rails.
  • HTD3m timing  belt on rotary joints.
  • 8mm pitch leadscrew on Z.
  • Homing switches.
  • Gripper
  • RAMPS 1.4 electronics – Marlin driven (modified vesion)


Hollow Axis Rotary Joint

One of the most interesting part of this robotics is my custom designed, hollow axis modular rotary joint. Being hollow axis means that the wires can go hidden and not be a mess as in other designs. And is modular as you can reuse this joint in your own robotic designs; you only need two flat surfaces and some holes.

This joint has three bearings inside: two trust bearings and one deep groove, thin bearing. It has three acetal parts and one PVC mount base. Also, there’s a custom made timing pulley attached to the rotating part of the joint.




  • ¿Could be used to engrave? I don’t think so. This arm has enough power to move itself and lift small things, but lower enough so it can’t damage itself or the user. Engraving requires more stiffness and power.
  • ¿Could be adapted for 3D printing? Maybe, but I guess this will not be practical. Belt transmission and arm mass add some “spring effect” on every movement, so the faster, the less precise. That is, of course, just theory.
  • ¿How much precision can you get from this? To be honest, I don’t know. Rotary joints are very precise, but final precision depends on a lot of factors: calibration, proper belt tension, load, belt fit, total stiffness, etc. I guess it will be precise enough to be a useful as learning tool and to give fun to robot lovers.
  • ¿Why wood? Because it’s beautiful, cheap, lightweight and easy to work. And because I love wood.
  • ¿What kind of machines and skills I need to make something like this? You can probably do all the parts using a cnc mill or a good cnc router. A manual or cnc lathe will be handy, too. This is not a simple project, and has a lot of parts, so you need to have experience using cnc  machine and be able to grind your own cutting tools. Also. you will need a lot of tools; drills, taps, etc.
  • ¿Could this be 3D printed? Maybe some parts, but not the rotary joints and other precision parts.
  • Will the design be available as open source? That was my original aim, but as everyone is 3D printing robotic arms these days, the effort to get a decent set of understandable drawings from the messy current drawings seems to be worthless. Anyway I’ve published my modified Marlin version.
  • Why so few units? Because this is actually a one-man project and I don’t intend to turn this into something bigger.


2 thoughts on “Virk I”

  1. Hi,
    I have on and off followed your project.
    I have written some software that converts Cartesian gCode to SCARA gCode and would work with your machine if using GRBL with no problems.
    The code started out life as a gCode filter for a laser engraver, so it has options to reduce the number of segments.
    Basically, the controller (GRBL or other) does not know your machine is a SCARA.
    I built a simple SCARA prototype to test it so more or less it works.
    I have also modified the GRBL firmware to be more SCARA friendly for the homing process. So I can provide tips for setting up GRBL for your machine.
    Finally I wrote a viewer that models the SCARAs gearing and limits. Always nice to check your design before running it. Especially if the design is out of limits.
    The software is command line driven at the moment (i.e. use a batch file to run it), when I am 100% happy with it I will convert it to GUI and with a built in gCodeSender.
    If you interested, let me know (I am not asking for anything).
    You can have a look at one of my projects if you want to check (

    Regards AlanX

    1. Hello! I’ve checked your project… nice!. As far as I understand Marlin scara implementation works in a similar way: every linear segment is divided into smaller segments, converted to angular through inverse kinematics and then sent to a standard cartesian engine (fooled). In your proyect this convertion is made outside; every way has his pro and cons. Not the best way to deal with scara dynamics but works. And we can always trust on linuxcnc if we really need near perfect movements, speeds and accelerations.

Leave a Reply

Your email address will not be published. Required fields are marked *