• Scam Alert. Members are reminded to NOT send money to buy anything. Don't buy things remote and have it shipped - go get it yourself, pay in person, and take your equipment with you. Scammers have burned people on this forum. Urgency, secrecy, excuses, selling for friend, newish members, FUD, are RED FLAGS. A video conference call is not adequate assurance. Face to face interactions are required. Please report suspicions to the forum admins. Stay Safe - anyone can get scammed.

Which Linux? Be Kind…

whydontu

I Tried, It Broke
Premium Member
Without starting a flame war, any suggestions on which Linux for a simple CNC router?

Im not doing anything fancy, the occasional front panel for elx gear, a few 3d-ish plaques, some aluminum knick-knacks.

I’m currently running a small CNC router using an Arduino controller and Estlcam, which I really like. Win 11 i5-6500 16GB, but Mr. Bill keeps telling me that Win 11 isn’t supported. Estlcam is Windows only. I don’t want to spend $$$$ on a new PC just to get Bill’s approval.

I’ve tried various times to get into Linux, but only on old slow machines and my experience wasn’t good. So maybe I need to see how the relatively snappy i5 does running Linux, probably with LinuxCNC.

Any recommendations for a suitable flavor of Linux?
 
My go-to for the last 15 years is the UBUNTU distro. I have it currently running on oDroid XU4, rPi (A and B), Dell Poweredge 810 (4xXeon 2.8GHz, 128Gb, 60Tb, 4xGigabit, etc), so it is very scaleable and versatile. There are simple management tools and there are several pretty desktop UIs if you like those. I run UBUNTU headless, controlled over SSH from the comfort of a MAC desktop.

On the oDroid, I can use that like a desktop machine with an HDMI display attached and the performance when WEB browsing is quite acceptable.. For simple automation tasks (MQTT, web services, etc) it does the job perfectly.
 
Both my lathe and mill are running LinuxCNC. The PC in both cases is dedicated to the machine, so I don't have a bunch of other programs just what comes with the install.

It does come with FireFox as the default browser.

Totally stable, zero issues, hard to imagine your PC would not be up to the task. I use MESA boards to interface to the hardware, Mesa has been around for a long time and they make great boards (many to choose from), well isolated and well thought out. When using a Mesa board a lot of the number crunching and control is done in the MESA FPGA so the PC is not working vary hard at all. Some are just using a Rpi.

I like to tinker and have total control over the way I modify my machines and this is where LinuxCNC really shines, totally flexible. There is a bit of a learning curve, but I have found that many of the people on the LinuxCNC forum to be very helpful and responsive. Very common that the person who answers your question is the one that actually wrote the portion of code related to your query. Try and get that kind of help from MS;-)

The LinuxCNC install lets you create/try/experiment with numerous GUIs. Basically a folder gets created for each variety and in that folder there is a about 5 or so files that define that instance of the GUI. You can then edit those files (they are just txt files) to tweak as required.

HAL - Hardware Abstraction Language

HAL is used to connect the hardware with the software, you can think of each line in a HAL file as a jumper on a breadboard.

If you do decide to go this way suggest you watch some of the instructional videos on HAL. First time looking at a HAL file will probably seem pretty confusing, but they are simpler than they seem at first glance.

One of the great features is HAL Show, it basically lets you look, monitor, tweak, graph etc. all the pins, parameters, variables etc. in LinuxCNC and there are a lot! Fantastic tool when your connecting something new up or just tweaking something.

I'm thrilled I decided to give it a try.

I'm no expert but I can try and point you in the right direction if you have questions.
 
Last edited:
Both my lathe and mill are running LinuxCNC. The PC in both cases is dedicated to the machine, so I don't have a bunch of other programs just what comes with the install.

It does come with FireFox as the default browser.

Totally stable, zero issues, hard to imagine your PC would not be up to the task. I use MESA boards to interface to the hardware, Mesa has been around for a long time and they make great boards (many to choose from), well isolated and well thought out. When using a Mesa board a lot of the number crunching and control is done in the MESA FPGA so the PC is not working vary hard at all. Some are just using a Rpi.

