The following downloads are completely free but for the newer versions of the Autoleveller software you will need to register and go to the member downloads page.

AutolevellerAE Free(.jar) Video on how to run the Jar download


Autoleveller 0.7.7 (.exe)  Autoleveller 0.7.7 (.jar)

The .exe file is designed to run directly from any Windows version.

The .jar file can be run on most OS’s by double clicking on it or failing that type “java -jar Autoleveller.jar” from the command line / terminal.

NOTE: If Norton reports a virus with the .exe file this is a false positive but you can just download and run the .jar file even for Windows. For more information on this please see:
norton forum page.

Example GCode Files

If you do not have any GCode files to hand and just want to test, the following files can be downloaded and run through AutoLeveller. The circuit was designed in eagle PCB and is the same (double sided) circuit shown in the video. These files were generated with an old version of PCB-GCode (v3.5.2.11). The generated files are presented in Mach3 and LinuxCNC flavors for both top and bottom layers and are available in both millimeter and inch formats.


Version Notes

AutoLevellerAE (Advanced Edition)

Version 0.8.2 (changeset: 429a653)(in Member downloads)

Extra thanks to Arthur Eckstein for his tireless efforts in helping test and check these versions. His advice, expertise and source of knowledge and sanity checking is very much appreciated.

  • AutolevellerAE has an .exe download option. Which, whilst essentially identical to the .jar version, may be a more familiar file type for Windows users (Linux and Mac users should continue to use the .jar download)
  • Removed ‘General’ tab. All options and information has been moved to either the Mesh tab or the main menu. This provides a cleaner and more intuitive interface
  • Preferences are now saved to xml files in (<user.home>/.AE) allowing you to back-up or edit the values manually
  • All Mesh preferences will be saved and retrieved as necessary, such as feed rate and maximum segment length settings in addition to the previously saved setting such as the previous browsing directory etc.
  • Added additional Mesh information such as total number of probe points etc. to the Mesh tab
  • Introduced Dialog boxes for some option which gives more space for explaining their purpose
  • When generating a Mesh from your OGF, AE uses you saved preferences for the Mesh settings and not the default values
  • Colour thresholds in the RPF can be manually adjusted to suit your file
  • Removed erroneous log file created when AE launches

Version 0.8.0 (changeset: 3bc274a)(in Member downloads)

  • Auto-generated probe-mesh size now calculates full arc extremities for more accurate probe coverage
  • Duplicated main options in the menu
  • Additional preferences stored and reloaded on each new session such as software controller and units options
  • Numerous renaming and other changes to the interface
  • Added controls to set the RPF colour threshold dynamically
  • Removed commas and replaced with dots as decimal separators from output (fixed previously but the problem persisted for some countries)
  • Simplified RPF output filename

Version 0.7.8 (changeset: 618eb51)(in Member downloads)

  • Fixed – bug where distance from point A to B was the same length as a single set segment length (output file was empty)
  • Added checkbox option to zero Z at the start of the Autolevelled file. This is because some users may prefer to set Z manually before etching if for example a different tool was used during probing and now, can no longer electrically probe with the current tool
  • Added text box in RPF view to show the difference between the highest and lowest Z points. Can be thought of as a measure of how flat the board is
  • AE now reads an RPF with a more general format where the first 3 numbers in an RPF line is designated as X, Y and Z where previously the RPF had to be specific to the software you were using. The new method allows for RPF’s created by future and non-specific software to be supported
  • Added an axis model to the 3D RPF view to allow the user to orientate a rotated model easier and to give some straight lines to compare to
  • Fixed issue where the zooming scale was very low for an inch RPF in the 3D view
  • Centres view to centre of 3D RPF model rather than centre on 0, 0, 0
  • As there is no way of determining the units used in an RPF, we derive the units used from the probe spacing in the RPF automatically. This avoids the user having to select the units somewhere
  • During mesh setup the user is restricted to a probe spacing up to and including 3.5 when inches are selected, and any number above 3.5 when millimetres are selected. This helps guarantee the units can be derived correctly from an RPF
  • Now displays a 2D height map in the RPF tab if 3D is not available

Version 0.7.6 (changeset: 46b9e16)(in Member downloads)

  • Version checking: Checks if a newer version is available and informs you of the fact
  • Added clickable hyperlinks to the about box etc.
  • Fixed TurboCNC “null” display in PFG
  • Several other fixes and improvements

