You are on page 1of 82

GrblGru - Manual

Version 1.28
toe@home
April 11, 2015

1

CONTENTS 2

Contents
1 Motivation 4

2 The concept of GrblGru 5

3 Requirements 6

4 Installation 7
4.1 HowTo show the hidden folder C:\ProgramData . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2 Additional files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2.1 Additional machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2.2 Additional examples files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.2.3 Additional Documentation Movies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5 Settings 11

6 General stuff 12
6.1 Functions to change the view . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6.2 How to optimize my screen size ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

7 The Toolbar Buttons 15

8 Groupboxes from main window 16
8.1 Groupbox: Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
8.2 Groupbox: Actual work position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.3 Groupbox: Control Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

9 Loading NC-Files 19
9.1 Loading NC-program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
9.2 Edit the NC-program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

10 STL Object 21
10.1 Loading STL-files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
10.2 Creating STL object with embeddet OpenSCAD . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
10.2.1 First example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
10.2.2 Load and Save script files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

11 Import function 27
11.1 ID data Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
11.2 Groupbox position and size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
11.3 Groupbox: Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
11.3.1 Examples Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
11.3.2 Examples Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
11.4 Groupbox: process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
11.4.1 Examples Toolcompensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
11.5 Toolbox Control panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

12 Measuring device 37
12.1 My proposed solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
12.2 Measuring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
12.3 Real probing a workpiece . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
12.4 Virtual scanning of STL objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

13 Scanning and Probing 42
13.1 Difference between scanning and probing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
13.2 The Dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
13.3 Creating STL objects from measuring points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
13.3.1 STL Creator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

14 Slicer 48
14.1 Slicing example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

CONTENTS 3

15 Controller Connection Grbl - / TinyG 51
15.1 How to change Grbl parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
15.2 How to change TinyG parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
15.3 Using as Gcode-Sender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
15.3.1 Jog mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
15.3.2 Direct move . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
15.4 Command line mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

16 Things, which make life easier 59
16.1 Programmable user buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
16.1.1 Smart drilling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
16.2 Jog mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

17 Special mode for Lathes 64
17.1 Loading workpiece . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
17.2 Creating g-code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
17.2.1 Intermediate data mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
17.2.2 Direct data mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
17.2.3 Starting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
17.3 Additional pictures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

18 The Machine-Manager 71
18.1 How to add your own machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
18.2 How to add the Cad-Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
18.3 Machine Designer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
18.4 Advanced information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
18.4.1 Dimension data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
18.4.2 Graphic data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
18.4.3 Layer data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
18.5 My girlfriend ’Milli’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
18.5.1 Other machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
18.5.2 My old lathe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

1 MOTIVATION 4

1 Motivation
I considered to buy a ShapeOko2 machine. In order to see how the machine works, I looked for a simulation
program. I found a lot of good programs, but I did not find any program showing the concrete ShapeOko
machine.
So I started developing this little 3D-simulation program with the pleasant sounding name GrblGru .
In my opinion Mr. Gru from the movie ’Despicable Me’ is the suitable partner for the brilliant software
Grbl . I prefer the pronunciation ’GrabbleGru’.

This guide is intended to tell you a little bit about using my program.

Have fun with GrblGru
toe / 6.12.2014

Attention !
Reading this paper is dangerous. Because of my really terrible English it could
damage your eyes.
I strongly recommend to read only one page per day.

2 THE CONCEPT OF GRBLGRU 5 2 The concept of GrblGru Please have a look at the following picture. Changing NC-Interpreter movement and speed NC-Code controls the of the machine in with Editor movements 3D-Simulation mode No Everything looks fine ? Yes Arduino UNO USB Watching toolpath. It explains the main function of GrblGru .nc GrblGru Loading NC-prog Intern Watching toolpath. Changing with movement and speed NC-Code excellent of the machine in with Editor GRBL GRBL controls the movements real GRBL mode No Everything looks fine ? Yes ShapeOko2 Milling the one and only workpiece No Everything looks fine ? Trying it again Yes Drinking some beer and sleeping satisfied Figure 1: My way of working . which also creates G-code Example. 2D-Cad Using old CAD6 prog.

but I also would like to provide this program for the TinyG . . which is normally part of the operating system. It requires . On the controller side I use an Arduino Uno with Grbl so far.3 REQUIREMENTS 6 3 Requirements GrblGru is written in c# and unfortunately only running under Windows.NET Framework 4.

Attention ! The AppDataPath is a system folder. When the setup is finished it could be that you might get a message from the operation system that something failed because I have no uninstallation program. but of course you can change the folder if you are familiar with the permission rules.exe with admin rights.4 INSTALLATION 7 4 Installation Start the setup. If you don’t have admin rights you get a message. . You couldn’t change it. In this case open the context menu by clicking the right mouse button and select ’start as administrator’ Figure 2: Message. Figure 3: The setup program I recommend to use the default application folder because it has the correct write permission. if you don’t have admin right After you start the setup you get following window. For example in windows 7 the folder is C:\ProgramData\GrblGru. You can ignore this message. The application data folder (AppDataPath) depends on your operating system. To show the folder see next section. which is normally hidden. and windows is looking for that.

4 INSTALLATION 8

4.1 HowTo show the hidden folder C:\ProgramData
By default, Windows 7 does not show hidden files. Sometimes, however, you may actually need Windows 7 to
show the hidden files and folders on your computer.
If you need to manage files under a hidden folder, you’ll need to be able to view that folder. You may also need
Windows 7 to show hidden files so you’re able to delete one, maybe to solve some kind of problem you’re having.

