Skip to content

Instantly share code, notes, and snippets.

@looxonline
Last active October 9, 2022 01:30
Show Gist options
  • Save looxonline/eaa426a1be67148f1cf6242e0e8efbcb to your computer and use it in GitHub Desktop.
Save looxonline/eaa426a1be67148f1cf6242e0e8efbcb to your computer and use it in GitHub Desktop.

BIQU_B1_UBL_INSANE_RES Guide

If you are here then you are thinking about using the insane res build. While it was primarily created for those with very warped build surfaces it will nevertheless still be usable by those using surfaces that are not warped and it should not cost much in terms of time before each print. In fact it is likely to save you time before each print.

What is different between ABL and UBL?

Both systems are very similar. ABL however is more suited to probing the entire bed before each print whereas UBL is better suited to probing the entire bed on a once off basis and then only doing a quick probe before a print to determine whether the bed has shifted in orientation at all. ABL could technically produce the same resolution as UBL however it would require a detailed probe of the entire bed before each print which would take forever.

Both systems create a mesh of the bed which helps Marlin to understand how to adjust the height of the nozzle as it moves over the bed.

In general, ABL will do a 3 x 3 probe of the bed to create a mesh. Imagine trying to draw a picture the size of your bed but only being given the chance to connect 9 dots together to create the whole picture...it will not have much detail. This UBL branch creates a 15x15 probe of the bed. Suddenly the picture has a lot more detail! The images below show a 3 x 3 mesh vs a 15 x 15 mesh of the same bed. As you can imagine the 15 x 15 mesh produces a far better result.

Screenshot 2021-01-11 at 21 51 54

Screenshot 2021-01-11 at 21 28 18

So you want to use the UBL branch...

I personally prefer this branch even with a glass bed so I can't blame you. However you do need to be aware of a few points which I have listed below:

  1. This is in beta. As such there may still be a few glitches but I think I have them mostly ironed out.

  2. Don't try to use this with the stock BL touch mount. You will need to use the mount made by Keith Bennett which is listed here: https://www.thingiverse.com/thing:4564987. This allows for a greater portion of the bed to be probed. Using it with the stock mount will likely result in the nozzle crashing into the bed.

  3. The firmware has been designed to probe extremely close to the edges of the bed. This means that you will be pushing the X and Y axes right to their travel limits in order to reach as far as possible. Make sure that there is nothing blocking the movement on each axis before starting.

  4. Becuase each axis is being pushed to the limit your nozzle will come very close to the bed strain relief adapter at the left rear of the bed. You will need to print this shim which will drop your BL touch lower so that the nozzle just misses the strain relief adapter. Usually 2mm is enough but some have reported that they need to stack a 2mm and a 1mm shim. https://www.thingiverse.com/thing:3125269/files

  5. As with the other ABL branches, you need to completely remove the z-endstop before using this branch. Unplugging it alone is not enough.

  6. The TFT cannot display the full 15 x 15 grid since there is simply not enough space. If you want to see the full grid you will need to connect to the machine using the USB cable and then send G29 T. This will return the grid which you can then paste here to visualize (after editing the row and column numbers out): http://lokspace.eu/3d-printer-auto-bed-leveling-mesh-visualizer/

  7. If you are using a glass bed with clips then this ##will## crash into your clips because it probes so close to the edges with so much detail. A better arrangement for a glass bed is to use adhesive to stick it to the magnetic bed and then you have a magnetic glass bed. Some users have done this and reported successful results.

If you are happy with those points and want to go ahead then continue reading...

Installing and using

Install the UBL branch in the same way that you would any other branch. You will also need to ensure that you are using the latest TFT firmware which is also in the main repo.

Once you have installed it you will find that the TFT automatically adjusts the bed levelling menu to show UBL options in place of ABL options.

