Posted by admin in Cnc
Configuring LinuxCnc to accept my touch plate (also known as a touch-off plate) was not easy. Based on the information form cnczone.com I compiled this overview.
Part 1: preparation
- Add Touch Plate to your system
- Configure the Pin in LinuxCnc
- Verify the basic functionality works
Step 1: the actual touch plate
My system didn’t have a touch plate nor did it have a connection prepared for this. This article is not about adding a touch plate interface to your controller board, but about configuring LinuxCnc to be able to use it. Nevertheless 2 photo’s of my work to modify my controller to accept a touch plate.

Driver board with empty connector. Section A is for the limit switches. Section B will contain the wires for the touch plate.

Section A has the limit switches wired up. Section B has the new wiring for the touch plate.
Step 2: Configure the Pin in LinuxCnc
LinuxCnc needs to know to which (input) pin number of the driver board the touch plate is connected. In my case it’s pin number 13, consult your driver boards manual or other provided documentation to find yours.
Configure LinuxCnc for using the touch plate. Start the Stepconf Wizard.

Select modify your configuration.
Select the existing configuration file.
Press forward on the Basic Machine Information screen.
Press forward on the Advanced Configuration options.
Now you arrived at the Parallel Port Setup screen.
Select the correct pin number, mine is 13, and select Probe In from the dropdown menu (See A). After verifying my setup (See step 3 further down) I found out that I had to invert my signal hence the invert box is ticked (See B).

Read the rest of this entry »
2 Comments »
Posted by admin in Cnc
At some point you need to do the math: the theoretical milling speed of your milling machine running a milling bit at high speed. And guess what we just mentioned the 2 variables to te equation:
- Spindle speed
- Milling bit
So you have to measure 2 things and then you’re able to calculate te IPM. Coming up: theory versus practice.
Spindle speed

Tachometer
Fair enough most spindles will ave ample documentation describing te maximum RPM. Mine as well but I wasn’t all that convinced so I bought a tachometer.
Theory versus practice.
In theory the spindle would run at 13000 RPM maximum. Measurements show a maximum of 11400 RPM. So the spindle speed was exagurated by 15%.
Theoretical Feed rate
Fl = R/min * Ft * n
So here it is:
Fl = 11400 * 0.3 * 1 = 3420 mm / minute = 57 mm /second
From a pcb milling forum (it off course depends on the type of bit used) : Advised speed on milling a pcb is 20 to 30 mm/second on 40000RPM. Proportional reduced to 8 mm/second for my 11400 RPM spindle.
From pcbgcode: As a rule of thumb, a safe feedrate for very small milling bits (under 20 mils diameter) is about 1% of the diameter per revolution.
Using the rule of thumb approach. The bit is 0.3 mm V-tip and the RPM is 11400:
0.3 * 0.01 * 11400 = 34 mm / minute = 0.5 mm /second
Conclusion
“Your milage will vary”
The calculated speed seems very high. From other sources and depending on the bit used te feed rates are muc lower. The deafult on the pcb-gcode setup screen is 254 mm /minute (4mm /second). It appears that te spindle speed cannot be entered there so I assume it will be higher then my 11400 RPM.
First I’ll stick to the 4mm / second but I might have to reduce that, after giving it a go.
Comments Off on Having a go at milling speed IPM
Posted by admin in Cnc
In some cases it might be convenient if we can split a gcode file into smaller pieces so they can be milled in small sections.
How does a typical gcode file, produced by pcb-gcode-3.5.2.11 look like? I suspect to find a header section like:
- Initialisation
- Move spindle up.
Sample of the top 15 lines of a test file. The section I consider header is in bold.
G21
(Absolute Coordinates)
G90
G00 X0.0000 Y0.0000
M03
G04 P3.000000
G00 Z2.5400
G00 X1.6917 Y9.2837
G01 Z-0.1778 F254
G01 X3.3883 Y9.2837 F508
G01 X3.5576 Y9.3174
G01 X3.7171 Y9.3834
G01 X3.8606 Y9.4793
etc
etc
First of all it looks like the file indeed has a header section. Let’s see what the codes mean.
[table id=1 /]
That’s it. All there is to the header. I suspect to find a footer as well, but let’s look at the miling parts first.
When milling a line segment it can simply be defined as:
- Position the spindly just above the linesegment to be milled
- Move spindle down into the pcb (negative Z movement)
- Move the spindle around (mill the line segment) without any changes to the height (Z movement)
- Move spindle up from the pcb (positive Z movement)
G00 X1.6917 Y9.2837
G01 Z-0.1778 F254
G01 X3.3883 Y9.2837 F508
G01 X3.5576 Y9.3174
etc
G01 X1.5224 Y9.3174
G01 X1.6917 Y9.2837
G00 Z2.5400
[table id=2 /]
Milling a line segment by means of the G01 linear Interpolation is in fact pretty straight forward it seems.
Let’s try to identify the footer. It wraps up operation so it will look like:
- Move the spindle out of the way
- Stop the spindle
- Stop the program
G01 X-0.6316 Y0.4907
G01 X-0.6316 Y0.4907
etc
G01 X1.8840 Y0.9641
G00 Z2.5400
G00 Z12.7000
M05
M02
[table id=3 /]
All in all it looks like a relative simple gcode file like this can be split into smaller sub programs complete with header and footer.
Comments Off on Gcode analysis – can we split it?