Linux Mint, Easel, USB driver, Sainsmart 3018

Greetings, I am trying to use my Linux Mint ver: 19 computer with Easel software in a Firefox (or Chromium) browser to control my SainSmart Genmitsu CNC Router Machine 3018-PROVer.

I followed these steps:

  • logged into
  • in the Easel program, clicked Machine.
  • downloaded the linux driver: EaselDriver-0.3.20-x64.deb
  • installed the EaselDriver
  • driver installation was successful, typing: $ dpkg --list | grep easel produced the following line:
    ii easel-driver 0.3.20 amd64 Driver used to communicate between Easel and X-Carve or Carvey
  • rebooted my computer.
  • opened Mozilla Firefox ver 76.0 browser
    (by the way driver using Chromium browser Version 81.0.4044.138 did not work either)
  • logged into
  • clicked on Machine and entered the following:
  • Machine: Other (grbl)
  • Model: DIY CNC Router Kits 3018
  • Work Area: x 500mm, y 500mm
  • clicked on: Set up your machine
  • Machine type: Other (grbl)
  • Model: DIY CNC Router Kits 3018 (also tried: Sainsmart)
  • Motion Controller: Arduino & gShield (also tried: X-Controller)
  • Rail size: 500mm x 500mm (also tried 750mm x 750mm and 1000mm x 1000mm)
  • Lead screw: ACME threaded rod
  • Spindle: 24V DC Spindle
  • Dust shoe select box unchecked
  • clicked on: Confirm settings
  • plugged USB cable between my CNC machine and my computer and turned CNC machine on

Screen never progressed beyond: Connecting to Other (grbl) …

I had to click Cancel to return back to Easel.

Is anybody using a similar setup and any suggestions what I might try to make it work?

Thanks in advance.

Not an expert by any means, but what is the chip in your computer as Easel does not support some? Copy and paste this into terminal

curl | sh -x

Try this driver, made by @SamyKamkar.

Related thread here.

Thank you very much! I will look into this driver.

Thank you Hamish. I will pursue this further!

Please feedback Mark so we can all learn.

I will report back my findings.

I have limited Linux skills and want to make sure attempting to fix this driver issue doesn’t “break” my system. Doing so my exceed my capabilities to fix it.

Initially I want to concentrate my efforts on getting the “official” driver by to work.

You will not go very far if you do not try. Simply copy the link above and paste into terminal. You will not “break” your system but you will advance.

I wanted to follow-up and report my findings in case anyone else is having this problem.

First, I reached out to technical support and they asked me to report any errors in the Firefox browser web developer’s console.
There were none.

Next they asked me to report if the driver is running by issuing the following command in the terminal:
$ ps aux | grep easel

The result showed the driver is running.

Next they asked me to report the Easel driver log files by entering the following command in the terminal:
$ cat /var/log/syslog | grep easel-driver

This output showed no errors from the easel driver.

Based upon this data they concluded that the Easel program is communicating with the Easel driver but not with my CNC machine.
They suggested that I try using another USB cable or reflashing the firmware on my CNC machine and making sure no other control software is running/interferring.

Next I went to the following website and downloaded the latest version of the grbl software for Arduino:

The version I downloaded is: grbl v1.1h (2019-08-25) Release

I started exploring how to flash the firmware on my CNC machine and found the following information on the Sainsmart Genmitsu CNC Users Group’s Facebook page:
“Hello Everybody! We received a few cases where users had updated their firmware to the latest version of GRBL and began to experience issues. We just want to remind folks to not update your machines firmware unless its supported by us (posted to our product page or wiki) as it will impact your machines performance and/or functionality. The 3018-PRO / PROver is shipped with GRBL 1.1F, if you attempt to flash GRBL 1.1H you will brick the offline controller. We have attached a guide for updating/reflashing your firmware in case you were affected or need to update your firmware with a build provided by us in the future.”

At this point I know my Sainsmart 3018 PROVer CNC machine has customized firmware (version 1.1F versus the 1.1h previously downloaded from github).
Still, I wanted to find out whether the grbl 1.1h version (from github) would work with the easel driver (even though my customized version would not).

I used the Arduino IDE to flash an Arduino Nano with grbl version 1.1h.
Next, I opened Firefox and the Easel program.
I clicked on Machine, and selected the same information in the dropdown boxes as in my original post.
When it asked me to plug in my CNC machine I plugged in the Arduino Nano that I previously flashed and the Easel driver was able to communicate with it without any apparent problems.