Version 0.7.5 (changeset: ece5730)(in Member downloads)

  • Support for 2-stage levelling i.e probe then level as 2 separate processes
  • Added a separate button to generate the probe-only GCode file (Probe File Generator) which in turn generates the raw probe file
  • Uses the RPF to “pre-level” the GCode to be etched, i.e. levelling calculations take place in AutolevellerAE and not in the levelled GCode
  • A 3D model of the RPF showing the area just probed is generated allowing you to easily inspect the file for errors
  • Generates a coloured height-map of the RPF showing high and low points of the probe area, and textures the 3D model with it
  • Allows you to rotate and zoom the 3D image and amplify Z to exaggerate any flaws in probing
  • Displays information about the loaded RPF such as highest/lowests probed points etc.
  • Change or clear the loaded RPF without having the restart AutolevellerAE

NOTE: If you have an RPF created in the original Autoleveller, AutolevellerAE can read this just the same (you might want to use this older RPF to test the 3D features for example)

Version 0.7.0 (changeset: b127b84) (in Member downloads)

  • Arc moves (G2 and G3) are now segmented correctly and levelled the same as linear moves (G0 and G1)
  • Accepts , (comma) as a decimal separator as well as . (dot/period) so that input is accepted in countries that use either format
  • Bug where canned cycles caused more drill holes to appear than wanted. Fixed
  • Code is now open-source. Feel free to download and customise to suit
  • Most public methods and classes are javadoc’d to make them more explanatory and development easier
  • Updated the file on Bitbucket to accurately explain this project
  • Changed default Mesh values to more conservative values

Version 0.6.2 (changeset: aee8149) (in Member downloads)

  • Added a changeset. Allows minor changes to be made (just the changeset is altered) without having to increase the version number
  • Due to the problems with the .exe and Norton, only the .jar will be published from now on. This file should run exactly the same as the .exe did, just double click the downloaded .jar to start
  • Renamed Autoleveller8 to AutolevellerAE to avoid confusion with naming
  • Reduced file size from ~7.5MB to ~1.3MB without removing any functionality
  • Altered the mesh view generation to better fit the mesh within the draw window, i.e. the entire mesh should be visible regardless of the dimensions of your mesh
  • The mesh is now generated after mesh values are changed and the enter key is pressed. Previously the mesh was regenerated after each keystroke which could cause performance issues on older machines
  • Removed unused menu items


Version 0.8.7 (in Member downloads)

  • minor change: more prominent prompting messages from sub-procedures pausing gcode (M0).

Version 0.8.6 (in Member downloads)

  • Fixed bug: Seemingly random large spikes in Z depth during milling for arc moves caused the tool to break on occasion
  • Fixed bug: Seemingly random appearance of E words on arc lines
  • Changed Mach 3 output gcode file extension from .tap to .nc
  • When probing is finished Z is now sent to the probe finish height before moving to XY start

Version 0.8.5 (in Member downloads)

  • Changed Levelling Z height from < 0 to <= 0
  • Changed arc breakdown filter to keep segmented lines intact

Version 0.8.4 (in Member downloads)

  • Fixed Arc bug where Arcs in files would sometimes cause infinite loops
  • Breaks down Arcs to smaller segments whilst maintain the Arc command, i.e. does not resort to using the ‘arc to line’ technique which would greatly increase file size
  • Added log4j support
  • Log4j logs to an external “debug” file
  • Log4j logs to a text panel within the AutoLeveller
  • Changed the way the GUI thread is invoked resulting in greater stability
  • Many code improvements

Version 0.8.3 (in Member downloads)

  • Supports Arc moves (G2 and G3 commands)
  • Segments large arcs into smaller segments required for correct Autolevelling
  • Supports Radially defing Arc moves
  • Fixed bug where ‘%’ is used to mark the start / end in the input file
  • Fixed bug where -0 and +0 are read as 2 separate numbers when reading from the raw log file
  • Fixed possible bug where line numbers are used and conflicted with sub-procedures in TurboCNC
  • Changed default LinuxCNC raw probe log file name to ‘RawProbeLog.txt’ to avoid confusion
  • Fixed bug where not all source junit tests ran in countries where ‘,’ is used instead of ‘.’ as a decimal separator
  • Fixed bug where the raw probe file (RPF) needed very precise measurements in order to create a grid correctly. Added some tolerance to correct this