1. Click on the Windows 7 Start button and then on Control Panel.
Tip: In a hurry? Type folder options in the search box after clicking Start. Choose Folder Options under
Control Panel from the list of results and then skip to Step 4.
2. Click on the Appearance and Personalization link.
Note: If you’re viewing the Large icons or Small icons view of Control Panel, you won’t see this link.
Simply click on Folder Options and proceed to Step 4.
3. Click on the Folder Options link.
4. Click on the View tab in the Folder Options window.
In the Advanced settings: area, locate the Hidden files and folders category.
Note: You should be able to see the Hidden files and folders category at the bottom of the Advanced
settings: text area without scrolling down. You should also see two options under the folder.
5. Choose the Show hidden files, folders, and drives radio button under the Hidden files and folders category.
6. Click OK at the bottom of the Folder Options window.

7. Close the Control Panel window that’s still open.
8. You will now be able to view all files and folders with the hidden attribute turned on, as well as drives
hidden in Windows 7.
9. You can test to see if hidden files are now being shown in Windows 7 by navigating to the C: drive. If you
see a folder named ProgramData, then you are now able to view hidden files and folders.
Note: You might notice that the icons for hidden files and folders are slightly grayed out. This is an easy
way to separate hidden files and folders from your normal unhidden ones.

4 INSTALLATION 9

Figure 4: Folder Options

4 INSTALLATION 10

4.2 Additional files
The upload in the ShapeOko community is limited to 512 KB. So I couldn’t create all help-, demo and machine-
files in the installation. That’s why I provide some additional files for downloading

Use Menu - Help - Downloads - GrblGru Manual for downloading the actal Manual.
Then select Menu - Extras - Add file to AppDataPath to copy the pdf to your AppDataPath.
After that you would have access to the Manual from the GrblGru menu.

4.2.1 Additional machines
It is possible to add your own machine to GrblGru . (See section: How to add your own machine) I have
created 2 milling machines from some friends of me.
If you like to see them select Menu - Help - Downloads - Other machines for downloading and copy them
with Menu - Extras - Add file to AppDataPath to the AppDataPath.

4.2.2 Additional examples files
To organize all data it’s useful to have following folders:

• STL
• SVG
• DXF

• NC
• CAD
For your convenience GrblGru will recognize the folder, depending on the file extension, when you load a file.
So it could show you always the right folder. It’s not necessary to search every time once more again.
If you start operating with GrblGru , I recommend to do the first steps with files I tried before. For that I
create a zip file with example files, organized as explained above.
Use Menu - Help - Downloads - Examples for downloading

4.2.3 Additional Documentation Movies
There are also 3 movies from older versions available

General operation:
https://www.dropbox.com/s/5nfneubr1sqcgkl/MachineSimulation.avi?dl=0

STL-Laser scanning:
https://www.dropbox.com/s/n6o58tgkpagrsdb/LaserScanning.avi?dl=0

Probing a curved surface:
https://www.dropbox.com/s/wibeaq8p42uhr18/Probing.mp4?dl=0

5 SETTINGS 11

5 Settings
In the Menu - Extras - Settings you find the control ’Metric’ to choose metric [mm] or imperal units [in].
The both inputs ExtensionX and ExtensionY allows you to enlarge the dimension of your machine model.
There are also some special inputs and a lot of colors that I describe in the following pages.
If you press the ’Default Settings’ button in the upper left corner, you can select the default values

The groupbox ’4th axis’ is the preparation for position a chuck. This is part of my actual work. I am very
interested to realise the 4th. axis controlled by TinyG. This work is not finished so far.

If your screen doesn’t show all information a left mouse doubleclick on the groupbox name opens/closes the
box. To get 2 or more columns move the right window borderline also with the left mouse to the right side.

Figure 5: Menue - Extras -Settings

Figure 6: Dialog for the program settings with 2 columns

but it is posssible to add other machines. (see section ’How to add your own machine’) By pressing the toolbar button you can switch on/off the quick help screen. In simulation-mode you can verify your NC-program in the office whithout connecting your Grbl -machine. Figure 7: The main page . If everything looks fine you can go to the workshop to produce real chips.6 GENERAL STUFF 12 6 General stuff There are 2 modes of working. Until now I only realised my self-made machine ’Milli’ and the ShapeOko2. In the configuration box you can choose the machine. The simulation-mode and the Grbl -Mode.

• Select orbit center A double click with the left mouse button on a vertex sets the center of the orbit function. There is a bug ! Please select the window from top left to bottom right. • Zoom window Hold left mouse button and draw desired window. • Orbit = change view Hold right mouse button and change view. front-. otherwise it will not work. Release the button. side.1 Functions to change the view • Zoom all. • Zoom Adjust mouse wheel. . • Pan = move graphics Hold the middle mouse button or mouse wheel and move graphics.and top-view Use the small toolbar at the top of the graphic window.6 GENERAL STUFF 13 6.

• A double click with the left mouse button on the name of a groupbox opens/closes the box. If you cannot get all controls on your screen. • Move the borderline between the left control panel and the graphic panel to get more space for the controls. so you can close it.2 How to optimize my screen size ? Like all graphic programs GrblGru will use as much screen as it can get. there are two possibilities.6 GENERAL STUFF 14 6. For example the box ’configuration’ is not used constantly. Figure 8: Dialog with more space for controls .