The Easel program and driver seem to work fine on my Linux desktop running Linux Mint ver: 19 Tara, xfce desktop, Firefox browser, easel driver supplied by This configuration communicates apparently without problems with an Arduino Nano with grbl-1.1h firmware. However grbl-1.1h will ‘brick’ my CNC’s offline controller and cause other “issues” for my CNC machine according to someone from SainSmart Technology, Inc. Therefore, I will forego using the Easel driver and instead download the gcode produced by Easel and then continue to use the Candle software (or Universal GCode Sender software) to control my CNC machine.

Thanks very much for info. I understood the SainSmart controller uses the Arduino so find the tech advise a bit confusing ie “brick” Perhaps an expert will be able to clarify.
I am using Easel on Linux Mint 20 (newest)with no problems so have been interested in your progress. You can also use Linuxcnc in addition to UGCS etc.
Edit Forget what I posted as Linuxcnc does not use Arduino.(OOPs, it can )

Hi Hamish,

When you say you are using Linux Mint 20 and Easel with no problems do you mean you are able to communicate directly with your CNC machine using Easel’s Linux driver or a third party driver?
Are you using the same Sainsmart Genmitsu CNC 3018 PROVer machine I am? (SainSmart Genmitsu CNC Router Machine 3018-PROVer with GRBL Offline Control, Limit Switches & Emergency-Stop, XYZ Working Area 300 x 180 x 45mm on amazon for $350)
Is the only difference between what you and I are doing is that you have a later version of Linux Mint?

My understanding is the Sainsmart Genmitsu CNC 3018 PROVer does use an Arduino but I am not sure if the bootloader remains on their ATmega328. When they give directions on how to update the firmware it does not involve the Arduino IDE. They only provide directions for Windows users which involves an executable progam (.exe) to copy a hex file onto the CNC controller board. They may not keep the bootloader to save memory. I have no idea if the bootloader plays any role in the problems I was having. In addition I don’t know what their grbl-1.1f customizations are but at least I know I can control the machine pretty well with the Candle software.
Here is the url of the Sainsmart reps post on facebook:

There have to be a lot of Easel and Sainsmart 3018 users out there but probably the vast majority are using Windows. I really love Easel since it combines CAD and CAM in one package. I started out with LibreCad which I found was more robust and complex than Easel but then I didn’t have any CAM software. I was thinking of using the Dxf2gcode program (in the repo) to provide the tool paths (CAM) but I couldn’t find much feedback (reviews) or tutorials. Easel really simplifies things!

If I find out any more about the Easel-Linux-Sainsmart tool chain I will pass the info along on this thread.

I am communicating directly with the Arduino which has a CNC shield, no Sainsmart and with the third party driver, which works.
I did have a Sainsmart controller at one time but felt I had no benefits, others will.
I enjoy the electrical side and at the moment setting up my cnc using Linuxcnc which I consider gives me a more reliable link to my machine.
I do use Easel to set out my projects and then I may create gcode and use on Linux. All very entertaining.

I might also take a look at Linuxcnc when I get time.

I have a book titled: “Make: Getting Started with CNC” by Edward Ford which was published in 2016 and on page 107 the author states: “Both Mach3 and LinuxCNC still rely on a parallel port to communicate with the controller. They do not support USB connections”. When I read that I more or less tossed out LinuxCNC from further consideration because I thought it was either outdated or more high performance than I would be likely to need. Like many things in this rapidly changing field that may no longer be true. The book also recommends MakerCAM which runs in a browser (good, nothing to ‘install’, platform independent, what’s not to like) but in checking further the browser must have adobe flash player installed which is now obsolete and no longer supported. Great!

I agree, all very entertaining and quite a challenge!

I am absolutely no expert. I am using Linuxcnc to a parallel port to a simple BOB. Not all parallel port pcb are suitable and I did a bit of searching to find one with the correct chip at about £11 from ebay and a BOB at about £7. I am also going to use different drivers although I rigged up the BOB to hook in to the Arduino cnc shield which uses simple, cheap drivers I am on thin ice now, but they are using Mesa boards which as I understand it they are parallel ports with dedicated BOB’s and appear very clever and expensive. I also briefly looked at a posting on the Linuxcnc forum where a poster was using a USB system but way above me. The Linuxcnx forum is a mine of info.
I do actually use Easel as I create SVG files for model aeroplane parts on Inkscape from plans I have downloaded and then cut out on Easel.
Now moving upwards as a moment as enlarging cnc machine to a 1000mm wide by 1000mm long to enable cutting for a major project proposed with my son.
I am a 75 year old trainee and still very much enjoy dabbling.

1 Like

Did you input your Com port into the Easel software.

Not quite sure what you mean as Easel connects via USB port to Arduino. At moment I use Easel to provide the gCode file that I can run on Linuxcnc with minor additions to file