Tool to assist bed leveling
I'm updating my printer to use the nyloc nut approach to bed leveling, but I didn't want to modify my firmware to change the G80 calibration results. So I wrote a quick Go based tool to talk to the printer over the serial port and give you focused feedback of which point to adjust next (rather than a wall of numbers that you have to figure out).
You can find it here: https://gitlab.com/gnat.org/g81_level_guide
Hopefully it helps someone else too.
RE: Tool to assist bed leveling
Performed my bed leveling today and made a couple of updates to the tool.
- It now defaults to running the test again. So you can just press enter rather than having to type "y" first.
- It now tells you to tighten or loosen the target screw rather than showing you a positive/negative value and leaving you to figure out which way to turn it.
RE: Tool to assist bed leveling
Made another update last night to add some debugging options:
- -debug: Turns on printing full 9 points in each iteration of the loop (same thing it always prints when you tell it you are done) in addition to telling you which screw to adjust.
- -log-file: If given it will write all serial data it reads and writes to the given file name.
RE: Tool to assist bed leveling
Very cool. I'll definitely give it a try when I switch to the nyloc leveling. (Still on default Prusa spacers.)
RE: Tool to assist bed leveling
Yeah I decided to go ahead and do it while I had stuff apart anyway (Drylins, MK3S/MMU2S, and a new Y tension adjuster). It's definitely tedious and I think I spent about 3 hours leveling it on Sunday. Being able to just press return and not have to do anything else was really nice.
Now I have to do it all over again when I sort these bearings out 😥
RE: Tool to assist bed leveling
I just pasted the G81 output into https://pcboy.github.io/g81_relative/ and it told me which screws to turn how much, both in turns and degrees.
RE: Tool to assist bed leveling
I just pasted the G81 output into https://pcboy.github.io/g81_relative/ and it told me which screws to turn how much, both in turns and degrees.
Yeah I saw that link and it's what inspired me.
- I'm a programmer by trade and love coding.
- I was curious to play with serial communications via Go.
- I was curious to programatically interact with the printer.
- I didn't want to have to keep typing the commands (all you have to do is press enter with my program).
- I'm lazy and just use screen for my terminal and it screws up the formatting (ignores the carriage returns).
- I didn't want to have to keep copying and pasting.
- Not really important to me, but it doesn't require a net connection to work.
4 and 6 were the most important to me followed by 5.