Show NC 17. Load last NC-file together with the SHIFT button: Load last STL file together with the CTRL button: Load last DXF file together with the Alt button: Load last SVG file 2. Show toolpath 15. Start a measurement 10. Show machine 11. Show STL 16. Start homing 19. Show PD (point data) 18. Show quick help screen . Edit your ToDo list 5. Open the PD (point data) to NC dialog 7. Open the STL creator dialog 9. Show layer 14. Edit the loaded NC-file 4. Show bounding box of toolpath 13.7 THE TOOLBAR BUTTONS 15 7 The Toolbar Buttons Figure 9: Toolbar buttons From left to right: 1. Open the dialog for loading the NC-program 3. Open the scanning/ probing dialog 6. Open the slicer dialog 8. Show coordinate system 12.

• Machine Select here your machine • Port This is the USB port connecting to your controller. axis Switch on/of the little chuck Figure 10: Groupbox Configuration . I recommend always to check a new program at first in simulation-mode ! • 4th.8 GROUPBOXES FROM MAIN WINDOW 16 8 Groupboxes from main window 8.1 Groupbox: Configuration There are 4 inputs. • Controller Select here your Controller TinyG / Grbl or Simulation. Pressing the little ?-button shows you all available ports. The simulation-mode is much faster and without any risk to destroy something. Please see also the section ’Controller Connection Grbl / TinyG ’ for detail info. if you like to work w/o hardware.

With a right mouse click on the unit the value will be 0. For even more convenience use the both little buttons on each input. Also the length of the shown laser ray (tool length) could be changed.1mm and with the ALT key you get 0. Enter a value in the axis you like to move and press TAB or click with the mouse cursor in some other input. The normal increment is 1mm.2 Groupbox: Actual work position Here you find the inputs to move your axes and select your speed for manual movements.8 GROUPBOXES FROM MAIN WINDOW 17 8. With the button ’Set work coordinate origin’ you set the actual position to local 0.01mm. Figure 11: Groupbox Actual work position GrblGru uses 2 systems. . If you press the button together with the SHIFT key the increment is 10mm. The machine-system and the work-system. Just tip up or down the value. With the CTRL key you get 0.0.0. If you press the button ’Move to work coordinate origin’ first the Z-axis will move up to 0 and then x and y move together to 0.

You can start or continue an NC-program with the ’Start’ button. The ’Reset(break)’ button breaks a running program. You can not continue it.8 GROUPBOXES FROM MAIN WINDOW 18 8.3 Groupbox: Control Panel With the ’high speed simulation’ switch you can choose if you like the simulation in real time or with high- speed. The ’Reset(break)’ button also clears the showing toolpath and resets the controller. If you only stop it with the ’Stop’ button you can. If something goes wrong. it is always a good idea to press this button. Figure 12: Groupbox Control Panel .

9 LOADING NC-FILES 19 9 Loading NC-Files 9. Take the file from explorer by holding the left mouse button and drop it on the GrblGru graphic window. Figure 13: Simple load dialog . GrblGru will remember the path if you load data and opens the same path automatically on the next loading.1 Loading NC-program The real data are the CNC-data files. It’s also possible to load the NC-program with drag & drop. but it’s recommended to store all datasets in one folder. Their location can be anywhere.

see http://www.net/notepadppcncsyntax. Normally GrblGru will open the last loaded NC-file with notepad.php Figure 14: What’s your favorite eddi ? Figure 15: This is my Notepad++ with NC-Syntax-Highlighting . I prefer Notepad++.Settings.addyourservice. because it is very smart and there is the possibility to create your own Syntax-Highlighting.Extras .2 Edit the NC-program To edit the NC-program use the edit button in the top toolbar. But you also can choose the edit-program in Menu .9 LOADING NC-FILES 20 9.

. Figure 16: OpenSCAM Surface Export Figure 17: Loaded Workpiece . But if your OpenSCAM works fine you are able to save and load the surface into GrblGru . The point with the lowest z-coordinate will touch the base floor. Unfortunately I always receive an error message when I call this function. which probably is a problem of my operating system.1 Loading STL-files You can load a workpiece by using Menu . Together with the NC-prog you will get a good look over all.10 STL OBJECT 21 10 STL Object 10. The center will be positioned on the local reference point... or load it with drag&drop directly from the explorer. In OpenSCAM there is the possibility of exporting the surface as STL-Format.Load STL .

Figure 18: Workpiece factor .Settings you can adjust the workpiece to the desired size.10 STL OBJECT 22 In the settings Menu .Extras .