Before your first print, navigate to Menu --> Movement --> Bed level --> UBL. There you will find the option to start a probe. First pre-heat the bed and then select this option and be ready for a probe that will take around 15 minutes to complete. Stay near to the printer while it is probing so that you can watch to see whether the probe is going to miss the bed at any point. At the end of the process you will receive a message saying that it has filled in missing points. Don't worry, it never missed any points. This is just a standard UBL message because usually UBL is not designed to reach the whole bed.

Once the probe is complete, save it into both slot 0 and slot 1. Accept the EEPROM message when it appears after each save. Now head over to your z-offset menu and make sure that it is set and saved correctly. Remember that you should be able to feel a tiny bit of frition on a piece of paper between the nozzle and the bed when the setting is at the right level.

The main probe is now complete and a detailed mesh of your bed has been saved. All that is required is to perform a three point probe before each print to ensure that the bed is still in the same oritentation that Marlin expects. To do this you will need to change the start code for the B1 in cura. Find the line that reads G29 and change it to three separate lines that read:

G29 A

G29 L1

G29 J

Re-slice the print that you want to use, load it into the printer and go for it.

Wrap up

It took quite a bit of effort to put this firmware branch out. I don't ask for donations because I personally benefit from a lot of community projects and am not in a financial position to donate to all of the projects that I benefit from and so I don't expect it to work any different for me in reverse. However, I do like to see results where people use this, good or bad. The good results result in that warm fuzzy feeling knowing that someone has benefitted from the work. The bad results help me to make it better :) So if you have the time, please post some results in the comments here or on the BIQU B1 facebook group.

@Longfellow78
Copy link

When I do Z offset, should I do this before or after the UBL mesh probing (or both)? also Should I use the z probe offset wizard, and then after i remove the paper add an extra amount of minus for the thickness of the paper? I have seen this somewhere. Is there anything else I can try as I'm getting very frustrated as to why the UBL is working, but "not working enough".

It's best to run a mesh and then do the offset. No need to compensate for the paper thickness. The paper is there to represent the 0.2mm first layer height.

Also, even if your uprights are now at 90 degrees you may have still twisted the x gantry slightly from tightening it against the uprights when they were not at 90 degrees. Release the bolts on the right hand side of the x gantry and check whether there is a slight angle between the edge of the gantry and the upright. There is a good picture of this on the "getting started" gist. If there is a gap AND your uprights are at 90 degrees then the x gantry may have been twisted and could need some twisting back.

YO! It works! I don't know what I changed. But I stripped the printer down and rebuilt the build plate tracks, checked all the wheel tensions, and reinstalled your firmware, double checked my offsets. Also used the B1 ABL profile in cura - I believe that you created? Instead of the non ABL profile I was previously using - I don't know how it differs. But, IT NOW WORKS! It's not 100% perfect, I'd say 95%, one of the corners the layers were not as perfect as the other 3 and centre in a test print but it was pretty bang on compared to the shitshow of my bed before. Thanks a lot for all the work and help. I'm very pleased I can finally use my BLtouch!

@looxonline
Copy link
Author

When I do Z offset, should I do this before or after the UBL mesh probing (or both)? also Should I use the z probe offset wizard, and then after i remove the paper add an extra amount of minus for the thickness of the paper? I have seen this somewhere. Is there anything else I can try as I'm getting very frustrated as to why the UBL is working, but "not working enough".

It's best to run a mesh and then do the offset. No need to compensate for the paper thickness. The paper is there to represent the 0.2mm first layer height.
Also, even if your uprights are now at 90 degrees you may have still twisted the x gantry slightly from tightening it against the uprights when they were not at 90 degrees. Release the bolts on the right hand side of the x gantry and check whether there is a slight angle between the edge of the gantry and the upright. There is a good picture of this on the "getting started" gist. If there is a gap AND your uprights are at 90 degrees then the x gantry may have been twisted and could need some twisting back.

