Open Source Controller with internal THC

05 Nov 2018 01:50 #119960 by thefabricator03
Hi All,

I am after some advice to point me in the right direction on how to go about getting some software written that I can use on my new line of CNC plasma tables I intend to build and sell in the Australian market.

Firstly I have designed and built a large industrial machine using CandCNC controller and CommandCNC software,

This machine works well and it is used everyday for production.

What I want to acheive is basically what CandCNC have done but my problem is they are not local to me and shipping costs for parts become expensive when spares are needed.

I want to develop a open source controller using LinuxCNC that uses minimal hardware parts and has software THC.

I have contacted Hypertherm about buying there controllers but they are not cheap and they dont want to sell to me.

Can anyone give me some guidance on what is needed to design open software that will include software based THC and the ability to drive servo motors via Ethercat.

Please Log in or Create an account to join the conversation.

05 Nov 2018 02:11 - 15 Feb 2020 20:49 #119961 by rodw
Great to hear there is an Aussie working on a plasma product. I'm in Brisbane. I can help.
The forum messaging is not very reliable. You can contact me via this link
Or just phone me on one of the numbers on that page.

I've recently written a document that summarises how to build a high performance THC system with LinuxCNC.

You will be able to build a table with superior performance to CommandCNC without using external THC hardware. The Mesa THCAD board is a very reliable method of reading torch voltage. Armed with that, you can do everything in software in real time just like Hypertherm does it.

There is an Ethercat module that has been adopted by LinuxCNC users. Unfortunately, it can't be integrated into the mainstream Linuxcnc code base due to incompatible licensing. But its still open source.

EDIT: contact us here
Last edit: 15 Feb 2020 20:49 by rodw.

Please Log in or Create an account to join the conversation.

05 Nov 2018 03:24 #119967 by thefabricator03
Hi Rod,

Thank you for your offer to help,

Can you link me to the document you wrote about building the THC system,

Also what do you mean about incompatible licensing?

As a hobby of mine I have been looking for ways to retrofit old six axis robotic arms, I have found this start up in South Korea that offer a open source robot controller that is based on Linux and can control AC servo motors via ethercat,

The controller hardware is based on the raspberry Pi,

I assumed that the driver they use is the same one that is available for Linuxcnc?
I have brought a controller from them but have not had time to play around with developing the control interface yet.

Please Log in or Create an account to join the conversation.

05 Nov 2018 04:11 #119969 by rodw
I haven't made the document I referred to public at this stage. Its in my Google Drive. We can talk about that off the forum.

Beckhoff who own the Ethercat standard have some licensing restrictions on their stuff. the Open source movement and their attorneys are very picky and risk averse. This restriction prevents LinuxCNC from adopting it as its not issued under the same GPL license that LinuxCNC is. (even different open source licenses are not always compatible).

There is a very long Ethercat thread here:
And some stuff on the LinuxCNC Wiki.
I've not had the need to look at Ethercat, but I'm sure it would not be hard to implement. There seems to be more and more of it getting about. Therefore I can't advise you about that controller.

I've played with a Pi over the years but the word around here is that the screen handling is far too slow for LinuxCNC. Machinekit (a fork of LinuxCNC) does use it but as a remote headless controller that you connect from another PC. I don't see the point of adding complexity.

I think if I was building a system, I'd adopt Mesa ethernet cards and use an USFF N3160 CPU based system. You can get these with 3-4 ethernet interfaces for firewalls etc. That would give you 1 Ethernet card for Mesa, 1 for Ethercat and still have at least one spare to connect your system to a wired network. I would try to talk to Hypertherm's RS485 using the Mesa UART. (No ones's done that yet but I want to give it a go. I think it should be doable). That way, the only connection to your table would be 2 Ethernet cables and there is no serial port woes. Nice and neat and good for noise resistance!

Please Log in or Create an account to join the conversation.

05 Nov 2018 06:35 #119971 by thefabricator03
I like the idea of only having minimal cables to the table,

I would like to keep the hardware to a minimum, the more things the software can do the easier and I feel more robust the system will be.

Do you have any idea on how CommandCNC was built? Was it build entirely on linuxcnc?

Where would be a good starting point for me to learn to create my own user interface that uses linuxcnc in the background.

Please Log in or Create an account to join the conversation.

05 Nov 2018 16:09 #120001 by islander261
CommandCNC is a Gscreen LinuxCNC application. It is wrapped in a proprietary launcher/configuration program so if you just get the GPL source you will need roll your own .ini and .hal files (not hard following the Gscreen examples). I have hacked it to run on my hardware (7i76e and THCad) with my internal THC. I still use my Gmoccapy UI version for work. PM me with your email if you want to know more.

I have a working THC based on the THCad board. My code isn't that good and really needs to be cleaned up. Rodw's implementations is much cleaner. I have implementations for both the master branch and the external-offsets branch. In the last few months there have been a couple of new configurations proposed that may save you a lot of work.

The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

05 Nov 2018 18:44 - 05 Nov 2018 18:48 #120022 by Grotius

I called the technical service desk from Beckhoff about 3 weeks ago. What they say is, you can use it with linuxcnc, no problem.
But you may not change the source code of Ethercat. In the document's of Etherlab, there is a point where they talk about coding.
Warning: Spoiler!

So they say. Don't change the source code. Don't make a mix between Ethernet and Ethercat, what we could do in theory. B)

This week i get my Ethercat test box. I will try to integrate it with current Linuxcnc version. It will take a few weeks i think.
But if you do nothing, you will get nothing to work.

So for Australian marked. Ethercat with Linuxcnc plasma is a master piece of a product.
Switcut is nothing with mach3, unless they sold 500 tables this year, including Australia.
Last edit: 05 Nov 2018 18:48 by Grotius.

Please Log in or Create an account to join the conversation.

05 Nov 2018 21:04 #120037 by rodw
Yes, but they are applying a restriction on GPL software licenses.

From the Developers email list

Our policy is that any code added to LinuxCNC has to be compatible with
the license terms "GPL version 2 or any later version".

Anything that imposes a restriction on how the software can be used (for
example, if it is claimed that using the software requires an additional
license, as Beckhoff Automation GmbH reportedly does) cannot be

There is no problem using it, its just it can't be incorporated into the core source distribution because of this legal restriction.

Please Log in or Create an account to join the conversation.

05 Nov 2018 21:18 - 05 Nov 2018 21:27 #120039 by Grotius

They cannot restrict to GPL if published before.
Hmm. The German's where the provider of world war 2. more then 2 milion peolple into the gas chamber. I am not forgotten. Now they think they can restrict us for the second time?
Fuck the moffen zou me opa zeggen. ( In English : Fuck the moffen should my grandfather say. )

Their password is heil hitler. But beckhoff can not restrict any document's to open source. In other way. Provide a brand new source code and get rid of this malifide automation company.

We have modbuss on lower level, on higher level, devicenet, profibus and ethercat.
I will try to make a brand new code. I think when i start from zero it's brand new code or not?
Last edit: 05 Nov 2018 21:27 by Grotius.

Please Log in or Create an account to join the conversation.

05 Nov 2018 21:46 #120042 by rodw
There is nothing stopping you as a manufacturer from using LinuxCNC and Ethercat together. Its just that the Ethercat library can't go into an official distribution of LinuxCNC. You do need to be mindful of your responsibility of providing source for a derived work though.
The following user(s) said Thank You: Grotius

Please Log in or Create an account to join the conversation.

Time to create page: 0.092 seconds
Powered by Kunena Forum