g.exe in the groupbox Settings.Extras.Settings) Figure 19: Enter your OpenSCAD location here . For this purpose.2 Creating STL object with embeddet OpenSCAD This feature allows to use the powerful functions of OpenSCAD to create STL objects. (Menu . Enter the OpenSCAD file e. C:\Program Files\OpenSCAD \OpenSCAD.10 STL OBJECT 23 10. it is necessary that you tell GrblGru where your OpenSCAD program is located.

Here you can enter the OpenSCAD commands. I recommend http://www. find the Script editor on the second page of the tab-control.com/2014/09/how-to-use-openscad-tricks-and-tips-to. If you are not yet familiar with OpenSCAD.html It helps me a lot to understand the special commands.tridimake.10 STL OBJECT 24 To edit your OpenSCAD script. Figure 20: Loaded script file shown with the editor .

1 First example To see how the STL creating works please enter following command into the script window cylinder(h=30. r=25). Figure 21: Simple cylinder create by OpenSCAD .2.10 STL OBJECT 25 10. The picture below shows the result. and then press the button ’Start openSCAD’.

2..Load SCAD script .’. Also it’s possible to load a file with the menue item ’File ... Figure 22: Menu items to load / save the script files .’.10 STL OBJECT 26 10.Save SCAD script .2 Load and Save script files After you have finished your script development you can save your script file with the menu item ’File ..

If you import NC-Data G2 / G3 commands are splitted by many g1 commands. This method allows to transform the data to curved surfaces. The problem with DXF are the many different versions. Loading NC sends all commands to Grbl . please inform and give me the chance to improve the import function. I write the import function for an old version and I couldn’t guarantee error-free imports for all versions. This means that all geometry will split into smal lines. If something does not work with NC or SVG. At the moment I prefer SVG and NC data. Note that there is a difference between importing and loading NC-Data. what is important for engraving. . G2 / G3 functions are send directly to the controller.11 IMPORT FUNCTION 27 11 Import function GrblGru has import functions for following formats: • DXF (MKCad) • SVG (Inkscape) • NC (F-Engrave) If you call one of them GrblGru will translate the data in an intermediate format (ID). Please try if your version is working.

At the end of all GrblGru will create an NC-file. For example there are a lot of inputs. Open the dialog with the toolbar button . There is also a process data groupbox with inputs for speed and infeeds. Figure 23: ID2ND dialog .11 IMPORT FUNCTION 28 11.1 ID data Dialog This dialog has a key importance for all imports. the size and the orientation. to influence the position.

Figure 24: ”base position and move to the left” Figure 25: ”size and mirror horizontal” .11 IMPORT FUNCTION 29 11.2 Groupbox position and size See following examples for an imported DXF-file with different settings.

• Projection to scanpoints This item allows to engrave pieces with curved surface.11 IMPORT FUNCTION 30 11.3 Groupbox: Transformation In this group box you can choose the surface on which you like to mill. This requires scanning the piece first. The cooper is very thin. • Plane transformation This is important for milling printed circuit boards (PCB). A problem exists when attempting to create finely etched products with a CNC machine where the work-piece material is not at the same height uniformly. . • none Choose this item. if you have a normal milling job. (AutoLeveller) Before milling you can measure the exact position of your PCB and GrblGru will transform your drawing onto this plane.

3.11 IMPORT FUNCTION 31 11. Figure 26: Plane transformation Figure 27: Text on inclined plane . Note that there is no distortion here.1 Examples Transformation See the both examples for real transformation to a plane.

3.2 Examples Projection Figure 28: Text on cylinder Figure 29: The ’Halfpipe Seahawk’ .11 IMPORT FUNCTION 32 11.

11 IMPORT FUNCTION 33 11. This is very convenient.3mm. The first is 0. With ΣZ you select your final depth and ∆Z is your infeed for one run.3mm GrblGru will generate gcode for 4 runs. the second is 0.4 Groupbox: process The input F is used for the normal milling speed. Fmax for the rapid traverse.1mm.6.9 and the last one is the rest = 0. because you can use the last infeed for your finishing Figure 30: Example 1 Figure 31: Detail of toolpath with the 4 runs . the third is 0. For example: If you choose ΣZ = 1mm and ∆Z = 0.

Don’t use the SVG-file from F-Engrave. There are no pathes.11 IMPORT FUNCTION 34 Please note that you can use this function also for F-Engrave. . Let F-Engrave generate the Gcode and import it to GrblGru .

4. regardless within certain limits of the tool geometry. Choose ’inside’ if you like to mill a pocket. Don’t forget to enter the right Tooldiameter d.1 Examples Toolcompensation These functions make it possible to define a part program by describing the workpiece contour. Figure 32: Tool compensation inside Figure 33: Tool compensation outside .11 IMPORT FUNCTION 35 11.

I recommend always to check the program at first in simulation mode.5 Toolbox Control panel Select here the filename you want to save the calculated NC program.11 IMPORT FUNCTION 36 11. See the settings for that in the picture below. By pressing the button ’Start’ GrblGru will generate the gcode and then loads it automatically. Figure 34: Tool compensation inside . You can see the name in the main window statusline in the left corner. To start the generated NC program use the ’Start’ button of the Main window.

I cannot understand why nobody offer a professional solution for probing. You need only a ’normal open’ switch. depending on the speed.12 MEASURING DEVICE 37 12 Measuring device Grbl and also TinyG supports the probing function. Figure 35: DIY measuring device with Arduino . after receiving the probe signal. It is suitable for a whole variety of applications. (stolen from my wife) You can press the probe about 10mm. because Grbl will continue moving a little bit. connecting between GND and the analog input A5. After 1mm the switch contact will close and send GND to A5. It is very important. that you can press the probe more. It is relatively simple to build a measuring device. The probe is a normal needle. Another advantage from the switch solution over the widespread ’no switch solution’ (just putting a touch probe w/ an alligator clip into the spindle) is that you can scan also non-conductive workpieces. See my DIY mea- suring device at the picture below. In my opinion probing is completely underestimated.

So you can use a different sizes of probes.12 MEASURING DEVICE 38 12. Figure 36: Probe in base position (passiv) Figure 37: Probe in measuring position (activ) . Also it would be great.1 My proposed solution My proposed solution would be as follow. The following pictures are without any details. if the probe tip would be changeable. In active position it’s not necessary to remove the tool. In the upper (base) position the measuring device don’t disturb the normal milling operation. There must be a little switch inside the device and the function must be the same as I describe my DIY device.

but I call it real probing. In order to decide whether you like to start real probing or just virtual scanning GrblGru lookes if you have loaded an STL-file. :) The functional running in GrblGru is nearly the same. You can do it without your ShapeOko at your ’warm’ chair. I recommend starting with virtual scanning because it is much more quicker and easier as probing.12 MEASURING DEVICE 39 12. To start a measuring use the button . . if you measure a real workpiece. If yes GrblGru will start virtual scanning. And I call it virtual scanning if you measure an STL object.2 Measuring First of all I like to explain some definitions. May be it is not correct. If no GrblGru will start real probing.

