Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

Auto Leveling Platform

by atntias, published

Auto Leveling Platform by atntias Mar 2, 2012


Ok so updates, first i have first pcb tests working ! using this method.

i opened a github project for this here github.com/Atntias/probz/commits/master

i wrote the code as a part of printrun. the code is very messy but its starting to work :).

im using a dilling head based on the mantis i designed to fit the prusa X carrige, wich i will shortly upload to a thing too.

This is based on few ideas i saw online to use and automated process in order to measure distances from head to bed on all the working area.
then you can take that data and use it to offset gcode accordingly.

this is critical for pcb milling, and nice to have in 3D printing, as the whole leveling process becomes not critical as it is.

gcode offset calculation differs from CMC milling to 3D printing, but im planing on developing both.

i can probe the surface by replacing the z end stop with 2 wires 1 goes to the aluminum bed and the other to the extruder nozzle/drilling head.

video of the probing in action youtu.be/tKFhiu2a64I

the pcb holder you see in the video is another thing il make soon.

Recent Comments

view all

Just put a piece of fr4 pcb onto the bed copper side up.

Im doing leveling manualy this way, copper board laid on tbe bed croc clip to resistance mode on my mulitimeter, clip on hotend to other side, so it beeps when the nozzle touches the copper.

Then i just use pronsole to position the nozzle in the center and setup z with my endstop and the beep, then move to each corner and raise lower the screw until it beeps.

Its crude but it works.

i mean the printrun modifed version that does the offseting..

 What is this python offsetting code you speak of?


Liked By

view all



Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag. Print Thing Tag


yet to come...
note: you need to use marlin firmwre as it return endstop hits locations.
make sure in setting #USE_ENDSTOP_ONLY_FOR_HOMEING isnt selected.
right now when printing/milling i just disconnect the endstop, but il add a M code to turn the above #USE_ENDSTOP function on and off.
you might have to invert your z endstop nc/no in the firmware.

im using mayavi view to show the data, and numpy to do some calculation, so best way to get all that is get pythonxy instead of python 2.7.2 and make sure to select ETS on the packge list on installtion.


You must be logged in to post a comment.

birdmun on Oct 24, 2012 said:

I am having a problem. I have attempted to use a roller switch in place of a physical probe. I have commented out the #define USE_ENDSTOP_ONLY_FOR_HOMING. The machine moves to what looks like 30, 30, touches, and stops. Is there any more information I need to share? The switch is connected between sense and ground. It is connected to the NC side of the switch.

birdmun on Oct 24, 2012 said:

 It would seem I was premature. I managed to get it to work once. I don't know what I am missing.

Makezilla on Mar 4, 2012 said:

I like it a lot! It looks like you can manipulate the scale of more easily see the shape of the table. Using that tool you can improve the mechanical set-up to eliminate some of the major planar error.

It would seem to me the condition of the work piece is also an issue, especially with PCB material. Work holding techniques play a roll as well. Is that not the case?

atntias on Mar 4, 2012 said:

i agree, but as i go forwork il see how it goes, im developing a printed pcb holder that snaps to the printbed, and as this goes forword il see.

QuantumConcepts on Mar 3, 2012 said:

Sounds interesting. Unrelated question: how'd you get Print Run to look nice?

atntias on Mar 3, 2012 said:

just download the latest version :)

ronthomp on Mar 3, 2012 said:
atntias on Mar 3, 2012 said:

but he assumes the platform is flat, thats almost never the case

UechiMike on Mar 3, 2012 said:

Very cool - check out the pcbgcode forum and forums.zentoolworks.com - Someone has a working EMC script to do this already - it would be very cool to be able to do this on any 3D printer.

atntias on Mar 3, 2012 said:

yeah, i saw it, but on 3d printer i think il offset the gcode in first layer 100% 2nd layer 60% 3rd layer 40% and from then on wont touch the z offset.