YO! It works! I don't know what I changed. But I stripped the printer down and rebuilt the build plate tracks, checked all the wheel tensions, and reinstalled your firmware, double checked my offsets. Also used the B1 ABL profile in cura - I believe that you created? Instead of the non ABL profile I was previously using - I don't know how it differs. But, IT NOW WORKS! It's not 100% perfect, I'd say 95%, one of the corners the layers were not as perfect as the other 3 and centre in a test print but it was pretty bang on compared to the shitshow of my bed before. Thanks a lot for all the work and help. I'm very pleased I can finally use my BLtouch!

Well that's great to hear! Every single time I have seen BL touch issues it has always been something mechanical so I guessing something that you did (possibly in combination with the new profile) has solved it. Make sure that you replace the starting g-code in the profile according to the direction in this gist otherwise it will not work properly. In the next Cura I will likely include a UBL specific profile.

@JaVelin-X
Copy link

I followed all your guides and installed your firmware today and I am very impressed with the result on the PETG test print I did. It works exactly how you described and I learned how to compile my own firmware along the way. Thanks a lot for all your hard work.

@JaVelin-X
Copy link

Hi, So after my initial success I figured I'd re-do some of my tuning from before like PID autotune which works now, (It was broken I my last firmware) for the nozzle but when I try it for the bed it just does the nozzle again, is that on purpose?

@looxonline
Copy link
Author

Hi, So after my initial success I figured I'd re-do some of my tuning from before like PID autotune which works now, (It was broken I my last firmware) for the nozzle but when I try it for the bed it just does the nozzle again, is that on purpose?

No. That is interesting. I've not heard of that happening. My B1 unit is currently on loan to a friend to help keep him sane during lockdown so if you could take a video of the issue it would help a lot.

@JaVelin-X
Copy link

Hi Luke
I didn't realize the first part of the video hadn't recorded but I show the important part anyway.
Thanks

https://youtu.be/jmcy9UaRe7o

@hapklaar
Copy link

hapklaar commented Apr 26, 2021

Just got my BLTouch and want to try this branch on my B1 with heavily warped bed. There is one point I'm wondering about, which is

4. Becuase each axis is being pushed to the limit your nozzle will come very close to the bed strain relief adapter at the left rear of the bed. You will need to print this shim which will drop your BL touch lower so that the nozzle just misses the strain relief adapter. https://www.thingiverse.com/thing:3125269/files

As my strain relief adapter is lower than the bed, the nozzle should never touch it. Is this still necessary? If so can you explain why?

Thanks!

EDIT: found the shim is actually required to get the BLTouch below the nozzle on my printer, with the mount from Keith.

@pixeldoc2000
Copy link

pixeldoc2000 commented Apr 28, 2021

Just switch from your BIQUB1_ABL_SUPER_RES Branche to the UBL Branche and running the UBL now. I am curious if this will be even better than ABL.

I used the springs included with my Antlabs BLTouch to get more distance instead of the Shim.

Maybe add that we should use the 2mm thick shim to the Readme ;-)

I also have an SFS, but it is not installed yet.

@looxonline
Copy link
Author

Just switch from your BIQUB1_ABL_SUPER_RES Branche to the UBL Branche and running the UBL now. I am curious if this will be even better than ABL.

I used the springs included with my Antlabs BLTouch to get more distance instead of the Shim.

Maybe add that we should use the 2mm thick shim to the Readme ;-)

I also have an SFS, but it is not installed yet.

Some have reported that it works much better for them, others say it works worse. Because it probes so many points it is very dependent on the mechanics of the machine being well aligned so this could be the factor that makes the difference. In my case it worked better than ABL. I would not suggest the use of springs since they allow movement of the probe. Thanks for the tip on the shim, I'll update the readme to mention 2mm.

@hapklaar
Copy link

Wanted to share my experience with the BIQUB1_UBL_INSANE_RES branch.