[PRB: x. until the probe touch the workpiece. y. Figure 38: Probing result with high speed Figure 39: Probing result with low speed . In this case be sure that you Z-axis is in higher position. the Z-axis will move down.3 Real probing a workpiece GrblGru will send g38. z] By the way.12 MEASURING DEVICE 40 12.2 z-50. The speed for moving is taken from ’Fman’ in the groupbox ’Actual work position’. If every works fine you can see the Z-position from the touching point. After starting. here you can also see. how much deeper (depends from the speed) the axis moved.

and in top of the graphic window the measuring result will be displayed.4 Virtual scanning of STL objects Measuring the loaded workpiece is very simple. The point of measurement will be shown as a black point. (Measurement result = ???) Figure 40: Laser measurement .12 MEASURING DEVICE 41 12. Move the machine into the measuring position and press the button .

1 Difference between scanning and probing . You can do it without your ShapeOko at your ’warm’ chair. 13. I recommend starting with virtual scanning because it is much more quicker and easier as probing. Open it with the toolbar button . For this GrblGru provides the following dialog. :) The functional running in GrblGru is nearly the same.13 SCANNING AND PROBING 42 13 Scanning and Probing For engraving curved surfaces it is nessasary to scan the surface before.

With the ’boarder’ value you increase the size.2 The Dialog Figure 41: The dialog First of all you can select either real probing or virtual scanning in the groupbox ’Selection’. In the ’Z-parameter’ box you can choose how many layer you like to generate and the ’Process’ box contents the feed for the generate gcode. At the end you can select the Filename from the generated NC-program. The resolution box allows you to select how fine your grid is. If your grid is very fine it takes a long time to calculate all points.and Y direction will automatically calulated if you load the STL file.13 SCANNING AND PROBING 43 13. . Choose for the beginning some big values like 5 or 10mm. The scan dimensions in X. But you can also enter the size you like.

Figure 42: The dialog during scanning process . It’s only a example.13 SCANNING AND PROBING 44 13.3 Creating STL objects from measuring points At first I like to show you in this section how to generate an STL-file from measuring points. of course it makes no sense to create an STL. Because there is no difference between scanning points and probing points I use the easy way and generate my measuring points from a STL object. If you press the Start button GrblGru will start the scanning and show you the window. if you have it already.

Figure 43: Scanning the ShapeOko letter If you switch off the toolbar icon you will see the mesuring points. Figure 44: Measuring points .13 SCANNING AND PROBING 45 See the scanning result in the picture.

If you select a destination file and press the ’Start’ button GrblGru will create an STL-file and loads it automatically. Figure 45: The STl-Creator dialog Figure 46: Create STL . I created for later use. So just select in the selection box ’Measure Points’ and ’None’ in the both interpolation boxes.3. activated by the toolbar button There are a lot of inputs.1 STL Creator Have a look at the STL-Creator dialog.13 SCANNING AND PROBING 46 13.

13 SCANNING AND PROBING 47 To see the steps in the generated STL-file i load it into MashLab. Figure 47: MeshLab showing the STL-file Please note that all we have done now is the same if you like to probe a real piece (with the exception of the actual pick of the measurement points) . These steps are the result from your selected grid by scanning the measuring points.

If you select the clipping switch. After loading an STL-File you can move the slicer plane with the input ’Z-Position’ in Z-direction up and down. I will only explain in which way it should work. Figure 48: Slicer Dialog . Select the slicer dialog with the toolbar button . It is only that you can see where exactly the plane is located. In this case GrblGru will show you a cross with the given radius R at the plane position. Because I think it is not perfect yet. Dont be afraid if you see that the whole machine is clipped. GrblGru will clip all things above the slicer plane.14 SLICER 48 14 Slicer This is a new project I am working on. Alternatively you can also activate the ’Show R’ switch.

Show R = on . Loading an STL-file containing a cylinder with different holes. Show R = on. Show R = on Figure 50: Clipping = on. explaining the different steps.1 Slicing example See following pictures.14 SLICER 49 14. Figure 49: Clipping = off. Clipping = off.

Figure 51: Clipping = off. This then creates the DXF-drawing.14 SLICER 50 After pressing the ’Slice’ button GrblGru will calulate the intersection line between STL and the slicer plane. Only DXF contur . which you can use for further process. STL on. Show R = on. Note the thin DXF-lines Figure 52: Clipping = off. STL off. Show R = off.

Pressing the little ?-button shows you all available ports. . The USB port is not is recognized automatically. Select the port you connected with your controller. Figure 53: Choose the controller The Grbl version must be ’0.15 CONTROLLER CONNECTION GRBL . Showing the moving model makes no fun with lower speed There are some further conditions for a correct flow control.9g’ or higher. In case of you like work w/o hardware select ’Simulation’./ TinyG In the configuration groupbox you can select the controller Grbl or TinyG . GrblGru $10 = 2 ( status report mask ) TinyG $ex = 0 ( enable flow control = off ) $baud = 5 ( USB baud rate = 115200 ) $sv = 1 ( status report verbosity = filtered ) $qv = 1 ( queue report verbosity = single ) To change the parameter note the following sections./ TINYG 51 15 Controller Connection Grbl . That’s because I fixed the baudrate to 115200. Please enter the following parameter depends from your controller.

