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.
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.
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 (v188.8.131.52). 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.
AutoLevellerAE (Advanced Edition)
0.9.3 (Update 1)(in Member downloads)
This version adds an update number in addition to the main version as well as some bug fixes with the viewer.
- Handles values with leading points, such as .3 or .4 AE reads them as 0.3 or 0.4
- Handles values with trailing points such as 10. or 5. AE reads them as 10 and 5
- Handles modal GCode, i.e. lines without the GCode word on the same line will use the previously used word.
- Adds a new versioning system where there is now an update number on top of the main version number. This allows me to make small bug fixes without updating the main version each time
0.9.2 (changeset: f81f8db)(in Member downloads)
This update sees improvements to the toolpath viewer + some other fixes to the reading of the OGF and levelling process.
- Fixed bug where a blank line in the gcode caused Autolevelled output to be cut short after previous update to v0.9.2.
- Displays lines in different colours depending on whether the line is positive or negative. This means you can tell now if a line is etching or just traversing between etches.
- All words between G81 and G89 are drawn with a small X to indicate a drill cycle in the toolpath viewer.
- Rearranged layout to fit 1024×768 more comfortably
- Added 3 screen sizes to the Options menu which should be optimised for your screen resolution.
- Screen size chosen in the Options menu is saved to the settings file (in .AE folder) and applied when AE is first opened. This also means you can modify the window size directly from the settings file if needs be
- Better parameter support, i.e. a parameter such as #10=5 means #10 can be used in lines where 5 is used (e.g. G0 X1 Y2 Z#10)
- Fixed the issue where etching lines could be segmented if the etching line is deeper than the segment length, leading to harmful extra lines created. This will not be an issue for most since most etch depths will never exceed the segment length.
- Removed all trailing periods before the Autolevelling process begins. The trailing periods were not read properly in some situations meaning the levelled GCode would be corrupt.
- Fixed bug where closing ‘)’ sometimes got removed
Version 0.9.0 (changeset: 8e76e3c)(in Member downloads)
In this update the biggest and most obvious change is that the toolpath of your original GCode file will now be rendered to the screen, this means you can more accurately and clearly see what is going on and how the probe mesh will be applied and can provide you with a quick visual check. The OGF will also be re-drawn to fill the available space whist keeping the correct ratio.
- Rendering of your OGF toolpath, including lines and arcs, i.e. G0, G1, G2 and G3 GCode lines
- The rendered toolpath will resize to fill the maximum area available whilst keeping the correct ratio
- Added Mesh Information at lower portion of the screen, which shows the Mesh size including applied insets
- Various bug-fixes and improvements
Version 0.8.5 (changeset: 98415da)(in Member downloads)
This update mainly focuses on a custom controller option so that:
- Additional controller types can be supported by simply changing the custom settings to suit
- Run additional commands such as macros after each probe
- GCode can be modified to remove problem lines
- Added a custom controller option
- Custom controller settings such as words and commands can be set directly within AE
- Saves/loads custom settings
- Warns if RPF is an incorrect file format when attempting to load it
- If previous loaded directory no longer exists or has been corrupted between AE sessions, AE will now revert to your home folder rather than attempting to load the bad directory
- Fixed issue where empty settings file (new user) caused AE not to load
Version 0.8.4 (changeset: d5e75c6)(in Member downloads)
- Inset options. Allows you to set values for the top, bottom, left and right offsets to the edge of the Mesh extents
- Records insets so these values can be applied to each future job
- Viewer has been modified to show the full extent of both the OGF and Mesh in the same viewer space whilst maintaining the correct proportions
- Autoleveller icon has been updated
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 readme.md 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
- 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
- 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.
- 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
- Bug fix: Occasional error where the “E” exponent appeared in the output, resolved
- 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)
- 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
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.