Skip to content

mhouse1/mechsoftronic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Sep 12, 2019
73dcc3b · Sep 12, 2019
Sep 17, 2015
Jan 24, 2016
Sep 12, 2019
Oct 29, 2015
Oct 13, 2015
Sep 17, 2015
Apr 26, 2015
Sep 12, 2019
Sep 16, 2015

Repository files navigation

OpenSource CNC Controller

The goal of this project is to create an open source FPGA based CNC controller.

For a more detailed overview see the document here: https://github.com/mhouse1/mechsoftronic/blob/CNC_Machine_Complete/documentation/Overview_Project_Mechsoftronic.pdf

Otherwise keep reading for a brief overview.

By using an FPGA it will allow:

  • creation of a dedicated device that would not require a separate PC to run.
  • any peripheral to be easily added in the future
  • smooth control by truly running machine axes in parallel
  • no more jitter caused by using parallel ports or microprocessors/microcontrollers
  • motion control is done by hardware instead of software
  • great hardware and software integration
  • by designing and implementing everything: UI, firmware, FPGA system.

Components of this project:

Video of the initial prototyping hardware made from scrapped DVD drives and other bits and pieces can be found here, mini cnc with laser mount


The small scale prototype's mechanics has since been replaced with a much larger mechanical platform based on a modified version of open hardware shapeoko v2. The current mechanical system is only used as base for research and development, the intent of this CNC controller is to be adaptable to any hardware platform. For example, automating a manual lathe that is already capable of machining metal parts and solidly built; by attaching stepper motors to its axes and controlling motion with this CNC controller. [CNC machine prototype hardware 2

required python packages

  • to use the GUI the supporting packages required are contained in pygtk-all-in-one-2.22.6.win32-py2.7.msi file (~31.6MB)
  • other python packges required
    • pip install pyserial

      • note do not install serial via "pip install serial" it will cause an error about exec() then you have to uninstall pyserial and serial then reinstall pyserial
    • pip install matplotlib