I have built a few simple X/Y/Z CNC machines. I've learned about G-Code, motor control, firmware and open loop systems. I see machines like rovers, big dog and factory arms that seem incredibly complex by comparison, yet they don't seem that magical any more.

What are the important skills to pick up from working with CNC machines? What's the next logical thing to learn? What things would CNC machines never teach me?

  • 1
    $\begingroup$ In what way is a CNC machine not a robot? Most CNC machines I've seen are basically just a gantry robot with a specialised end effector! $\endgroup$
    – Mark Booth
    Commented Nov 8, 2012 at 15:18
  • $\begingroup$ I essentially got started in robotics by building CNC machines. The benefit is that by the time you have cool projects in mind, you also have the tools and experience to make them. $\endgroup$
    – user65
    Commented Dec 4, 2012 at 20:27
  • $\begingroup$ The only thing I can think of that CNC machines really can't teach you about robotics is artificial intelligence. $\endgroup$
    – Paul
    Commented Nov 29, 2014 at 4:38

2 Answers 2


Building CNC equipment may teach you:

  • Motor control
  • Kinematics and coordinated movement
  • How to choose motors for a given load
  • Mechanical movement (torque, moment, etc)
  • Simple electronics

Running CNC equipment may teach you:

  • Software control of hardware
  • Timing (at least on the gross level)
  • Feedback
  • Hardware error detection and recovery

While the fields are different, very broadly speaking CNC machines are merely robots. The reverse is true. Due to their specific use there's different terminology and typically different control and usage schemes and scenarios, but at the end of the day you are moving things under electronic, and often autonomous, control.

Even today's high speed circuit board assembly machines use computer vision in complex ways similar to today's advanced robotics. You'll find that the two fields share most things in common such that everything you learn in one will apply to the other in some way.


You could think of robotics as being broken down into 3 parts: sensing, decision making, and actuating. Open loop systems are just the "actuating" part of that picture, and it sounds like you have a good handle on that already from your work with CNC machines.

I think the next area for you to check out would be sensing. It's not as easy as it looks, and Katy Levinson will explain some of it to you: http://www.youtube.com/watch?v=gFW0schumkE

Not that you need to jump right into sophisticated sensors. Getting comfortable with sensors (and their limitations, and filtering, and combining separate sensors into a unified world view) could be as simple as using a clock and a light sensor to determine whether it is a cloudy day ouside.

The last thing to check out would be the decision making: how to use the data from the sensors to decide what to do with the actuators. There are too many possibilities to enumerate here, so it's best to come up with a project idea like "I want to dispense water into my plants when the soil gets too dry" or "I want to close my blinds at night and open them in the morning" or "I want to put a sharpie in my CNC machine and move the table to plot the signal from my phone's accelerometer in realtime".... then use that problem to teach yourself the theory.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.