You should get following message: Figure 54: Successful connection Only for /Tiny: For advanced user is under ’Menue . Higher values increase the refresh time.Settings’ an additional input to control the refresh time./ TINYG 52 After you change the port or the Controller GrblGru try to get a connection to the controller.15 CONTROLLER CONNECTION GRBL . Grbl is much faster.Extras . In case of TinyG it takes 5 seconds to get the identification. Please be careful with this value ! Figure 55: Advanced input fot TinyG .

1 How to change Grbl parameter ToDo .15 CONTROLLER CONNECTION GRBL ./ TINYG 53 15.

In this example the value is 2. Figure 56: Enter $ex in the command line and press Enter Figure 57: You get the answer from TinyG.2 How to change TinyG parameter This section show you how to change for example the TinyG parameter [ex] with the program CoolTerm. This is wrong for GrblGru . Please close all programs and start CoolTerm and connect to your TinyG ./ TINYG 54 15.15 CONTROLLER CONNECTION GRBL .

This is the correct value for operation with GrblGru./ TINYG 55 Figure 58: To change the value enter $ex=0 in the command line and press Enter Figure 59: TinyG responds with the message ex=0. Close CoolTerm and try to start GrblGru .15 CONTROLLER CONNECTION GRBL .

/ TINYG 56 15. The switch ’High speed simulation’ is only used in simulation mode.3 Using as Gcode-Sender It’s possible to use GrblGru only as Gcode-sender. This button also clears the showing toolpath and resets the controller. If you stopped the program with the ’Stop’ button. Figure 60: Control buttons . The ’Reset(break)’ button breaks a running program. it is always a good idea to press this button. you can continue by pressing the ’Start’ button once more. If something goes wrong.15 CONTROLLER CONNECTION GRBL . Just load the NC-file and start the program with the ’Start’ button. You can not continue it.

2 Direct move Of cause it’s also possible to enter direct values. Figure 61: Control buttons . GrblGru will use the speed ’Fman’ from the control panel of the main window.1 Jog mode Jog mode with the keyboard is possible with following keys: • Z(Y) = X+ • X = X- • Q = Y- • A = Y+ • W = Z+ • S = Z- If you press the key the movement will start and continue until you release the key.1./ TINYG 57 15. 15. In this case use the controls from the groupbox ’Actual work position’. In combination with the CTRL button it is 0. If you press the SHIFT button at the same time the factor of speed = 10.3.3.15 CONTROLLER CONNECTION GRBL .

./ TINYG 58 15. This allows to ’talk’ directly with your controller in the lower left window.15 CONTROLLER CONNECTION GRBL .4 Command line mode To use the G-Code-sender in command line mode set the switch ’Command line’ in the status line. Grbl should respond with a list of the current system settings. similar to as shown in the following. arrange the dimensions moving the borderline with the left mouse button.g. Figure 62: Using the command line Tip: If you need some commands very often e. So if you enter $$. the command ’$#’ for showing the working systems by Grbl create a user button for that. Please note that in Command line mode the groupboxes ’Actual work position’ and ’Control panel’ are disabled. In order to get more space for both windows. Please see section ’Programmable user buttons’ for details.

. • To operate with GrblGru sometimes it is nice to have this manual ’on board’. In combination with the CTRL button it is 0. You can find it under menu section ’Help’ . • Because I have no internet in my workshop.. This will be explained further down in a special section. The normal increment is 1. . Just edit this file with a 2D-graphic program to show anything you want.Help .16 THINGS. • For your own use you can find the pdf-file ’MyHelp’ in the menu section ’Help’. use this to load your NC-program.1 mm and with the ALT button you get 0.Extras there is an item ’My Macros’. • The machine position can be changed by using the small up/down buttons at the left side of the input- control. which make life easier in cellar and workshop. WHICH MAKE LIFE EASIER 59 16 Things. If you press the SHIFT button at the same time the increment is 10 mm. • On the big main toolbar you find the first button . After closing GrblGru and restarting it. Here you can take your notes. connecting and interfacing Grbl in Menu . The file is located in the AppDataPath and you can write in here whatever you like and need. which can be displayed by selecting the switch ’Show layer’ in the control panel. Here you can create your own user buttons on the right side of the screen.GrblGru manual • In Menu . when you are working with your machine. which make life easier I try to furnish a program with many features to make it pleasant for the user. • Also on the big toolbar you find . I saved some pdf-files about configuration.0 mm. • There is a DXF-file.01 mm. Mostly these are only little simple things. which you have used before.

dat will be loaded into the editor. Tip: Use short names.1 Programmable user buttons On the right side of the main window you will find some user-buttons.0.0. because the space in the buttons is very limited. and if you press this button the machine will move to the position 0. The button name must be inside the square brackets. For example a new entry : [MyNewMacro] F300 g1 g90 x0 y0 z0 will create a new button on the right side. Here you can generate your own commands by adding a new button. . Figure 63: user button By selecting the last button ’EditMacro’ the file macro. WHICH MAKE LIFE EASIER 60 16.16 THINGS.

dat in editor .16 THINGS. WHICH MAKE LIFE EASIER 61 Figure 64: macro.

So I can move to a position. I create the command ’setref’. created by the CAM-program ’Estlcam’. I copied this function only in my macros. Because it is nesessary to set the local reference position to the actual position. Figure 65: Toolpath of the drilling function .1 Smart drilling Please refer to this fine function. press the macro button and get a hole at this location.1. WHICH MAKE LIFE EASIER 62 16. It makes a drillhole with specified values with a small tool.16 THINGS.

