RISC OS, PiDora, Raspbian, Arch, etc. are all available for the Pi. All are distributed by the Raspberry Pi Foundation, but which will work the best as a control system for a 3D printer or a CNC machine with 5 Axis?

These are both processor intensive projects and need a robust OS to be successful. Any insight would appreciated.


Any OS could work for this, as long has you hook up the Raspberry Pi to the CNC machine properly and have the proper software on the OS to interface with the machine.

That said, I found this forum post detailing success with LinuxCNC on the Raspberry Pi. Here is some information about the LinuxCNC:

About the software

  • LinuxCNC (the Enhanced Machine Control) is a software system for computer control of machine tools such as milling machines and
  • LinuxCNC is free software with open source code. Current versions of LinuxCNC are entirely licensed under the GNU General Public License and Lesser GNU General Public License (GPL and LGPL)
  • LinuxCNC provides:

    • several graphical user interfaces including one for touch screens
    • an interpreter for "G-code" (the RS-274 machine tool programming language)
    • a realtime motion planning system with look-ahead operation of low-level machine electronics such as sensors and motor drives
    • an easy to use "breadboard" layer for quickly creating a unique configuration for your machine
    • a software PLC programmable with ladder diagrams
    • easy installation with .deb packages or a Live-CD

    It does not provide drawing (CAD - Computer Aided Design) or G-code generation from the drawing (CAM - Computer Automated Manufacturing) functions.

  • It can simultaneously move up to 9 axes and supports a variety of interfaces.

  • The control can operate true servos (analog or PWM) with the feedback loop closed by the LinuxCNC software at the computer, or open loop with "step-servos" or stepper motors.

  • Motion control features include: cutter radius and length compensation, path deviation limited to a specified tolerance, lathe
    threading, synchronized axis motion, adaptive feedrate, operator feed override, and constant velocity control.

  • Support for non-Cartesian motion systems is provided via custom kinematics modules. Available architectures include hexapods (Stewart platforms and similar concepts) and systems with rotary joints to
    provide motion such as PUMA or SCARA robots.

  • LinuxCNC runs on Linux using real time extensions. Support currently exists for version 2.4 and 2.6 Linux kernels with real time extensions applied by RT-Linux or RTAI patches.

Here is a customized Raspbian image for LinuxCNC.

Here is a demo of it on YouTube.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.