I like to tinker and have total control over the way I modify my machines and this is where LinuxCNC really shines, totally flexible. There is a bit of a learning curve, but I have found that many of the people on the LinuxCNC forum to be very helpful and responsive. Very common that the person who answers your question is the one that actually wrote the portion of code related to your query. Try and get that kind of help from MS;-)

The LinuxCNC install lets you create/try/experiment with numerous GUIs. Basically a folder gets created for each variety and in that folder there is a about 5 or so files that define that instance of the GUI. You can then edit those files (they are just txt files) to tweak as required.

HAL - Hardware Abstraction Language

HAL is used to connect the hardware with the software, you can think of each line in a HAL file as a jumper on a breadboard.

If you do decide to go this way suggest you watch some of the instructional videos on HAL. First time looking at a HAL file will probably seem pretty confusing, but they are simpler than they seem at first glance.

One of the great features is HAL Show, it basically lets you look, monitor, tweak, graph etc. all the pins, parameters, variables etc. in LinuxCNC and there are a lot! Fantastic tool when your connecting something new up or just tweaking something.

I'm thrilled I decided to give it a try.

I'm no expert but I can try and point you in the right direction if you have questions.
I wish I had figured out how to get it set up when I built my CNC router.
 
I’m currently running a small CNC router using an Arduino controller and Estlcam, which I really like. Win 11 i5-6500 16GB, but Mr. Bill keeps telling me that Win 11 isn’t supported. Estlcam is Windows only. I don’t want to spend $$$$ on a new PC just to get Bill’s approval.

I know you asked about Linux but I’ve recently seen stories about W11 being able to be run on supposedly “non-compliant” hardware (especially the special security hardware) so even though MS wants you to buy new hardware it sounds like you can still run on older platforms.

Why not run on W10 which doesn’t have the hardware problem?

D :cool:
 
I know you asked about Linux but I’ve recently seen stories about W11 being able to be run on supposedly “non-compliant” hardware (especially the special security hardware) so even though MS wants you to buy new hardware it sounds like you can still run on older platforms.

Why not run on W10 which doesn’t have the hardware problem?

D :cool:
It’s relatively simple to run W11 on unsupported machines. I was running W10 but got tired of being pestered by Bill to upgrade, so went to W11 to get rid of the nagging. I accept that sometime in the next year or so Bill will refuse to send me security updates, since the new MS structure is 36 months of OS support, then no more updates. So even my W11 installs have a finite lifespan.

The Linux idea is exploring alternates, but I don’t know enough about Linux to know which flavor to try.
 
If you like reading..... https://distrowatch.com/ is the main resource for Linux updates. Top left corner allows searching for a specific distro where you can read a brief description of what is included.

Your I5 system will not have any issues running any mainstream version. Things to look out for are older graphics and sound cards or specialized hardware for which the drivers may be unavailable. Again if your hardware uses common parts, there shouldn't be any problem installing.
 
My turn for my two peso's. Here's a bit of text from the linuxcnc forum today. It's me talking about the Pi4.
>
> I have a Pi4 with a 10" LCD touch screen and LinuxCNC 2.8.4. What's
> the easiest way to update this to this latest version?


I would suggest getting a new SD card and installing the 2.9.2 image here:

Then swapping that into the Pi and updating to 2.9.4.

If it all seems to work, then you can transfer the linuxcnc folder to the new SD card.
I did that but the downloaded code was 2.9.1. And instead of a 'pi' user it's been changed to a 'cnc' user so transferring my MESA stuff over has a bit more issues. But the new MicroSD card did boot and did run Linux. I then changed the path to use the 'cnc' user instead of 'pi' and LinuxCNC tried to run up to not seeing a MESA card plugged in. But it worked.

The Raspberry Pi4 is more than capable of running LinuxCNC. Wifi connection to your internet and hardware Ethernet to a MESA card to control the hardware.