In combination with the CTRL button it is 0. If you press the SHIFT button at the same time the factor of speed = 10.16 THINGS.2 Jog mode Jog mode with the keyboard is possible with following keys: • Z(Y) = X+ • X = X- • Q = Y- • A = Y+ • W = Z+ • S = Z- If you press the key the movement will start and continue until you release the key. GrblGru will use the speed ’Fman’ from the control panel of the main window. .1. WHICH MAKE LIFE EASIER 63 16.

Figure 66: 3D model from my lathe . Some time ago I assemble 2 stepper motors and connect them with an Arduino. Until today I only use hand made g-code to control the machine but now I create the first program for the lathe.17 SPECIAL MODE FOR LATHES 64 17 Special mode for Lathes I am a proud owner of an old little lathe.

Figure 67: Menu import Figure 68: Loaded an DXF ’bell’ contour . SVG or NC file.17 SPECIAL MODE FOR LATHES 65 17. Import an DXF.1 Loading workpiece The describion of the workpiece is the same as in milling mode.

The checkbox Create STL tells GrblGru to create a STL object from your contour.2 Creating g-code Creating the g-code is near the same as in milling mode. By the way. after a short time you get a tooltip about the control.17 SPECIAL MODE FOR LATHES 66 17. 17.1 Intermediate data mode Let’s begin to discribe the intermediate data mode. With the 2 checkboxes Rough pass and Finish pass you choose the mode of cutting. F is the normal working speed. Figure 69: The ID to NC dialog The NC File is use to save the g-code if you press the button Start calculating Gcode. Dstart is the diameter you start your job. It must be larger then the max. Here you have the choise to select either the imported intermediate data or the direct data mode.2. This file then will be automatically loaded. You find 3 inputs for speed controlling. Diameter of the workpiece. . DeltaY is the infeed for one pass and Yoff is only an offset value. if you move the mouse cursor on a control. Open the dialog with the toolbar button . Fmax the rapid traverse sped and Finf is the speed for the infeed. Only the groupbox ’Process’ is a little bit different to the milling groupbox.

17 SPECIAL MODE FOR LATHES 67 Figure 70: Created G-code for the rough pass Figure 71: Created ’bell’ STL object .

the length of your workpiece L and the angle alpha.2. You choose only the diameter D. Figure 72: Created G-code for an cone .17 SPECIAL MODE FOR LATHES 68 17.2 Direct data mode The direct mode is to create a simple cone or to reduce a diameter.

3 Starting After you press the button Start calculating Gcode the file then will be automatically loaded.2.avi?dl=0 .17 SPECIAL MODE FOR LATHES 69 17. Figure 73: Start the simulation If you like to watch the video: ’Creating a bell’ in GrblGru: https://www.dropbox.com/s/pyjdvw42e7q90ov/lathe. Just start the simulation mode to see the movements.

3 Additional pictures Figure 74: My old lathe Figure 75: Arduino ’in the box’ .17 SPECIAL MODE FOR LATHES 70 17.

dat-file.Extras . (See details in section ’How to add the Cad-Model’) The last box ’machine. In the ’Data’ box you can change the displayed values. where you can delete or add machines.Machine-Manager you get a dialog. change data or CAD-models. Figure 76: The Machine-Manger dialog . you can use the Machine-Manager. The ’CAD model’ box allows you to change or add new models with the help of STL-Files.dat’ gives you direct access to the machine-file.18 THE MACHINE-MANAGER 71 18 The Machine-Manager If you like to change some machine data. for example the workspace size. After starting the MM with Menu . By selecting the ’Accept data’ button all data will be saved into the machine.

dat. where all axis are in base position ! The base position is when the x-axis is on right. You can always change it later. the y-axis is on back side and the z-axis is on top. but it is a machine . But it depends on your PC. To make the movement later on. Simple 3D-model means that there are only the important parts. GrblGru will identify that it is a new machine and add it to the machine. enter the name of your machine in ’Machine’ control and press ’Add new machine’. To explain the Cad-model I constructed a very simple machine named ’Dummy’. because the graphic is too slow.2 How to add the Cad-Model First of all you need a simple 3D-model from your machine. If you are not sure about the data at this time. And if there are too many details it makes no fun to use the program. You can take this as test object to see for example the result of changing parameters. Figure 77: It doesn’t look like it. 18. Then enter your workspace-dimensions and the origin of the laser and press ’Accept’. every triangle takes time.18 THE MACHINE-MANAGER 72 18. Try yourself what is possible. In the picture you can see ’Dummy’ in the base position. it is no problem.1 How to add your own machine To add your own machine.

.stl. Press button ’Load STL-files’.stl and so on .18 THE MACHINE-MANAGER 73 After you have created the Cad-Model in base-position you need to save all components in several STL-files. Ok. save the x-axis in file x. . the part which has no movement. in file base. Then start the Machine-Manager. select your new machine and select the path. where your files are located. we have finished now ! Close both dialogs of the Machine-Manager and check if you can see your machine in the GrblGru main- window.. Save the base.

3 Machine Designer If you are the proud owner of an enlarged ShapeOko machine you can use the program ’MachineDesigner’ to design your own machine and add it to GrblGru .18 THE MACHINE-MANAGER 74 18. Figure 78: S2 with 500mm Y extension . ’MachineDesigner’ allows to resize the normal dimensions.

like dust shoes. Figure 79: Makita ruter model with a dust shoe construction . You could design your own dust shoe and add it to the program. After that you can move all exes. measuring units etc. to see if there is some intersection or how much your working space is limited. for example.18 THE MACHINE-MANAGER 75 Basicly the MachineDesigner is created to improve parts of the ShapeOko. So.

