Best PC Hardware (Q4 2016) for a new build
I'd like to try to purchase hardware for a LinuxCNC build before the end of the year, I am are looking to use the box for testing custom controller routines on a machine, so being able to execute lots of python code on the side is important. I am looking for information about the following:
- What CPU class/feasures are the best to target for RTLinux/LinuxCNC? I couldn't get a quick answer on whether raw CPU speed is the main criteria for a fast RTLinux box. Does anyone know if I should be targeting multiprocessor, multicore, or clock speed? User emcPT recommended the
Does the Haswell power architecture pose any issues for RTLinux/LinuxCNC?
Is there any advantage to Xeon over the Core line for RTLinux/LinuxCNC? I noticed that many RTLinux test builds seem to use Xeon, but this is possibly just a side effect of researchers going to Xeon because they don't know better/have the budget.
User taloot mentionedmentioned some things to look out for when optimizing latency, and seemed to suggest that memory performance was very important here, so perhaps the X series would be better than the H, offering faster memory performance (DDR4 vs 3) and a better CPU selection, however.
I want to do realtime communication with other systems (microcontrollers, displays, pendants, etc). Does anyone have recommendations for I/O cards and pipelines for this kind of work, or should I just be trying to use something like a MESA controller to do this? Off the top of my head I could do a serial line to a microcontroller to talk in realtime with sensors va i2c or SPI.
I'd also like to have ethernet links with other pieces of hardware. Is this a problem in LinuxCNC? E.g. I'd like to mirror the current machine parameters to a server. I found this , any other resources?
Please Log in or Create an account to join the conversation.
- Todd Zuercher
- Offline
- Platinum Member
- Posts: 5007
- Thank you received: 1441
No there is generally not any advantage in a Xeon vs Core. In fact Atoms and Celerons can perform quite respectably, stressing the fact that latency is usually more important that raw horsepower.
If you want to use use an ethernet connection for your machine interface, a more powerful cpu is usually a better choice for the required Preempt-RT kernel, but for software stepping latency is key and the RTAI is usually the better choice.
USB is actually fine for ui stuff, (keyboard, mouse, pendant), just not good for controlling motors or other time critical machine functions. It can also be used for controlling a spindle VFD.
All of the manufacturers you mention make good boards that are very usable. But that doesn't mean that they don't have duds that should be avoided. Really the only machines I've had trouble with were some low end mass produced computers from large name PC manufacturers that had very basic bios options and could not disable all of the power saving stuff, to get good latency.
Please Log in or Create an account to join the conversation.
My choices for the systems I have built recently have been based on different criteria to yours. I have been looking for low-profile, fanless and 12V powered.What CPU class/feasures are the best to target for RTLinux/LinuxCNC?
LinuxCNC itself has really very modest requirements. The accuracy of the realtime thread timing does not seem to map particularly well to any other processor features.
You can probably use that. Though it might take some work to get the LCD to work.It looks like USB is generally ignored on LinuxCNC (Can I not attach a mach pendant like the iMach )?
There is good support for the XHC USB pendants that eBay is awash with, and any HID device can be integrated to HAL with hal_input.
LinuxCNC does not attempt to do real-time motion control with USB, but it does support USB keyboards, mice, touchscreens and more specialised input devices.
That said, if you can interface the pendant to the realtime layer the results are likely to be better.
The options here are possibly too numerous to go in to without more details.I want to do realtime communication with other systems (microcontrollers, displays, pendants, etc). Does anyone have recommendations for I/O cards and pipelines for this kind of work, or should I just be trying to use something like a MESA controller to do this? Off the top of my head I could do a serial line to a microcontroller to talk in realtime with sensors va i2c or SPI.
I did once set up a realtime serial link between an Arduino and the UART module on a Mesa card. There is, somewhere out there, a bitbanged SPI interface, or again there is a Mesa module for SPI.
Writing HAL drivers for low-level hardware is not all that hard. I have managed to do a couple of them without examples of the actual hardware.
No, that is fine. If doing it in realtime then you might be limited to the PREEMPT-RT kernels, unless you want to integrate RT-Net into RTAI and the LinuxCNC RTAPII'd also like to have ethernet links with other pieces of hardware. Is this a problem in LinuxCNC?
[
You may well still need something to replace the Gecko drives, but I think that the power elctronics are in the motors with Clearpaths?I am looking at talking to the ClearPath motors initially via step and direct. The big difference between LinuxCNC and Mach3/4 seems to be that I can throw out my smoothstepper/Gecko, am I getting this right?
If you mean G-code blocks per second then I doubt if this will ever be an issue regardless of the PC.I'm looking for as many blocks per second as possible first, then budget second.
Please Log in or Create an account to join the conversation.
Skylake i3-6300T 35W 3.3GHz $162USD (has 4MB L3)
ASUS Z170 Pro Gaming/AURA Motherboard (ATX) $165USD
Either 1-2x Crucial MTA8ATF51264AZ-2G1A1 (4G SS MICRON 4QA77D9RCQ 13-13-13-33 1.2V DDR4 @ 2133) $60-$120USD
or 1x Kingston HX421C14FB/8 (8G DS N/A Heat-Sink Package 14-14-14-35 1.2V DDR4 @ 2133) $130USD
Motherboard is definitely overkill, but I didn't see anything as cost effective in the Z100 series.
Please Log in or Create an account to join the conversation.
Motherboard is definitely overkill, but I didn't see anything as cost effective in the Z100 series.
If money is no object, then do whatever pleases you, but Linuxcnc won't run any better.
All you need is something like a J1900 board with integrated processor (£75) and 4GB standard RAM (£35)
You may well have problems using a 6th gen Skylake, my i7 laptop had to be massaged quite a lot to run happily with linux, including the fact that the NIC was not supported until kernel 4.4 and even then was problematic.
The distro is way older than that.
It is common in the windoze world to throw processing power and memory at it to try to get the awful bloatware to run half decently, but you really don't need to do that here.
regards
Please Log in or Create an account to join the conversation.
I can target a Haswell part, the main reason I favored Skylake was that the parts might be available longer since it is a current gen. product. The CPU I listed in my original post, for example, is mostly available used now. It looks like from a memory standpoint there isn't really an advantage to Skylake, and my main concern with a brand new chipset/processor was kernel support. I'm also interested in having PCIe ports to play with, and most of the J1900 boards seem to only have a single available slot.
I get your point, LinuxCNC is lean and I don't need to sweat hardware too much. Never liked Celeron though I can't argue the pricepoint, under $400 for base system seems acceptable for my budget. I guess I can get down to 1/3 of that if I go J1900 though.
Please Log in or Create an account to join the conversation.
Make sure you choose one with a parallel port, or spend the extra cash you have on a Mesa 5i25 and 7i76 combo and latency becomes irrelevant.
There are lots of low cost alternatives out there.
My most up to date workshop machine is a GA-H81M-DS2 motherboard with dual core Pentium, which cost under £150 with a case and SSD.
It runs rt-preempt, with a 5i25/7i76 combo which cost a lot more than the computer
regards
Please Log in or Create an account to join the conversation.
As PCW states I found latency is terrible with the built in wifi card ( > 300000) so remove it and use a USB wifi dongle to talk to the world. PCW also had good results with a Zotac with similar specs. Latency is not an issue with the Mesa card and somewhere PCW said the Zotac was up around 120 usec which he was comfortable with. My Brix is around 60000.
I think the USFF PCs are a good solution if you are happy to use Mesa. My NEMA23 steppers are running faster and accellerating quicker than I ever expectedso I am very happy.
Please Log in or Create an account to join the conversation.
I'll weigh either a Celeron, Pentium Haswell, or Core Skylate solution. I'm not convinced of the benefit of going with very old hardware for cost reasons. I do think the TDP of the J1900 is very appealing, and that would be my primary consideration looking there vs. the other two options. Skylake seems like a bit of a crapshoot, but then again the hardware could be recycled for some other use if it didn't work for LinuxCNC. One problem I am seeing with the J1900 solutions is they seem to be going out of stock/EOL, for example the GA-J1900N-D2H, which is the most appealing board that I could easily find.
On the control solution side, Teknic just officially announced their ClearPath SC motors. I knew they were coming, but didn't know how exactly they would be controlled. They will take direct software control over RS232 (www.teknic.com/accessories-guide-sc/#sc_hub). This will likely require some work, but this promises to drastically reduce cost/complexity for this type of setup. A 4 axis controller board is $50, and up to four boards can be daisy-chained from a single RS232 port.
The question is how difficult it will be to plug the Teknic libraries into Linux CNC.
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
- Posts: 19201
- Thank you received: 6436
Then again that card will simplify things ONLY if using their drives.
Back to Linuxcnc, it can do things through rs232, but i doubt it will do actual real time control over it.
Please Log in or Create an account to join the conversation.