Estlcam machine controller

Hi,

a changelog is something I like to avoid - it just costs time I rather like to spend programming and I doubt many people will actually read a list of bugfixes, optimizations and preset changes that are hard to understand without internal knowledge of the program workings.

The Estlcam version numbering scheme is quite simple:

  • Main version number change: Lots of new features and sigificant
    changes e.g. to user interface or file formats. Possible to install
    parallel to older versions.
  • First decimal place chage:
    Significant new features - but nothing that interferes with compatibility or general workflow.
  • Last two decimal places:
    Bugfixes, preset updates and minor improvements.

So basically:

  • The 8.0xx series was the last big update to the 2D and 3D CAM
    functions but with basically the old, quite limited CNC controller
    from Version 6 and 7.
  • The 8.1xx series included improvements to the old CNC controller with basic support of the GRBL pin layout and allowed to set step resolution settings for each axis independently.
  • The 8.2xx series now has a completely revised CNC controller with new features like feed and spindle override, limit switch and touch probe support and improved compatibility to Arduino UNO clones. It is less than 2 weeks old.
  • The recent minor updates were mostly bugfixes. Especially now that a few users from the US tried the controller a few bugs related to unit conversions and language / culture settings were discovered - something that stayed hidden for years as Estlcam is mainly used in Germany and Austria.

Just update once in a while - it can only get better (OK - ocassionally fixing one bug creates new ones somewhere else - but by large Estlcam improves with each update).

Christian

Not an X-Carve but Shapeoko 3 with 0.8kW spindle controlled by Estlcam:

1 Like

I have been using ESTLCAM for quite a while now as a CAM and looking to experiment with it as controller as well.

I am just wondering with the limit switches for homing where are they located? My 0,0 is top right of my Shapeoko. Is it possible in the Software to flip the axis for limit switches?

Also with the work area feature, it default to 0,0 being bottom left, is it possible to have an option there to allow for top right zero zero?

Estlcam does not home the machine - it is just not necessary. Estlcams coordinate system is always relative to the workpiece where you set your axis to 0.
Limit switches are optional and if used should be on both sides to prevent crashing into the endstops.

I find Homing necessary, if you have to interrupt the job and wan’t to resume later, the homing switches ensure you start from the same position, also useful if you are doing something double sided that requires flipping.

I will still give it a try and see if i can make it work as it would be good to do it all from one program.

Estlcam remembers its last position - as long as you don’t move the machine with power off you can just resume.
When flipping parts there are usually 2 cases:

  • If you use a jig for alignment it is the same as above: just resume.
  • If you don’t use a jig you need to touch off the workpiece anyways - also on a homed machine.

Maybe I add optional homing support in the future - but the cases where homing is helpful are limited in my opinon:

  • Homing allows to use “soft limits” - but a machinist unaware of the programs actual size so it exceeds machine travel is… well… a quite shitty machinist :wink: And if the program is just larger than the workpiece it won’t do anything at all.
  • Homing allows to resume after a crash or step losses even if there are no edges available anymore to touch off the workpiece again. Legitimate but rare case → in this situation the workpiece is usually damaged anyways.
  • Of course homing is necessary on machines with stationery equipment like e.g. automatic tool changers or stationery tool length sensors (Estlcam supports movable tool length sensors).

By the way… Estlcam offers help to find workpiece zeros:
It can find circle centers and even adjust the CNC program if the workpiece is not properly aligned to the X-axis:

Ok I think this is where I am getting confused as to how the controller works. Currently I am aligning my work piece to a machine homed 0,0 position with limits but If I understand correctly you are “Touching off” to the workpiece to find the 0,0 of the workpiece?

How does that work and what do you use for that?
Does it just connect to the probe input in a GRBL compatible board?
I cant see anything that covers the touching off do you have any videos / information?

Thanks for the info so far!

With Estlcam the workpiece can be wherever you like - it doesn’t matter.
The only thing you need to do before starting the CNC program is to tell the machine where it is by moving the machine to the workpieces origin and set all axis to 0.

Here is a video showing an older version of the controller - but the principle is the same:

So when you just want to cut out some parts from a board:

  1. Move the machine to the left / front corner of the board (assuming this is where your CNC program origin is) but stay a few mm away from the edges (so the parts will also stay a few mm away from them)
  2. set X/Y to 0
  3. Move the tool down until it just touches the board (assuming z-zero is top of the part - otherwise touch off the machine bed)
  4. set Z to 0
  5. start machining (your tool does not necessarily need to be at XYZ 0 now - it can be anywhere as long as you touched off properly before)

This way X/Y obviously won’t be too precise - but more than sufficient for most work with slightly oversized stock material.
But you can also set X/Y very very precisely on the edges of a part or center of a circly by using the “Touch off edges” or “Find center” Menu if necessary.

I’ll create a new video soon showing all the options - you can e.g. use touch probes (but to be honest: touching off with the tool is usually way faster and equally precise than removing the tool, inserting a touch probe, probing, removing the probe, re-insterting the tool… … …)

Christian

Thanks Christian I understand what you mean now, I was thinking of a more automatic way, which is what i do with homing now, in less then 5 secs I have the corner of my workpiece perfect every time automatically.