Version 0.8.2 (in Member downloads)

  • Bug fix where coordinates would occasionally contain faulty output. (-1.047 would become -147)
  • 6 decimal point places now used for increased accuracy
  • TurboCNC profile added as an option
  • Changed probe log file reader to be more compatible with machines with multiple axis. (reads the first 3 numbers in a GCode line and assigns them to XYZ respectively)
  • Changed the first line of probing GCode to move Z to a safe position before continuing to XY bottom left
  • Changed reader to comply with mastercams floating point notation

Version 0.8 (in Member downloads)

  • Probe persistence – Automatically writes probe results to a separate log file
  • In software leveling calculations – Option for probe calculations to be made within the software rather than in the GCode if the probe log is provided
  • Variable use is drastically reduced since calculations are now made within the Autoleveller – This drastically reduces the GCode file size
  • No need to repeat the probing stage as the Z  height is already written into the file based on the provided log file
  • Ability to stop and resume at any stage – Use the built in sub-procedures
  • Option to produce a “probe-only” GCode file which will be used to generate the required log file only
  • Setting persistence – Keeps your most recent settings over time (controller selected / last folder accessed)
  • Rounded probe settings to a maximum number of decimal places
  • GUI changes

Version 0.7.7

  • Improved ‘resolution’ for inch units (segments are finer grained now)
  • Increased ‘accuracy’ by adding an additional decimal point to decimal numbers
  • Version checker. Will inform if there is a later version of the software available

Version 0.7.4

  • Primitive parsing of variables added

Note: Only basic use of variables added to allow compatibility with some programs such as F-Engrave, no loops or sub-procedures etc. are realized until a complete parser is created.

Version 0.7.3

  • Improved robustness of output code (Removed possibility of E-number output)
  • Bug fix: removed phantom drill spots when code includes 2 or more drill spots
  • General refactoring

Version 0.7.2

  • Bug fix: Occasional error where the “E” exponent appeared in the output, resolved

Version 0.7.1

  • Reduced output GCode (nested brackets removed)
  • Bug fix: Decimal separator issue where the software did not work in countries using a comma ‘,’ rather than a point ‘.’ for decimal numbers fixed. (pending)

Version 0.7

  • Supports inches and millimeters. Inches or millimeters is now automatically taken from the input file
  • Saved filenames add a pre-cursor “AL” at the beginning as default and the extension is changed to be more appropriate for the chosen control software
  • Checking of probe settings to ensure they are in a number format
  • Parser stores additional states from the input GCode file
  • Probe settings filled in automatically from the input file
  • Reads and displays the extremities of the input file when it is first selected
  • Displays stats for the probing data such as the number of probes that will be used in the output file. Changing certain values such as the ‘probe spacing’ (then ‘tabbing out’ of the field) will automatically adjust the stats. The user can try to optimize the probe count like this
  • Added an about box with the version number and a clickable link to this site
  • Set the initial spindle speed to a default value of 20000 to ensure ‘M3’ GCode works. 20000 will not overwrite any further speed settings
  • Button to clear all probe settings
  • Bug fix: Occasional divide by zero error
  • Added pre-amble copy write text to the output file
  • Warns if the milling area is not contained within the probing area. However, it is perfectly legal to change the probing extremities so that the milling area is larger or smaller than the probing area. You may do this if, for example, only a small proportion of the design needs to be levelled
  • Core levelling code changed to provide greater robustness
  • Several changes to the GUI layout

Version 0.5

The core of the program, i.e. the probing and levelling is reliable as per my previous tests and in future versions, mainly the GUI will see the biggest changes.

Although there is the option for millimeters or inches, only millimeters works currently. The original GCode file should also be in millimeters. Inches will be supported in the next version.

GCode Arc (G2 and G3) moves are not currently supported and are ignored by AutoLeveller. Most PCB isolation GCode files will only contain straight linear moves (G0 and G1) anyway so this should not be a huge concern. If Arcs are required (if, for example you want a circular shape cut in a project box) you could break down the circle circumference into lots of small G1 moves rather than a single G2 or G3.

I don’t currently have a licence for Mach 3 therefore I cannot test in Mach 3 myself but others have used AutoLeveller with Mach 3 successfully, so it should work.

The height adjusting CNC software