Inventables Community Forum

Estlcam machine controller

I saw that estlcam uploaded a new youtube video about the machine controll capability of this program. It has some nice features, i think the most of you find interesting.

I am wondering if i still can use easel when is do the arduino setup in estlcam.

I think Ypsilon is German for capital Y.


Yes, it should be “Y”.
Maybe I’ll add subtitles later - I’m German, my English is unfortunately not the best.

If you have any questions or suggestions about Estlcams CNC controller just ask me (I’m the programmer).


@ChristianKnull Is it possible to make a preset setting for the xcarve? I am new to cnc and cam software, and i’m affraid to mess up my arduino.


I don’t have an xcarve. As far as I know there are many variations of the xcarve with different motors, belts and electronics - so a preset unfortunately wouldn’t make much sense.

In terms of software you can’t mess up your Arduino - if you don’t like Estlcam you can always overwrite it with something else like e.g. GRBL. The only - and unavoidable - danger is if you connect your electronics wrong or select a wrong pin layout - but again this is something presets can’t prevent.


Actually Christian, There is (I believe) only one X-Carve. There are indeed many versions of Shapeoko, of which there are two decendents of the next generation of ‘hobby level’ machine. The Shapeoko 3, and also the X-Carve.

I happen to own both, but I have used the X-Carve for a dozen projects, and the Shapeoko3 for NONE.

The difference is the ‘tool path’ or in a rookies words, the software path that has to be committed to and processed before the first chip is cut.

I have seen Eslicam online in videos, and it appears to be more sophisticated and at the same time simpler than the software provided by Inventables, or Carbide. I think either company would do well by taking your (or another company that has this figured out) and implementing a version of the software that would drive and empower their machines) and incorporating it into their own software.

Now don’t get me wrong. I think Easel is great … but it is not as sophisticated as Estlcam … so why not work together to enhance the entire universe. And at the same time, turn current Estlcam customers on to the X-Carve. It’s a win-win. And I don’t at all mean to minimize the talents or efforts of the Easel team. They are doing a really good job in user interface and simplicity. It just seems that Christian has some things worked out that would be a great addition to OUR software.

I really liked the work I saw that allowed an internal thread to be formed on a part.

The industry is expanding rapidly. I think some of the things that this software can do are an even bigger reason for that evolution in technology.

And no, I’m not German or whatever Christian is, and I’m not a paid agitator. This software just looks really good to me, and I would have already purchased it, but it appears to be PC only, and not MAC, so I have not tried it yet.


Has anyone setup Estlcam that can share what you had to do to make it work with X-Carve?

Pretty sure I just told it that I was using grbl.

EstlCAM is a CAM program not a machine controller. You can only use it to generate Gcode using a post processor for your machine. It does not replace GRBL, LinuxCNC, Mach3, Mach4 or any of the other machine controllers out there.

It is a low cost CAM program and from what I’ve seen does an OK job of producing Gcode.

Ariel, WA

It looks like they have a replacement for grbl, too.

The main drawback of using Estlcam with the X-Carve is that you must flash your Arduino with Estlcam’s own control code. This means that you cannot use Easel and Estlcam simultaneously. You have to choose one or the other. And once you have setup the X-Carve to use Estlcam you must reflash the Arduino to return to stock configuration. Ask me how I know…


Check with TonyNo I’m fairly sure that he did two cuts of the same part. One with the Gcode generated by Easel and one with the Gcode generated by EstlCAM both on the same machine with no change to the machine.

I had to flash a new grbl in order to use the onscreen machine controls (jog buttons) in Estlcam. After this, Easel has no control over the X-Carve. I’m sure that you can still generate gcode to be used with UGCS, or whatever. But the Easel jog controls and carve button will do nothing.

Note that this thread is about the EstlCAM Machine Controller, not EstlCAM the CAM software. :wink:

Hey Tony,
I didn’t know the two were different. Can you please elaborate? Maybe supply a URL for each. I only found 1 link to Estlcam.

@ChristianKnull should chime in here. EstlCAM supports direct, machine control when using it’s own software on the Arduino. You don’t need to use it just for CAM. Think of it as a bonus, if you are interested.


Estlcam is a CAM program and machine controller.

Both functions can be used independently:

  • You can use it as CAM to create CNC programs for other machine controllers like GRBL, Mach3 or LinuxCNC.
  • You can use it as machine Controller to run CNC programs created by other CAM software.
  • And you can use both functions together.

Estlcam will upload its own firmware to the Arduino once you click the “Program Arduino” button in the “Settings” -> “USB CNC Controller” tab. This firmware is very different from GRBL and won’t work with UGS or other GRBL software - so you can’t use both at the same time. But you can reprogram the Arduino with GRBL at any time if you don’t like Estlcam.

The main advantage of Estlcams machine controller is continuous jogging and Xbox gamepad support.
It also does a lot of preprocessing on the computer instead of sending the original g-code to the Arduino. This way the motion planners look ahead is unlimited and 255 instructions can be buffered in the Arduino -> very smooth program runs even if there are hundreds of code lines per second (e.g. when using trochoidal milling).

At the moment Estlcam may not work with some Arduino UNO clones because it uses 500kbit for comminication which seems to be no problem for the original but is an issue for some clones and fakes. I’m currently working on a fallback to lower speeds to solve this.


What code was used as the basis for the Arduino-end of the software?

What license is it available under?

How closely coupled are the front-end and back-end? What would be involved in getting it to work w/ stock Grbl?

Could you document the protocols involved so that they could be used by other comm / control programs?


Its a completely own development written in assembler.

Its proprietary / closed source. However the machine control module can be used for free without limitations. Only the CAM functions are shareware ($50) but can also be tested without limitations for some time.

One doesn’t work without the other. Unlike GRBL the Arduino will not see a single “g-code” line but heavily preprocessed instructions instead. Most of the work is done by the computer and only a few time critical tasks by the Arduino.



So what’s happening is the Arduino is running a simplistic task which simply accepts motion control instructions and moves the machine, adjusting for hard real time so as to coordinate motion and acceleration.

The computer is connected to the Arduino w/ a faster than typical connection and is running the G-code interpreter and motion planner and sends simplistic move instructions to the Arduino over the 500kbaud connection, keeping synched up to a degree w/ where the machine is in something approaching real time.

What motion planner are you using? Is it something you developed internally, or an extant opensource project? If so, which one?