Let’s have a look at the actual machine.dat’ contents parameters.1 Dimension data This file ’machine.6514 vToolPosy = 189.37 bPortal = 1 [Dummy] xminus = 0 xplus = 90 yminus = 0 yplus = 70 zminus = -16 zplus = 0 vToolPosx = 5 vToolPosy = 6.009 vToolPosy = 139 vToolPosz = 128. maybe that’s just for the advanced user. The last value bPortal is necessary to tell GrblGru whether you have a machine with a gantry or not.4 Advanced information In the following sections I will try to explain what’s happend under the cover. These section names are used to be shown in the combo box.dat. I measure it in the Cad-program. So.36 vToolPosz = 170.4. The format is a simple ini-file. 18. This is the reason why z goes into minus direction. The dimensions are stored in the parameter: • xminus and xplus • yminus and zplus • zminus and zplus I prefer a right-hand-coordinate system. The vToolPos parameter is the origin of the laser.3 vToolPosz = 26 bPortal = 1 . [Milli] xminus = 0 xplus = 185 yminus = 0 yplus = 140 zminus = -60 zplus = 0 vToolPosx = 192.799 bPortal = 0 [ShapeOko2] xminus = 0 xplus = 339 yminus = 0 yplus = 300 zminus = -58 zplus = 0 vToolPosx = 53. Every machine has its own section.18 THE MACHINE-MANAGER 76 18. which gives GrblGru information about the dimensions and type of all machines. where you select the machine.

2 The order of the vertices in a triangle is important.000029 • triangles t????=a.b. z example: v0000=100.2 Graphic data All graphic data is stored in the File ?. • vertices v????=x.18 THE MACHINE-MANAGER 77 18.1. The syntax is very simple. [y] and [z]. The order of sections inside the file is not important. • lines l????=a. They are not really necessary. . [x]. y.4. I use the right-hand rule.-0.c a. The order of keys inside a section is not important.b. So for example ’Dummy.0. triangles and lines.b a.1 GrblGru also requires the following parameters to get information about the size.b = no of vertex example: l0000=0.tco’ contents the data for the machine ’Dummy’.000029. There are 4 sections named [base].tco.c = no of vertex example: t0000=0.000000. ? stands for the name of the machine. All graphic objects are represented by vertices. The lines are only used to show the edges. key = value. • nv=n n = count of vertices example: nv=24 • nt=n n = count of triangles example: nt=13 • nl=n n = count of lines example: nl=25 See the example section [base] from our Dummy-machine on the next page.

000038 v0017=100.000038.0.0.000029 v0003=100.000029.000029 v0011=0.75.0.000000.6 t0004=8.000000.6 l0008=8.0.000038 v0005=-0.000000.15.-1.000000.000029.-2.23 l0023=23.15 l0015=15.0.14 t0008=16.10 t0006=12.75.16 l0018=17.22 t0000=0.0.000038.4 l0006=5.-2.-2.000030.000000.-0.000029 v0012=100.000029 v0009=0.000000.18 t0009=17.000000 v0021=100.-2.000000.0.10 l0012=12.20 l0022=21.000029 v0002=100.0.000030.8 l0010=9.999962 v0008=0.000030.-2.000000 v0013=-0.2 t0001=1.000038 v0019=-0.999962 v0020=100.-0.000029 v0001=100.000000 v0016=100.-0.0.000000 v0022=-0.75.18 l0020=20.9 l0009=10.000038.000038.000000.000029 v0004=-0.75.0 l0002=1.75.3 l0003=3.14 t0007=13.000000.22 t0011=21.17.0.000000.1.000038.18 t0010=20.999962 v0006=100.-1.0.000000 v0015=-0.000000.-1.-2.000000 .-0.000038.000029.0.18 THE MACHINE-MANAGER 78 [base] ColorBody=-65536 KeyFormat=D4 nl=25 nt=13 nv=24 l0000=0.13.000000.000000.999962 v0018=-0.75.000029.000000.23.000000.3.-1.7.2 t0002=4.000029 v0010=0.75.21.11 l0011=11.000000.000000.000000.5 l0005=6.-0.0.-2.000000.1 l0001=2.13 l0013=14.000000.11.000000.9.-0.75.75.000000 v0023=-0.000000.0.000000 v0014=100.75.000000.14 l0016=16.12 l0014=13.19.2 l0004=4.75.000000.000000.19 l0019=19.10 t0005=9.000000.7 l0007=7.000000.000000.17 l0017=18.000000.75.22 v0000=100.000038 v0007=100.000000.000038.000030.-2.000038.000000.-0.21 l0021=22.5.000000.0.-0.6 t0003=5.0.

Figure 80: Layer on Figure 81: Layer off .18 THE MACHINE-MANAGER 79 18. Just edit this file with a 2D-graphic program to show anything you want.4.dxf is a normal DXF-file and intended to show some additional infos like raster. limit stops and so on.3 Layer data The file ? Layer.

5 My girlfriend ’Milli’ To show you an example of self-made machines. Figure 82: My real Milli Figure 83: and her virtual sister They could be twins. have a look at the following pictures.18 THE MACHINE-MANAGER 80 18. couldn’t they? .

18 THE MACHINE-MANAGER 81 18.1 Other machines Here you can see 2 other machines I build for friends. using GrblGru .5. Figure 84: Cobra Figure 85: BF20 .

If I get time in future I will create a special mode in GrblGru for controlling a lathe. Figure 86: My old lathe .2 My old lathe Last but not least my old lathe that I have control also with Grbl .5.18 THE MACHINE-MANAGER 82 18. but at that moment only with manually created Gcode.