Now I have a grasp I will do some playing arund manually touching off as you say with estlcam and see if it is not to slow a process, but even if it is a bit longer I will be saving time anyway by doing everything in estlcam. A future video would be greatly appreciated though :slight_smile:

I have a suggestion for a future version if its at all possible. I have just been working with a new toy at work, a Zund G3 and the software in that has the option for a last pass depth. what you can do is say you set your depth per pass, and you can set it so the last depth is always going to be x, ie 1mm. this way it ensures a nice clean cut for the last pass.

You can do it manually by math with thickness of material and depth per pass, but just a suggestion if you think it worthy.

This would be possible but against Estlcams goal to be as simple and user friendly as possible.
I intentionally keep the number of options and settings low.

I am now using the Controller in ESTLCAM. One thing I am finding, is I have a probe for setting my Z height. Whenever I enable this in the controller options, the program keeps throwing an error saying limit reached, even though the probe is not touching. I am using the exact same configuration with GRBL and it does not give the same problem.

The X Y Limit switches work fine when ticked and don’t throw an error.

there can be many reasons:

First measure the voltage at the input pin when the probe does not touch. It should be 5V.
If it is 0V you need to change the input pin logic in Estlcam.

If the input triggers “spontaneously” the issue is most likely electrical interferences e.g. caused by power- or stepper motor cables running along the probe cable. Estlcam is quite trigger happy - a single interference spike on the probe pin may trigger it. To avoid this keep power and input cables separated or add a small (100nF) capacitor to the input pin. The capacitor will filter out short spikes and is the most reliable method.

Christian

Sparkfun has a new controller that combines an Arduino and a grbl controller in a single board.

Stepoko

Any idea whether or not the Estlcam controller would run on this board?

Thanks

1 Like

Christian,’
Glad I found your program. I am a proud new owner of a ShapeOko 3. New to CNC but many years dealing with computer control of machinery. Am retired and getting started with CNC. Now to my question. I like using Linux as my OS of choice for my CNC machine. I have gotten EstlCam to run on Mint but cannot get it to recognise the USB port the ShapeOko is on. Are you intending to port your software to Linux? Would love not having to use an intermediate program to send gcode to the machine and EstlCam would be a great choice for my needs.

Thanks,
Paul

I’d say 99% likelyhood to work - but I can’t guarantee.
(Hardware designed for GRBL will almost always work with Estlcam unless it uses an incompatible bootloader)

[quote=“PaulSgrillo, post:79, topic:14660, full:true”]I have gotten EstlCam to run on Mint but cannot get it to recognise the USB port the ShapeOko is on. Are you intending to port your software to Linux?
[/quote]

Unfortunately no. Estlcam is a quite large and complex .NET Program that took 6 years to program - I have almost no Linux experience at all so this would be a major task and halt all other developments on the program for a year or two.

1 Like

Thanks Christian. I will have to set up a dual boot so I can take advantage of your program. Love to be able to directly control the ShapeOko without having to jump to UGS or bCNC.

Angus if you are asking me if I tried Mono, the answer is yes. I can only get it to run with the PlayOnLinux util. If you have gotten it up on Mono, I would love some direction.

Thanks
Paul

The feedback I get is that Mono alone isn’t enough. Most people can’t get it running under Linux at all, some with restrictions and basically everyone reported that it took them hours to days to make it work but couldn’t give a step by step guide.

Unfortunately I have basically no Linux experience so I can’t offer much help here - but maybe this helps a bit:
Estlcam uses .NET but also some Win32 API calls and additionally requires direct access to hardware for the controller.
So maybe it boils down to Wine + Mono + getting sufficient hardware access permissions.

No sure where it fits best so I just post it here:

Trochoidal milling with Estlcam:

It improves machine performance on difficult materials like aluminum, steel, cast iron and even stainless steel.

Hi Christian,
You are right about the time it takes to get it running in Linux. Had to resort to PlayOnLinux and some added libraries which I found were needed from this posting:
06-07-2015, 11:18 AM #6
talpa talpa is offline
Registered

Join Date
Nov 2014
Posts
4
Downloads
0
Uploads
0
Default Re: Running Estlcam under Linux using wine
I got it running on my Laptop, seems to be running fine

Here are some hints for installing it under playonlinux

  • Select a 32bit windows (64 bit may or may not work)

  • Customize the components (winetricks for plain wine) and install the following:

POL_Install_directx9

POL_Install_dotnet40

POL_Install_gdiplus

My laptop also had “POL_Install_corefonts” installed, but when I attempted to verify the installation procedure here on my stationary pc it caused all text to look like it was written in Greek.
Seems to work just fine without the core fonts.

This works for getting it running but since I wouldn’t have direct control of the shapeoko on my workshop pc, I am stopping the Linux attempt with EstlCam. I am sure there is someone with a lot of Linux smarts who will be able to bridge the gap. Until then I will self debate whether or not to re-install windows on my workshop pc. Love your program just hate to have to wander from computer to computer to fix my errors in projects I am working on.

Thanks
Paul