Category Archives: CNC

Replacement knob for microwave

I somehow lost the knob for selecting the power of my microwave. It took several iterations but I finally made a new one. It is not winning any prices for beauty, but it works.

It is made out of two parts: The thing that acually plugs into the microwave and a round knob. That way I can replace them idependently when one breaks.

Microwave knob (back side)

Microwave knob (back side)

Microwave knob (front side)

Microwave knob (front side)

G-code from svg files

Again I spent some time searching for free tools to improve my cnc toolchain. I stumbled upon two simple but helpful flash programs for handling g-code files:

  1. Makercam (
    This tool loads svg files and generates g-code toolpaths from it. I can create programs for drilling, pockets, outlines and follow path operations. There are only two things to keep in mind when using it:

    • The svg file may only contain a single path. However this is not a big problem, because you can create such svg files easily using inkscape. Just combine all paths and then save it.
    • Makercam assumes a resolution of 72 dpi when importing a svg file. Inkscape produces files, that have 90 dpi. To fix this open the preferences of Makercam and replace 72 by 90 dpi before loading any svg.
  2. G-code viewer (
    This tool offers a quick way to inspect your g-code files before sending them to a cnc mill. Just drag the g-code file onto the browser window. All rendering is done locally without transferring your file to a server.

G-code from CAD files

I spent several hours searching the internet for a CAM program, that can generate g-code from my CAD drawings. There is a lot of partially functional programs or some for very specific purposes, but nothing really pleasing. Finally I found HeeksCNC ( It has some issues as well, but I like the general concept.The g-code is generated semi-automatic where the user has to define the shapes the machine should process.

If you import models from FreeCAD for example, then the workflow is:

  • Import the model
  • Move the imported model to the correct position in the coordinate system. The displayed xyz coordinate system is the origin of the CNC machine.
  • Select a face of the imported model that defines the outline of a pocket (hole) or a contour of the object.
  • Apply a pocket or outline CNC operation to each of the sketches you just created from the imported model.
  • Generate the g-code
  • Review the machine paths carefully. You have a lot of control on the total machining operations, but you also have to check for plausibility.

Milling PCBs

I built a CNC machine recently and one of the first things to do is of course to improve it. I used fritzing ( to draw my circuit. When I was done I realized that I had no software at hand, that could make g-code from the exported gerber files. After some research I found:

  • visolate ( for milling the traces
  • drill2gcode ( for drilling the hole

I managed to produce a one layered pcb that now drives my CNC machine.