Even though I think I have everything aligned well after following your guidance on this, after doing the elaborate probe with the BLtouch, the first layer is still uneven across the bed.

I can see UBL is active because the Z screw is very slightly rotating while printing within a layer. Not sure where to go from here yet.

@Wasp056
Copy link

Wasp056 commented Apr 29, 2021

Wanted to share my experience with the BIQUB1_UBL_INSANE_RES branch.

Even though I think I have everything aligned well after following your guidance on this, after doing the elaborate probe with the BLtouch, the first layer is still uneven across the bed.

I can see UBL is active because the Z screw is very slightly rotating while printing within a layer. Not sure where to go from here yet.

Go Manual!! Go back to the good ole Paper and bed screws. If you are going manual, then don't forget to take out the G29 and 3x measurements. After playing with mine for ages, dismantling the frame rebuilding checking Every damn angle, check X gantry, checking EVERYTHING, same as you, Went Manual and Brilliant first layer. Been manual now for a couple of weeks. Can't be arsed to go through another dismantle and checking every angle, so actually I no longer use BLT, getting perfick prints.
Nothing against Luke's work at all, I PRAISE IT, but for me the old way is proving better.

Each to their own!!

@hapklaar
Copy link

Wanted to share my experience with the BIQUB1_UBL_INSANE_RES branch.
Even though I think I have everything aligned well after following your guidance on this, after doing the elaborate probe with the BLtouch, the first layer is still uneven across the bed.
I can see UBL is active because the Z screw is very slightly rotating while printing within a layer. Not sure where to go from here yet.

Go Manual!! Go back to the good ole Paper and bed screws. If you are going manual, then don't forget to take out the G29 and 3x measurements. After playing with mine for ages, dismantling the frame rebuilding checking Every damn angle, check X gantry, checking EVERYTHING, same as you, Went Manual and Brilliant first layer. Been manual now for a couple of weeks. Can't be arsed to go through another dismantle and checking every angle, so actually I no longer use BLT, getting perfick prints.
Nothing against Luke's work at all, I PRAISE IT, but for me the old way is proving better.

Each to their own!!

Unfortunately my aluminium bed is so warped, that by just adjusting corners I can't get a good result and prints won't stick in the center. I agree if this is not the case, you're better off doing it manually.

However I now just want this to work or I need to understand why it doesn't... Else I just keep wondering about it forever :)

@Wasp056
Copy link

Wasp056 commented Apr 29, 2021

If you bed is that warped, try getting a Glass bed. These often solve the bad ones. You can get some good glass beds with the coating on for 'Stickability', but watch out if printing PETG and using some of the spray adhesives, as they can stick too bloody well and tear bits of the glass off.
I use Pritt Stick (Glue Stick). Apply a light coat on the area you are printing on inc the brim or skirt and away yah go.

Look on Amazon for some good 'Creality' glass beds with the coating on.

@Funhouse42
Copy link

Funhouse42 commented May 25, 2021

Pardon my ignorance here, but I'm having a problem. I upgraded to the UBL firmware and that seemed to go alright. I then tried to upgrade the TFT firmware I've hit a snag. I have the .bin and the config files on the sd card. It starts to update, but then I get a screen:

Found outdated data:

Fonts: Update required
Config: OK
Language: OK
Icons: Update required

Insert the SD card with the required files and press the reset button to update.

I have tried pretty much every possible combination of files, from just unzipping into SD card, to trying to transfer files individually. I can't seem to figure it out. I know it's something basic and it's just my own ignorance probably causing my problem. Anyone have an idea on what to do?

For the record, I have a BIQU B1 with BLtouch. All stock hardware.

Thank you very much for any help.

EDIT: I got it figured out.

@mpx0
Copy link

mpx0 commented May 27, 2021

Hello Luke, i did everything you wrote for the UBL firmware, but i got this reading from the BLTouch
image

before moving to the UBL and BLTouch, the printer was printing good, the bed was calibrated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment