Print this page

Software for CNC machine control mikroCNC

mikroCNC is free software that can interpret standard G and M commands and that turns computer into the CNC control station. It works on Windows XP/Vista/7/8/8.1/10/11 with 32-bit or 64-bit architecture.

The software has built-in motion planner algorithm that supports simultaneous, synchronized motion of up to 6 axis. For acceleration and deceleration it is possible to select either trapezoidal ramp profile or more advanced S-profile that offers significant reduction of inertial forces and vibrations.

Software mikroCNC brings a built-in Python 3.x script interpreter, which significantly increases the functionality of the software - NEW.

mikroCNC software supports all Audioms Automatika motion controllers:

When working with the software it is important to pay special attention to safety at work. Any problems encountered, bug reports and suggestions can be sent to e-mail address: support@audiohms.com 

Image Gallery

DOWNLOAD

User's manual

File name Description
pdfmikroCNC_en.pdf mikroCNC user's manual
pdfmikroCNC_cn.pdf mikroCNC软件手册(中文版)
pdfmikroCNC_script_en.pdf mikroCNC User scripting support documentation - NEW
pdfpkpy_modules.pdf An overview of the standard Python modules and associated functions supported by the built-in Python 3.x interpreter

 

Download software mikroCNC

The software is available in:

  1. The installer form is packed in a ZIP archive. After downloading unzip athiva and run the installer. It is recommended to install the software in a folder (for example 'C:\mikrcnc') that does not require administrator rights (as is the case for example with 'Program Files' on newer operating systems) because within this folder all the necessary files for the operation of the program (profiles, user macros, etc.) are created that the user can change and customize.
  2. In the form of an archived structure. After downloading the ZIP archive, it is necessary to unpack the archive into the previously created folder and extract the icon as a shortcut for the executable file on the computer's desktop.
Description
December 2025
mikroCNC V0.73

zipmikroCNC73setup.zip - Archived installer

zipmikroCNC73.zip - Archived structure

- Added ability to define user scripts for Start, Stop and Pause buttons
- Added scripting function SetRetData() to set extended script result value
- The current g-code line number DRO can now be read from a script using GetDRO() function
- Added support for reading full 7 encoders/MPGs for ETH-MC(BOX) motion controller
- Fixed bug that G43/G49 commands do not work as intended in some g-code program sequence scenarios
- Fixed bug with sometimes suggesting a wrong profile and not the last used when starting the program
- Fixed bug that after returning from the full screen mode the program menu language may not be preserved and/or further language change does not have any effect
- For RunFromHere command added warning message if the current tool is changed during preprocessing of the g-code
September 2025
mikroCNC V0.71

zipmikroCNC71setup.zip - Archived installer

zipmikroCNC71.zip - Archived structure

- Syntax highlighting for G-code program listing, user defined colors
- G43/G49 commands now perform independent of the current tool (do not change the current tool number)
- In ToolOffsets window, added buttons Get cur/Set Cur to enable manual change of the current tool number
- Added options for persistent values (for current tool, feedrate, spindle speed, Jog mode)
- Current fixture number is maintained in variable #5220
- Added option for axis calibration to auto compute parameter steps/mm for the axis (tools menu)
- Added menu User Scripts and related dialog box for defining user scripts
- Added wizards menu with scripts for parametric g-code generation for some often used operations
- Scripting:
  - added function gui.SetRadioValue()
  - added functions mikrocnc.LinearMove6(), LinearMoveAbs6()
  - improved functions mikrocnc.LinearMove(), LinearMoveAbs(), now support default values, 6 axis coordinates and parameters by name
  - improved functions profile.LoadStr(), SaveStr() saving/reading global variables is now possible
- GotoZero button now performs in a safer way moving to the zero position (separate movement X-Y and Z)
- GotoZero button can now optionally call user script
- G28 command moves to the home position in a similar way as GotoZero button if issued without parameters
- Fixed error that occurred on some systems (3d toolpath window frozen after starting the program)
- Fixed error, on some systems 3d toolpath window does not work after sleep/suspend
- Correction for unicode file paths and file names for scripts and importing modules; problem used to appear when paths/file names contain non-ascii characters
- MDI command line now has more conventional list of previous commands, up/down arrow now always selects the last issued command

July 2025
mikroCNC V0.67

zipmikroCNC67setup.zip - Archived installer

zipmikroCNC67.zip - Archived structure

- Application converted to unicode to enable support for localization of the user interface as well as using various character sets for user data inside the program etc.
- Localization, added option to select language for the user interface

