Inventables Community Forum

GrblGru: Free CAM program with 3D simulation for mills and lathes

Grblgru. Maybe this will save you some time and reading, ha ha
Arduino Mega Pinout for Grbl 1.1L

Axis. Step. Dir. Enable
X. A0. A1. D38
Y. A6. A7. A2
Z. D46. D48. A8

A. D26. D28. D24
B. D36. D34. D30
C. D49. D51. D53

Limit switches NO in GRBL
X min D3. X max. D2
Y min D14. Y max. D15
Z min. D18. Z max. D19

? Limits for Rotary Axes. I haven’t tried these yet.
A min D42. A max. D40
B min. D44. B max. D59
C min. D57. C max. D58

Reset - A9. Feed/Hold - A10. Start. - A11. Safety Door. - A12

Probe. - A15

Spindle Enable - D4. Spindle Dir. - D5. Spindle PWM. - D8

Coolant Flood. - D10. Coolant Mist. - D9

JeffHankinson, that’s funny. I had the same pain as you. It took me 2 days (and a few beers) to determine the right pinout. :slight_smile:

I sent you a private message with my email address. If you agree, we can communicate via email. This is a little more convenient.

Release notes V3.42

JeffHankinson gave me a tip some time ago to take a closer look at the Arduino Mega 2560.
He also provided me with all the information around this topic. Thank you very much for this great help. :slight_smile:

Now that I’ve gotten to work with this controller and especially with the Mega-5X software available on it, I’m very impressed. In combination with a RAMPS driver card developed for the 2560, you can get a complete 5-axis CNC system (3 linear and 2 rotary axes) for just 25 Euros.

In the new GrblGru version V3.42 an interface for Mega-5X is now available. The attached video shows all necessary steps from flashing the Mega 2560 to moving the axes with GrblGru.
In order to test the whole thing at my desk, I built myself a little test environment with 5 stepper motors.
Since I don’t have a RAMPS board yet, I simply used 2 CNC-Shield boards as drivers.

Have fun with GrblGru


Hi there, thank you for making this software! I’m trying to see if it will work to engrave placards on the very common “3018” CNC clones which proliferate eBay and Amazon. There is surprisingly little CAM software for us hobbyists in engraving which can do simple CAM but also stream to the machine. I’ve been contemplating changing F-Engrave to do this, but was hoping someone else had already a better solution.

However I ran the latest version of GrblGru through and it reports some false positives. I thought you would like to know, and maybe contact them or change something about the installer. Here is a direct link to the results:

Thanks again and take care! Looking forward to some successful results. :slight_smile:

Thank you for your information. Unfortunately I can do almost nothing against this error message.
I check my software regularly with professional software and would of course not publish GrblGru if I received serious messages.
I use the well-known program NSIS as installer, which has been marked by several virus scanners in the past.
I have often had the experience that these messages are corrected after some time.

On the following page you will find additional information about this. There you can also find links to other free virus scanners, like Kaspersky, which I also often use.

Now for the engraving. I think that F-Engrave is one of the best engraving programs.
So far I have always used it to create the GCode and then simulated it with GrblGru and controlled the respective processor. However, I find the operation of F-Engrave somewhat complex and have started to create my own routines.
But it will take some time until these routines can be used without errors.

1 Like

Release notes V3.43

it can happen that you are confronted with tasks that are a little off the main stream and cannot be solved satisfactorily by any of the standard programs.
In this case you always have the possibility to create the GCode by hand.
The GCode language is very simple and you can often do a lot with just a few commands.
This simple structure becomes a disadvantage if you have to program e.g. several runs or more complex things.
Loops, conditional jumps and parameters are not supported by the standard GCode as it is used by GRBL, TinyG, Mega-5X, G2core etc…

The new GrblGru version V3.43 now provides an ‘Advanced GCode’ with the mentioned features.
The ‘Advanced GCode’ is translated by the Macro Compiler into the normal GCode. This GCode can then be used normally.

The video shows some examples.

Have fun with GrblGru :slight_smile:

1 Like

Nice work Toe! That should be very useful. :smile:

Question, what is the chances of a plug-in system for Grblgru? I was hoping the DXF Templates was a folder where more templates could be added. Thanks and take care.

I haven’t thought about it. That’s a good idea. Can you tell me which templates you would like to have ?

1 Like

Well I want to try making a placard or legend, similar to this image. The material is similar to this so is essentially one color of plastic with a very thin layer of a different color on top which is cut through. So the ability to create several shapes in the job, and several text engravings. No small request, right? :slight_smile:

Hmm, maybe I didn’t get it right yet.
But can’t you just create a DXF or SVG sketch and mill the places you want with pockets ? What is the size of the text ?

1 Like

I agree that should be relatively simple.

Hello Mr. GrblGru, I’ve build my own 3 axis cnc machine to help me making electric guitars more easily and find your free software fantastic. I am struggling now to find a best way to mill a guitar neck. I have made a stl file as you can see here.

Can you explain me what options I have with the GrlbGru to prepare a milling job for this shape?
I am running version V3.42.9

Thanks you

I’m sorry I have to disappoint you. At the moment I can only work with 2D data (DXF and SVG).
Of course I would like to extend my program so that it can use 3D data in the future.
But now GrblGru can only cut out the contour, possibly mill out holes or pockets and chamfer edges or produce radii.

But I could well imagine doing the rest of the work with macros. They would have to be created manually.
However, this would probably be the most effective programming that would be superior to a universal 3D strategy. If you send me the a STL example file, I would give it some thought.

Thank you for your prompt respons.
Great that you are willing to help me out here. I have attached the stl file here and I’m very curious about any solution you can come up with.Neck.stl (48.4 KB)

Thank you

I thought again about how to make the guitar neck.
For the rough machining I would construct a two-part negative block in CAD. (see pic 1)
(B .stl (285.9 KB)
A .stl (359.3 KB)

After that you can use the GrblGru slicer function to cut both blocks into e.g. 1mm slices. (see pic2)
These single layers can then be milled normally with the pocket function. (see pic 3 + 4)
Depending on how thick you choose the slices, you get a very coarse or very fine result.
But it will take, however, correspondingly long time.

The machining must in any case be done from 2 sides.
Therefore, I would drill 4 holes in the blocks. With 4 pins in the waste board it can always be clamped in the same position from both sides.

At the moment I do not have a solution to produce the radii in 3D space. But it is now at the top of my ToDo list. :slight_smile:
I sent you a PM with my email address. If you want you can also contact me by this.

Thank you very much for your interesting approach here. I will have a close look and give it a test run.

Release notes V3.44.0

The possibility to control a rotation axis with the Mega-5X software caused me to rework the necessary functions for the projection of DXF or SVG drawings. For example, it is now possible to position and orient the rotation axis in the XY plane without having to change the 3D model. In addition to normal cylinders, any shaped rotation-symmetrical workpieces can now be engraved.

I am of the opinion that a rotary axis is a real enrichment for a 3-axis control, which extends the production spectrum enormously. For this reason I can only recommend this extension. Especially if you have the possibility to build your own axis.

The video shows the necessary process from the scanning of the workpiece, over the creation of the job, up to the milling. But there are also examples how to mount a rotary axis on machines like LowRider or the MpCNC.

The new version now also contains screen texts in Italian.

Have fun with GrblGru


Good afternoon,
I´ve tried to start working with cnc plasma 5 x machine to cut steel tubes. The stl model file is done and is composed by a fixed Base (Base+.stl), X+.stl ax (rotary), Y+.stl ax (linear), Z+.stl ax (linear), A+.stl ax (rotary) and B+.stl ax (rotary). I didn´t find the correct machine type to be the base of this new machine. Could you help us? If you need the stl files let me know.

If none of the existing machine types matches your machine, I will gladly try to create a new type for it.
Of course I need the STL files. To better understand how the machine should work, a small handmade sketch would be helpful.
But next week I will be on vacation, so that I can contact you afterwards.


Hi, I am new at this forum. I am constructing quite a big CNC machine and wish to control it with GRBLGRU. My machine is a hybrid construction - 3D printer combined with 5 axis milling machine. The idea is to print a model using paste based on polyester resin and after that machining excess of material in 5 axes. We are during tests of drives currently. Due to a limited budget, I had to choice Arduino with ramps for the control system. GRBLGRU is the next obvious choice.
I think your software is awesome, it is perfect for our project. I hope we can work together on 5 axis capabilities of your software sharing our experience.
My machine is a prototype, we have to sort out many problems, but this gives us a lot of experience.
I have made the model of my machine in Creo but now I need to kindly ask you for the preparation of Machine Type for your software. My machine is XYZ standard gantry type with B axis installed on Z and rotary table of C axis installed on the base. You can find more information about our project on my website
The working area is 1000x1000x500mm.