The nicest thing about it is that LinuxCNC is not a closed box. So if you want to add something weird you can. Not so much with a lot of other systems. Although, if you have a USB or Ethernet Smooth Stepper board you can run MACH3 on most older PC's without a problem. And I'm still running that on my JGRO CNC router with the USB Smooth Stepper. At some point I'll probably switch to the Pi based LinuxCNC but for now the Pi4 and Linux and the MESA 7i92H is for the lab bench to play.

I've written code that talks via CAN bus to remote modules to switch on/off things. Eventually if I add that to my existing milling machine setup I'd be able to switch power to the compressor when I use mist cooling but otherwise leave the compressor off. And so on.
 
Oh and here's the screen shot of the 10" LCD touch screen on the Pi4 with the new SD card running 2.9.1.

I really think this is easier than putting WIN-10 or WIN-11 onto a PC.
1737875386068.png
 
My go-to for the last 15 years is the UBUNTU distro. I have it currently running on oDroid XU4, rPi (A and B), Dell Poweredge 810 (4xXeon 2.8GHz, 128Gb, 60Tb, 4xGigabit, etc), so it is very scaleable and versatile. There are simple management tools and there are several pretty desktop UIs if you like those. I run UBUNTU headless, controlled over SSH from the comfort of a MAC desktop.

On the oDroid, I can use that like a desktop machine with an HDMI display attached and the performance when WEB browsing is quite acceptable.. For simple automation tasks (MQTT, web services, etc) it does the job perfectly.
I don't want to hijack whydontu's thread but I have basically the same question except for a PC that is used for day to day regular PC type stuff not CNC. What I would like to accomplish is:
1) Fresh install of Linux on old iMac (wipe all existing), looking for suggestions?
2) Create a virtual machine under that Linux that will run the PC type programs that I can't live without that are presently on a Win7 machine.
3) Somehow get that complete Win7 and all programs under it into that Win7 VM running under whatever version of Linux you suggest.
4) Start migrating to open source alternatives to the programs presently running under Win7

My wife is donating her old i5 iMac with 8G ram and 1TB SSD to the cause.
 
I don't want to hijack whydontu's thread but I have basically the same question except for a PC that is used for day to day regular PC type stuff not CNC. What I would like to accomplish is:
1) Fresh install of Linux on old iMac (wipe all existing), looking for suggestions?
2) Create a virtual machine under that Linux that will run the PC type programs that I can't live without that are presently on a Win7 machine.
3) Somehow get that complete Win7 and all programs under it into that Win7 VM running under whatever version of Linux you suggest.
4) Start migrating to open source alternatives to the programs presently running under Win7

My wife is donating her old i5 iMac with 8G ram and 1TB SSD to the cause.
Look to doing a dual boot with Ubuntu added to Windows 7.
I am running Ubuntu and Win7 on my workstation. Currently Ubuntu 22.04 even though the screen shot shows 16. System is a HP Z800 with 2 Xeon processors for 12 cpu, 96 Gig of ram and 7 Tera of storage. Even though the workstation is over 15 year old, it works just fine.

IMG_9644.jpeg
 
I have been running Linux on my desktop as my main operating system since 2003. I started with Fedora 0.9 and probably seven or eight years ago switched to Linux Mint with the Mate desktop, it's an Ubuntu based distro. There are programs that will allow you to rum Windows programs on Linux. Wine, PlayOnLinux and Crossover Office. Crossover Office is a paid program so it probably comes with some level of tech support.
 
My turn for my two peso's. Here's a bit of text from the linuxcnc forum today. It's me talking about the Pi4.

I did that but the downloaded code was 2.9.1. And instead of a 'pi' user it's been changed to a 'cnc' user so transferring my MESA stuff over has a bit more issues. But the new MicroSD card did boot and did run Linux. I then changed the path to use the 'cnc' user instead of 'pi' and LinuxCNC tried to run up to not seeing a MESA card plugged in. But it worked.