- Scripting improvements:
  - Fixed bug in function GetDRO() when reading DRO fields for X,Y,Z... coordinates
  - Added definition of THC DRO fields and buttons
  - Added function ZeroAxisAbs() for resetting machine coordinates
  - Added functions GetLED() and SetLED() that among the other things enable reading state and turning on/off SoftLimits, axis referenced indicators etc.
  - Added function SetHomed() for setting/resetting axis referenced indicators
  - exit() function is now considered to be a normal exit from the script and does not show exception errors
  - quit() function now works with imported modules as well
  - Fixed bug with function HomeCombination() that subsequent WaitIdle() function sometimes returns immediately without waiting

- Added Error/EStop input in External buttons dialog
- G52/G92 temporary offsets are maintained in g-code variables #5211-5216
- Added commands:
  G92.2 -reset G52/G92 offsets, but without resetting #5211-5216 g-code variables
  G92.3 -restore G52/G92 offsets from #5211-5216 g-code variables
- Fixed bug in the program when Tool DRO field is empty in ToolOffsets window
- g-code variables #500-599 are now persistent and their value is preserved after restarting the software
- ToolOffsets window is expanded with added fields to view or edit G52/G92 offsets as well as current fixture offsets

June 2025
mikroCNC V0.64

zipmikroCNC64setup.zip - Archived installer

zipmikroCNC64.zip - Archived structure

- Support for THC function (internal and external regulator) and ability to select THC/Plasma screen
- Option to select visual theme for the main screen (three themes are available: light classic, dark and modern industrial)
- Firmware update possibility from the mikroCNC software for all Audiohms motion controllers
- Adjusting the colors for the g-code view panel
- Option for selective import of settings from the other profiles
May 2025
mikroCNC V0.58

zipmikroCNC58setup.zip - Archived installer

zipmikroCNC58.zip - Archived structure

- Added 'gui' module that enables creating user interface in the form of dialog box from the scripts
- Disabled activation of sleep mode and turning off the computer screen during a g-code program execution

April 2025
mikroCNC V0.56

zipmikroCNC56setup.zip - Archived installer

zipmikroCNC56.zip - Archived structure

- Added function GetKeyState() for reading the keyboard
- Added the ability to read external buttons and a dialog for configuration
- F1 key freed up for reading from scripts
- Added module 'profile' and functions profile.SaveStr(), profile.LoadStr() for saving and loading variables
- Added functions to read the bounds of the loaded g-code (x,y,z) gcode.GetMin(ax), gcode.GetMax(ax)
- Added function os.PlaySound(fname)
- When setting the zero for the axis, offsets of the active tool are now taken into account
- With CTRL is pressed, increase/decrease of FRO/SRO/RRO by 1%
- When setting the zero for the master axis, the offset for the slave axis is also set. The same applies when manually entering values in the DRO field

February 2025
mikroCNC V0.55

zipmikroCNC55setup.zip - Archived installer

zipmikroCNC55.zip - Archived structure

- Unified support for all Audioms motion controllers within a single program version
- Added support for the ETH-MC motion controller and an additional dialog for configuring options specific to this controller
- Added a demonstration motion controller that simulates the operation of a real controller
- Significantly improved the 'Run from here' function, which now includes preprocessing of the program from the beginning to the desired line for continuation, as well as a preparatory move with additional options
- Added the option of single-step execution of G-code program
- Added a status info line that shows currently active G-code operating modes
- Added the option for auto limits override
- New shortcuts Ctrl+O for tool offset window and Ctrl+~ for Enable/Disable

 

ARCHIVE - Download software mikroCNC for ETH-MCI motion controller

File name Description
zipmikrocnc50_ethmci.zip

January 2025
mikroCNC V0.50
- Added support for canned cycles for drilling and boring: G73, G81, G82, G83, G85, G86, G88, G89
- Added support for tool radius compensation (G40, G41, G42)
- Added specification of tool diameter in the tool table
- Added support for polar coordinates G15/G16
- Added new window (Tool offsets) tha is used for easier tool offsets adjustment
- Added option in menu file/new and the ability for Edit button to create a new file
- Fixed the error that .cfg files were not deleted when a profile is deleted
- For scripting added functions File.flush(), mikrocnc.GetMacroPath(), quit() builtin
- Fixed the slowdown problem in the LinearMove() function that was appearing when using slave axis A
- G-code program with subroutines is now fully preprocessed on load so that the complete tool path is now displayed
- Rapid override also affects Jog movements
- Fixed the error in the Probe function that used to cause sporadic position loss
- Fixed the error with arcs in ijk mode that was occurring when slave axes are used
- SoftLimits state is now remembered and preserved after restarting the program

zipmikrocnc46_ethmci.zip

December 2024
mikroCNC V0.46b

