Budget Friendly Auto Bed Leveling for Ender 3, Ender 5, CR10 and more!
We are back again with another budget friendly auto bed leveling solution; this time around we install it on the Ender 5! It's basically the same kit but we have to print different parts and the assembly is just a little different. We will be basing our kit on the Hero Me Gen5 cooling system, and some people have expressed concern of print quality for these, as well as being able to use PETG for temperature resistance. There is a good alternative, called Treatstock! We recommend having the parts you need or are most worried to print made of ABS from a company on treatstock; that way you are guaranteed good results. I don't print ABS often, sometimes I order from there some fan ducts or hot-end mounts. This method can be used for ALL 3D PRINTERS that have a Z-stop and running marlin! It's simple and very cheap!
DISCLAIMER: This kit is designed for someone who is capable of DIY electronics, and requires some basic soldering skills as well as know-how to put things together and 3D print with PETG material on some pieces. Anyway, let's get started with our kit details. First, let's get the materials out of the way.
What's needed to install Capacitive Auto Bed Leveling on Ender 5?
- 24v Capable Capacitive Sensor (12mm to use EZABL mounts) https://www.aliexpress.com/item/32844237591.html?spm=a2g0s.90423126.96.36.199b34c4dtO0x69 $4.99
- 1 Channel Optocoupler (12v will need modified for 24v) https://www.aliexpress.com/item/32923200042.html?spm=a2g0s.90423188.8.131.52b34c4dtO0x69 $0.89
- HeroMe Gen5 Base and Cooling System for your printer. We recommend upgrading to 5015 fan and single duct. https://www.thingiverse.com/thing:4460970
- HeroMe Gen5 EZABL Mount (Pick one from list under EZABL 18mm) & Spacer https://www.thingiverse.com/thing:4463378
- Optocoupler Case https://www.thingiverse.com/thing:2817153
- Firmware (Look on website for the proper firmware for your board, or ask on our forums; TH3D is easiest for stock boards and my custom firmware for SKR Mini E3 will work)
- Arduino Uno + Dupont Cables to burn boot loader on stock boards, see this post: https://print3d.world/how-to-burn-a-boot-loader-on-an-ender-5-and-upgrade-firmware/
- Soldering Iron
- 4.7k Ohm Resistor
- Wire for power and ground leads (20-22awg Silicone wire is recommended)
Preparing your Ender 5 for Auto Bed Leveling
If you have a stock Ender 5 main board, we recommend using the TH3D Firmware and enable the EZABL support. A bootloader is required on the stock board; visit the link provided above for the how-to burn a boot loader and upgrade firmware. You will need to use the offsets that are listed in the HeroMe Gen5 PDF file for the mount that you used.
If you have a SKR Mini E3 main board, we recommend using our custom firmware which is already enabled for EZABL and it has the proper offsets for the EZABL_No_Duct_12mm mount. You will need to adjust offsets for your mount. Download the firmware with the link below, and use VSCode with PlatformIO plugin to customize it. Visit the forums for more information on how-to setup VSCode and PlatformIO; and don't be afraid to ask us questions there!
Prepare your Auto Bed Leveling Kit
Once all of your parts arrive, it's time to start preparing for installation. The first task you have to perform is to modify the 12v Optocoupler into a 24v Optocoupler by removing the current resistor at R1, and replacing it with a 4.7k Ohm resistor. This is quite simple, we recommend just snipping the old resistor at the base of the PCB and while holding your soldering iron to the pads push the new ones through the holes which will remove the old leads.
After you have modified the Optocoupler with the new 4.7k ohm resistor, it's time to wire it up. We will attach the capacitive sensor leads as shown in the diagram below, two wires will need to be used here which will terminate on the stock Ender 5 power supply. You will also need to decide if you are going to use dupont cables or cut and solder onto your Z endstop wires. Attach everything as shown. (Photo by LetsPrint3D.net)
You will need to get the V+ and V- power from the PSU on the right side of the printer. It has a few screws to remove, and open the bottom cover to get to them. The screws to the left of the RED + BLACK wires that go out through the bottom of the cover will give you 24V DC to power your sensor with. I recommend crimping some spade terminals on the end of the wire that will attach to the PSU so they are secured in the screw clamps.
Once you have your Octocoupler wired up, I suggest using a Digital Multimeter (DMM) on the Sensor Output pins. I always take the Capacitive sensor and manually trigger it; Once it triggers you should see the light on the octocoupler light up, and the voltage on the sensor output pins go to 0v. When you pull the sensor away from trigger, it should increase voltage (but never exceed 5v) and switch back and forth as you re-trigger it. Do this a few times to verify you won't fry the board.
Installing the ABL Sensor and Verifying Operation
Now that everything is wired up and ready, let's go ahead and install the mount onto the HeroMe Gen5 gantry plate by first threading some bolts through the mount, and then run them through the spacer that you printed. This will prevent the mount from hitting the belt, as it interferes with the mount due to how it attaches to the gantry. Then thread the screws into the gantry plate (your nuts should be in place already) and install the ABL sensor into the mount. You want to get the sensor within 5mm from the bed when the nozzle is touching it, you will adjust sensitivty later.
After everything is put together and zip-tied up; it's time to test and verify that it's working!
The next step you want to do is to check if the endstop is properly being recognized by your
Make sure you have your Z endstop wire connected with the jumper wires.
DO NOT HOME YOUR Z UNTIL YOU VERIFY THAT THE FIRMWARE IS SEEING THE SENSOR CORRECTLY
Start by moving the Z up until the light on the sensor and the octocoupler turn off.
Next, connect to your printer over your preferred slicer (or Octoprint) and issue an M119 and
see if the Z_min is showing TRIGGERED or open.
If it shows open place your finger or an object under the sensor so the light comes ON and then
issue M119 again. If it shows TRIGGERED then proceed to setting your sensor sensitivity.
If it does not then reverse the 2 endstop wires.
Next you will need to adjust the sensitivity of the sensor, so you should set your nozzle and temps to the highest you will use while printing. You will run your Z axis all the way down until the nozzle is just touching the bed; Then use your MOVE AXIS option in the PREPARE menu of your printed LCD to move the axis up 2mm. This is the position you want the sensor to trigger, and if the LED is not lit up on the octocoupler and sensor, use a small flat head screwdriver to adjust the sensitivity screw on the sensor clockwise until it lights up.
Do NOT change the sensitivity if you are getting different heights between prints due to
temperature changes. This should be handled by the ZOffset and/or BabyStepping the Z
height. Under normal conditions at most you should only have to occasionally Babystep
about 0.1-0.2mm. If you are getting more than that please contact our support to go through
more advanced troubleshooting steps. Large babystep changes are usually related to a
physical machine issue if M48 is returning a consistent reading under 0.01mm.
Lastly, you will need to setup your Z Offset; Some people just do this on the LCD screen and choose to "Store Settings" after they have. You will usually have to babystep for the first layer on almost every print. See the section below from TH3D.
I HIGHLY recommend you watch the video as it is much easier to see what to do. Here is a video
on how to set the Z Offset: http://EZABLVideo.TH3DStudio.com
Now that we have the sensor installed and calibrated you need to set your Z Offset. This is the
distance the printer needs to move the head down to place it on the bed after the sensor
To set your Z Offset heat the bed to your normal print temp and do a G28 to home the sensor.
Your EZABL™ sensor should be in the middle of the bed. Let it sit there for 5 minutes after the
bed has reached its target printer temperature. After homing the Z will show 5mm. This is NOT
included in the ZOffset. Move Z down 5mm before proceeding.
What you will do now is grab a sheet of standard paper and then move the nozzle down by
0.1mm until it just grabs the paper. Once you do that you can look at your printer LCD and note
the number that the Z shows. This will be a negative number. That is what your Z Offset is.
Thanks to TH3D and LetsPrint3D.net for doing most of the hard work, we just wanted to apply our own remix to the ABL scene! As always, have questions or problems leave us a comment and we will help you to the best of our ability! Once it's all done.. hit the print button and enjoy results!
Business IT Solutions - https://bizhostnc.com
Plastic Process Engineering