CNC Router Software

I’ve already written about building my CNC router and making a sound proof box for it.  The last step I needed to do in order to make pretty pictures is the software. This post will walk you through the software I used to draw an image and then engrave that image into a piece of wood.

First I needed to draw a picture.  I didn’t want to use something like Photoshop or Microsoft Paint because I these are raster based programs and I wanted my image to be stored as vector graphics so that I could tell my CNC machine exactly what vectors to draw.  There are ways to transfer raster graphics to a CNC machine, but for more things using vector graphics works better.  Corel Draw is probably the most popular software for drawing vector graphics, but it was pretty expensive.  I found the free open source inkscape worked very well.  I drew a picture in inkscape called and saved it as HelloWorld.svg (I will be giving links to all the files I created).

After this I had to change all the text and other complicated objects into paths.  The reason for this step is because these objects are stored as complex mathematical models that later software would not be able to properly understand.  Converting objects to paths is just a single mouse click in inkscape, but if you forget to do this you’ll be scratching your head trying to figure out why some parts of your drawing are missing.  After this I saved the image in inkscape again as HelloWorld.dxf.  The reason I used the DXF format is because it’s a wildly used vector format that other software can understand.

At this point I’m done with inkscape and I start using Mach3’s LazCam.  Mach3 is the software that I use to control my CNC machine through my computer’s parallel port.  Setting this up takes some time and I’m not going to discuss this here, but Mach3’s website has some excellent video tutorials.

LazCam comes with Mach3 and it converts DXF files into Gcode that can drive my CNC machine.  If you’re looking for a free alternative to LazCam there is a free version of CamBam, but I haven’t used it much.  In LazCam I imported the DXF file.  This takes a long time (5 minutes on my mid-ranged PC) so after this I save it as HelloWorld.LCam so I can open it quickly later if I want to tweak something.  Then I adjusted the scale of my image and saved it out as Gcode (HelloWorld.tap).

In Mach3 I opened up the HelloWorld.tap file and my CNC engraver engraved the image into some wood.

There are a lot of steps there, but once you’ve done it a few times it’s not so bad.  It would be nice if it was easier, but I couldn’t find an easier way.  Maybe I’ll write some software myself someday to help speed this up a bit, but until I do I’ll just follow these steps.

Here’s a link to a video of my CNC Machine in action or you can watch the youtube embedded video below.  The linked video is better quality, but might take some time to download.


  1. TruckTrash said,

    February 6, 2009 @ 9:50 pm


    Nice to see you got this finished and it looks very nice. You should check out, I have heard good things about it.

  2. Mac Morvant said,

    March 14, 2010 @ 5:33 pm

    Hi Is their something for someone , Like put this in this box to follow the software through to the machine running! Or even better a video, of the mach4 follow the video , somethine to vue over and over till it sinks in ,as to what is happening & ware to go next!! I hope this make sence ! This software is greek to me,& i’am sure lots of other people feel the same!! A little show and ,or even a manual for the Mach4, Follow the bouncing ball , and this number goes right here and so on !! I think if I could learn the software I would build a CNC router , these routers have a step by step video and follow almost follow the bouncing ball routine to build these Routers!! Why not software easy step by step!! Can you help ? Thanks

  3. Nick said,

    April 6, 2011 @ 3:44 am


    There’s a simpler way to get Gcode straight from Inkcape. Gcodetools extension is a small and powerful CAM extension for Inkscape. It allows to get Gcode in two clicks!

    It’s free and cross platform!

    For details see Gcodetools developer’s site:

  4. ADNAN said,

    July 3, 2011 @ 11:03 am

    i have already read that but not much helpful for me.we load the gcode file in mach3 software but how does mach3 control our machine??
    what does a microcontroller read from mach3 and how?

  5. GHioca said,

    August 12, 2012 @ 5:57 am

    Some of you,are ready to start a new woodworking project, and you’re looking for some plans.Well I’m sure that you can find free woodworking plans out there butt ,some of them aren’t that complex or some to hard to read ,doesn’t matter if you are a professional woodworker,or just starting, bottom line is, there drawbacks to them

  6. stealth keyword Competition analyzer review said,

    December 4, 2012 @ 5:35 am

    I know this if off topic but I’m looking into starting my own weblog and was wondering what all is required to get setup? I’m assuming having a blog like yours would cost a pretty penny?
    I’m not very internet smart so I’m not 100% positive. Any recommendations or advice would be greatly appreciated. Many thanks

RSS feed for comments on this post