- Added scripting support
- Integrated lightweight Python 3.x interpreter for user scripts, it can execute M macros called from MDI line or from G-code
- For each profile there is a separate folder for macro scripts (it is created automatically including default scripts)
- Scripts can call and make use of many functions from mikroCNC application
- Macro output window to view scripts output, can be opened via menu/view or automatically if it is configured that way in the setup
- It is possible to assign user scripts for a number of functions/button (ATZ, ATC, RefAllHome...)
- BackgroundTask script that can run continuously in the background
- Added G10 L2 command for setting up work offsets from g-code
- Added support for reading and writing work offsets via # variables from g-code #5221=(G54 X), #5222=(G54 Y)...
- Added INPUT1-10, general purpose input signals
- Added OUTPUT1-10, general purpose output signals
- Added support for incremental encoders reading
- Fixed bug that after machine referencing further operations are denied until STOP is clicked
- Tool and offsets tables (tooltable.cfg and fixtures.cfg) are now saved in folder /macros/profile_name so that they are specific for each profile
- Fixed bug that option "Home slave with master" has inverted functionality

zipmikrocnc41_ethmci.zip October 2024
- Improved appearance of the user interface on newer operating systems (Windows 10/11)
- FRO (feedrate override) and Rovr (rapid override) can now be changed during execution of a G-code program
- Added support for backlash compensation
- New option to setup motion buffer size
- New option to treat Probe as limit when not in probing move
- DRO fields (FRO,SRO,Rovr) can now also be changed using keyboard arrow keys Up/Down when field has focus. Home key resets value to default.
- Commands for fast port control (M10, M11) are permuted so that now M10 is used to turn OFF the output and M11 to turn it ON
zipmikrocnc38_ethmci.zip August 2023
Initial version of mikroCNC software that support ETH-MCI motion controller

 

ARCHIVE - Download software mikroCNC for USB motion controllers

File name Description
zipmikrocnc50.zip January 2025
mikroCNC V0.50
- Added support for canned cycles for drilling and boring: G73, G81, G82, G83, G85, G86, G88, G89
- Added support for tool radius compensation (G40, G41, G42)
- Added specification of tool diameter in the tool table
- Added support for polar coordinates G15/G16
- Added new window (Tool offsets) tha is used for easier tool offsets adjustment
- Added option in menu file/new and the ability for Edit button to create a new file
- Fixed the error that .cfg files were not deleted when a profile is deleted
- For scripting added functions File.flush(), mikrocnc.GetMacroPath(), quit() builtin
- Fixed the slowdown problem in the LinearMove() function that was appearing when using slave axis A
- G-code program with subroutines is now fully preprocessed on load so that the complete tool path is now displayed
- Rapid override also affects Jog movements
- Fixed the error with arcs in ijk mode that was occurring when slave axes are used
- SoftLimits state is now remembered and preserved after restarting the program
zipmikroCNC_v0.46b.zip December 2024
mikroCNC V0.46b

- Added scripting support
- Integrated lightweight Python 3.x interpreter for user scripts, it can execute M macros called from MDI line or from G-code
- For each profile there is a separate folder for macro scripts (it is created automatically including default scripts)
- Scripts can call and make use of many functions from mikroCNC application
- Macro output window to view scripts output, can be opened via menu/view or automatically if it is configured that way in the setup
- It is possible to assign user scripts for a number of functions/button (ATZ, ATC, RefAllHome...)
- BackgroundTask script that can run continuously in the background
- Added G10 L2 command for setting up work offsets from g-code
- Added support for reading and writing work offsets via # variables from g-code #5221=(G54 X), #5222=(G54 Y)...
- Added INPUT1-10, general purpose input signals
- Added OUTPUT1-10, general purpose output signals
- Added support for incremental encoders reading
- Fixed bug that after machine referencing further operations are denied until STOP is clicked
- Tool and offsets tables (tooltable.cfg and fixtures.cfg) are now saved in folder /macros/profile_name so that they are specific for each profile
zipmikroCNC_v0.41.zip October 2024
- FRO (Feedrate override) and Rovr (Rapid override) can now be changed during executon of a G-code program
- New option to setup motion buffer size
- New option to treat Probe as limit when not in probing move
- DRO fields (FRO,SRO,Rovr) can now also be changed using keyboard arrow keys Up/Down when field has focus. Home key resets value to default.
- Commands for fast port control (M10, M11) are permuted so now M10 is used to turn OFF the output and M11 to turn it ON
zipmikroCNC_v0.39.zip February 2024
Improved display of the user interface on newer operating systems (Windows 10/11)
zipmikroCNC_v0.38.zip August 2023
Added option to reduce maximum frequency of the step pulses to 125 kHz
zipmikroCNC_v0.37.zip July 2023
Contains small bug fixes and other minor improvements since the previous release
zipmikroCNC_v0.35.zip February 2023
- Added AutoToolZero function
- Small bug fixes and other minor improvements
zipmikroCNC_v0.32.zip November 2021
mikroCNC
 software

 

Video Tutorials