The Raspberry Pi4 is more than capable of running LinuxCNC. Wifi connection to your internet and hardware Ethernet to a MESA card to control the hardware.

The nicest thing about it is that LinuxCNC is not a closed box. So if you want to add something weird you can. Not so much with a lot of other systems. Although, if you have a USB or Ethernet Smooth Stepper board you can run MACH3 on most older PC's without a problem. And I'm still running that on my JGRO CNC router with the USB Smooth Stepper. At some point I'll probably switch to the Pi based LinuxCNC but for now the Pi4 and Linux and the MESA 7i92H is for the lab bench to play.

I've written code that talks via CAN bus to remote modules to switch on/off things. Eventually if I add that to my existing milling machine setup I'd be able to switch power to the compressor when I use mist cooling but otherwise leave the compressor off. And so on.
I tried running this through Google translate but it was just as stumped as me.:oops:
 
I am no master at it but I've been using linux I gotta say for at least 20+ years on several older laptops and desktops. My go to for linux has been Mint, usually cinnamon desktop. It has a very similar UI to windows. Its using the ubuntu backbone so it is up to date for security and hardware as much as ubuntu. But more user friendly for those not used to running the operating environment. I actually like using linux as my drawing and programming laptop. It feels more organic then windows. The laptop I use to run my 3d printers is 12 years old. My drive cloning box is from 2007, its not fast but it works flawlessly.

There is lots of help out there for using what ever flavor of linux someone would like to try. The community has grown a lot in the last couple years, I think due to windows pushing that you have to upgrade your hardware. At one point 15 years ago linux started to stagnate, mostly from the attitude that developed around the community. Such as a novice would ask a question on a forum and then be berated for not asking it correctly, not searching for it or worse told to not even try. Ubuntu was formed to change that attitude and was marketed as a community to help and grow the use, not just for a dedicated group. The same kind of attitude infected arduino forums for some time. People just wanted help with a small project and instead were harassed and ridiculed. It got so bad in that community that entire sections left forming their own forums. This is a form of elitism that I think infects any group, hell me and my friends left the one star trek group for the same behavior. One of the reasons I like this forum so much is there is little to no negative behavior here.
 
The community has grown a lot in the last couple years, I think due to windows pushing that you have to upgrade your hardware. At one point 15 years ago linux started to stagnate, mostly from the attitude that developed around the community. Such as a novice would ask a question on a forum and then be berated for not asking it correctly, not searching for it or worse told to not even try. Ubuntu was formed to change that attitude and was marketed as a community to help and grow the use, not just for a dedicated group. The same kind of attitude infected arduino forums for some time. People just wanted help with a small project and instead were harassed and ridiculed. It got so bad in that community that entire sections left forming their own forums. This is a form of elitism that I think infects any group, hell me and my friends left the one star trek group for the same behavior. One of the reasons I like this forum so much is there is little to no negative behavior here.
This is the attitude I encountered when I was trying to get started with LinuxCNC. Basically I need to speak the language properly before I would be taught how to speak the language. It was extremely off-putting. I hope that's changed in that community.
 
Just a quick note if you are new to Linux in general...

Mint (and several others) are "based on Ubuntu", Ubuntu is "based on Debian"
Debian is at the upstream end for many of the most popular distributions. The practical difference is that Debian traditionally has aimed at stability and reliability, the trade off being slower to change and offer new features/bells/whistles etc.

The derivative distributions, relatively speaking, "move fast and break things". They are more of a playground for the developers to try out new window dressing, etc. I can't speak to Linux CNC, but if you are simply looking for a Windows alternative for Web browsing, word processing, email, and all the typical things "everyone" does with a PC, the main reason to use one of the distributions that are downstream from Debian would be that you like the available desktop/look and feel better than what's available for Debian. And perhaps don't mind updating somewhat more frequently.

I have rarely encountered hardware that was to old to be supported by Linux. I was recently was given a high quality Laser printer for free because it was no longer supported by Windows. Small effort to get it running with Linux. I did have a older (20+ yr?) dual port graphics card that I finally decided wasn't worth struggling with, but that has been the only time I actually found something that didn't work.

Also - you can certainly run whatever version of Windows in a Virtual Machine on Linux, such as Virtual Box. My personal experience with Virtual Machines was that there was some performance degradation compared running Windows directly as a dual-boot option, but I seem to have been in the minority on that. Other persons I worked at the time with found that their Virtually run Windows instances were just as performative as natively run ones, so it may just have been me. But of course, a VM is one more thing to learn about, set up, and maintain, so there's that aspect to consider.
 
Last edited:
This is the attitude I encountered when I was trying to get started with LinuxCNC. Basically I need to speak the language properly before I would be taught how to speak the language. It was extremely off-putting. I hope that's changed in that community.
I've still been abused on some of the linuxcnc forums with comments like "you're not listening" because I stated that their answer didn't make sense to me. Repeating the same answer doesn't help. The problem is the overall general opinion "Those that can do, and those that can't teach" which is complete hogwash.

A good teacher will never repeat the exact same statement over and over again. A question results in a different explanation from listening to the student to try and determine what they missed and filling in those holes.

So I'm not going to go on a rant here about the issues with linux or linuxcnc. Almost two years ago I bought this touch screen.
The linuxcnc I installed on the Pi4 was 2.8.4 which is now pretty out of date. Yesterday on the
'Enhanced Machine Controller (EMC)' <[email protected]> mail list I asked about updating the 2.8.4 to 2.9.4.

Andy Pugh, one of the LinuxCNC maintainers replied with a link to instructions on what to do. Best done by first creating a new microSD card then then copying over the folder with the linuxcnc stuff unique to my hardware.

I did that and still ended up with 2.9.1 instead of the reported 2.9.2 it was supposed to install. Andy said he'd pass that little issue on to the 'elves' that maintain the Pi side. Then gave me instructions and what to expect to update the 2.9.1 to 2.9.4.
Also instead of user 'pi' it was changed to user 'cnc' which mucked up paths in the original folder that I copied over.

He even added an instruction in case the actual linuxcnc code didn't update with the instruction:
cnc@pi4linuxcnc:~$ sudo apt-get --with-new-pkgs upgrade linuxcnc linuxcnc-dev

That failed with
E: Package 'linuxcnc' has no installation candidate
E: Package 'linuxcnc-dev' has no installation candidate cnc@pi4linuxcnc:~$

Sigh.... this is where linux speak becomes important and although I expect Andy or someone else on the mail list would have answered. I've found that mail list very friendly.

So I did a few things that I won't get into here but ended up doing this instead.
cnc@pi4linuxcnc:~$ sudo apt-get --with-new-pkgs upgrade linuxcnc-uspace linuxcnc-uspace-dev

This worked. the -uspace- part was needed. I've passed that onto the mail list to see why but in either case the Pi4 now runs Linuxcnc 2.9.4 which is the latest version. I'll connect up the rest of the hardware later this week to make sure the rest all works.

Apple and Microsoft don't create these kinds of problems. The Linux world does. OTOH, unless you unplug your ethernet cable from your PC at exactly the right time you end up with an account at Microsoft and your WIN-10 system calling home all the time. Not to mention the advertising etc. that now shows up on your PC.
 
I tried running this through Google translate but it was just as stumped as me.:oops:
Ha ha. There are actually a lot of books along the line of "linux for dummies". The key thing about linux (and microsoft has now gone in that direction too) is that it used 1970's technology. It's called a command line interface. Massive amounts of typing, cutting and pasting text.

It could all be done with a graphical applications program but that's way too much work for volunteers so instead of one person spending a few hundred man-hours developing or enhancing programs the world spends tens of thousands of man-hours typing in the same crap.

But, as has been stated before, linux is not a closed system although it's complexity makes it appear that way. I've seen people bend over backwards to help LinuxCNC users get their machines working.

But there are some real jerks out there too.
 
Back
Top