GUI other than freeware

Hi guys and gals,

I’m considering using the X carve as a platform for some pretty cool science and engineering stuff at the University of Houston. I want to convert the machine to control a spraying process to make thin coatings onto ceramic and metallic objects.

The big “obstacle” is connecting the other external spray hardware (ultrasonic generator and syringe pumps) to the Arduino based hardware that’s included in your package. This “other” equipment has com ports and simple DC signals for on/off and control settings so it shouldn’t be impossible. The Easel GUI is great for carving but would not do me any good for this other application. I could make it work if a new GUI was available to tie in these other functions and create “teachable” pathways (not SVG images). It’s literally telling the head to move back and forth and to turn-on the spindle with a certain RPM. I would need to command when to turn on the ultrasonic generator as well as the syringe pumps.

I don’t know if this is something of interest, but it would be really cool and open a lot doors in the research community. (materials engineering).


Look at Mach3 or Mach4. You can set them up to control just about anything with gcode commands.

Hello Benjamin,

I think it’s fantastic that you’re using the X-Carve for scientific research. As an Electrical Engineer and an embedded electronics enthusiast, I’d be happy to brainstorm solutions with you. Would it be possible to get the model numbers for the “other hardware” the X-Carve would need to communicate with? One solution that immediately came to mind would be to use a second microcontroller to interpret command outputs from the GRBL controller and translate them into your desired control mechanisms. Say your syringe pump needs to be at 2.2 liters per minute and this requires a set of digital inputs on the pump to be held high. You could create your GRBL code to output at a specified spindle % duty cycle, and program the second microcontroller to measure that duty cycle as a means of being “told” what flow rate to command the pump to. For example, you want 2.2 liters per minute. Your X Carve program commands 40% max RPM and outputs a PWM signal of 40% duty cycle at ~100Hz. The output goes to an input pin on a second Arduino which utilizes the PulsIn() command to measure the duty cycle. The second Arduino then knows that a 40% duty cycle means 2.2 liters per minute and interfaces with your third party hardware accordingly.

I would seriously consider a real controller and stepper drivers. You’re not talking about much money and you will get all of the outputs and relays you need, easily configured in Mach 3. Mach 3 probably has an education license. Here is an example of a “Breakout board,” that enables you to utilize a computer’s parallel port outputs to control external apparati:



I sorry but I do not believe you will get the results you are looking for with a standard X-Carve with standard electronics.
The mechanical part of the X-Carve can possibly do what you are asking.

I would suggest that you look into getting a X-Carve with no electronics and then looking at LinuxCNC as you control software and getting Break out Boards (BOB) and stepper drivers that you can rely on to run everything with the precision you require.

LinuxCNC lets you customize the GUI so you have the controls you would need for spray coatings application.

Ariel, WA

A Gecko G540 based controller is a fairly low cost upgrade.
No need for a separate breakout board as the Gecko has opto-isolated inputs (4) and outputs (2).
Linuxcnc, free and customisable. .