Tutorial Suggestions

Hello all,

I am totally new to FreeCad and will be running it on Linux Mint. I am hoping that there are some experienced FreeCad users who can recommend some good tutorials that can cut down the learning curve. Also point out any features, issues to beware of relative Maslow.

Thanks in Advance!


I can’t say I have seen a systematic set of tutorials for FreeCAD, although I have found that most program features can be found as a video on YouTube or elsewhere. I have had very good luck with the FreeCAD forums. A few things that can cause confusion:

  1. Even though it has been around awhile, there are still features that have not been implemented yet. It is definitely a work in progress.
  2. There are many workbenches, so even if you are pretty sure a feature exists, you may have trouble finding it. Again, videos are your friend here.
  3. Documentation of the API is also pretty spotty. Some of it is good, some pretty terse, some just doesn’t seem to exist.
    Alas, I have not yet used FreeCAD to design for the Maslow, since we haven’t put together our kit yet.
1 Like

Yes, there are som tutorials that can be found on youtube. Like this one

For the CAM part there is

And you can always check stuff in the manual


Thanks @Jakob_Lundberg,

I have been watching your tutorial suggestions and the CAM series which covers the Path Workbench is very interesting. I have not found any tutorials that deal specifically with the Maslow though. In regards to the Path Work Bench does anyone use it and if so I would love to hear about your experience. Are you using a Setup Sheet, Job Templates and which Post Processor are you using? You can modify the existing post processors, has anyone created a Maslow one? I will be looking into these myself soon.

I haven’t gotten my Maslow yet, so I can’t say anything about that.

But setup sheets and job templates are useful for stuff that will be configured in the same way every time.

I’m not sure if it fits the Maslow, but the LinuxCNC post processor is pretty standard and could be a good choice. That is the one I have been using. Both for LinuxCNC and Mach3. But it could be that some Gcode command is not supported on Maslow that would have to be changed by modifying the post processor.

Do you have a gcode file from one of those post processors? I think I’ve heard of folks using the LinuxCNC one for a Maslow project. I’m familiar with the gcodes that the Maslow implements, and if LinuxCNC uses some others, we might look at how those would work on the Maslow.

Here is a very simple example. But there are no special move such as drilling or advanced shapes.

example.nc (1.3 KB)

1 Like

By the way, how come Onshape and Freecad are under the forum “Software” category and not the “CAD/CAM”?

1 Like

Ah, I recognize some of this from a different thread. If there is a GRBL post processor, that would be the closest to the present Maslow gcode set. That said, the file runs, doing the expected z-axis changes and spindle controls and cuts a 100mm circle in the clockwise direction.

The codes that I see which not currently implemented:
G17 - select the XY-plane. Maslow only works in the XY-plane, so this is ignored
G54 - select work offset #1. Maslow doesn’t currently implement work offsets, so this is ignored
G40 - turn cutter radius compensation off, cutter travels on programmed path. This is assumed in the Maslow firmware. Gcodes G41 and G42 for radius compensation are not implemented. G40, G41 and G42 are ignored
G49 - use no tool length offset. This is assumed in the Maslow firmware. Gcodes G43 and G44 for tool length offset are not implemented. G43, G44 and G49 are ignored
G80 - cancel modal motion. Terminates all canned cycles, clears the current G0, G1, G2 or G3 mode, so this must be re-established for the next move that is required. Canned cycles are not implemented. Clearing the current G0, G1, G2 or G3 mode is a possible use, though not currently implemented

The M3 and M6 gcodes are implemented, but the S parameter is ignored as the Masalow cannot control the spindle speed.


Here is the grbl version
example_grbl.nc (1.3 KB)

1 Like

The grbl version eliminates the gcodes G40 G49 G54 G80, and comments out the M6 T1 tool change. For some reason it is using a much slower feed rate (11.67mm/min instead of 700.002mm/min). That might be an overlooked setting, it is too slow for the Maslow, the motors don’t move that slow. After changing the speed (200mm/min worked, 100mm/min didn’t), it runs in the same way as the first example.

Did you know that there is a way to compile the firmware that lets you run in ‘Maslow emulator’ mode? If you have an Arduino Mega that you can program with that firmware you can run GroundControl with it and “cut” gcode files on the screen to see how things run.


Strange with the feed rate. It is set to the same 11.67mm/s on both.

I don’t have an Arduino Mega yet :frowning:


@Jakob_Lundberg @blurfl

Wow you guys rock!

I am totally new to all this, so I want to confirm that I understand what we are looking at here. The examples you provided are simple item, drawn in and exported from FreeCAD correct?

Attached are the Python Post Processor files that FreeCad uses ( GRBL & LinuxCNC) and from what I have read you can create your own. I do not know Python myself but have dealt with other scripting languages (PHP, Javascript etc) as a graphic designer. Based on that experience, using one of these as a starting point, this may not be that difficult.

Would it be worth creating a Maslow specific Post Processor? From my view point there would be, it would make it easier for new users to adopt FreeCad and thus support another free opensource project, a win win. It may also serve to bring others to the Maslow, again a win win.

As a total newb please let me know if I am missing something here…


grbl_post.py (10.7 KB)

linuxcnc_post.py (12.7 KB)


That could be a valuable contribution to the community. :+1: The grbl_post might be a good place to start. Let me know if I can be of service.

Edit - Looking at the linuxcnc one, there is much goodness there as well…


Looking in the python scripts that @Kelvin supplied, it might be that the grbl script didn’t handle the units correctly.

1 Like

I was able to duplicate the grbl_post.py and change the name and the minimum content, name labels etc (i.e. grbl to maslow). Copied it back to the appropriate location. FreeCAD launched, imported it ok. I was then able to export using it. Loaded the resulting gcode file into GC and from what I can tell it was successful.

I just got my kit last night and have yet to get it all put together. Getting a bit ahead of myself…

Any suggestions for changes, additions or deletions to the _post file would be great as I know nothing yet about gcode or python.


To begin with, just having one that comes up in the menu with ‘Maslow’ in the name could help others just beginning. The linuxcnc has a more informative (though wordier) tooltip. I notice that hat tooltip indicates that it is intended for a ‘linuxcnc 3 axis mill’ which is why there are gcodes that don’t make sense in the 2.5-axis Maslow world.

1 Like

or we add support for the missing gcode command in the maslow :slight_smile:

1 Like

it’s less a difference between 2.5-axis and 3-axis and more a matter of the
maslow firmware not being advanced enough to understand the options. There are
several of them that would be very useful for the maslow to understand.

Which ones would you list?