Skip to main content

Site Navigation

Your Account

Choose Language

Introduction

The previous guides went through installing a Duet Maestro in a stock Ender 3 Pro, configured RepRapFirmware, tested the hardware and electronics, and went through a basic calibration.

Now that you've had your printer up and running for a while, you may be looking at doing some upgrades or adding some additional hardware features like a Z probe, quieter fans, LED lighting, or a better LCD control panel.

This guide will go through the process of upgrading the Ender 3 Pro and Duet Maestro from the previous guides with the following additions, feel free to pick and choose:

  • Swapping the Z axis lead screw for one with a finer pitch to improve the Z axis accuracy.
  • Installing a BLTouch Z probe to use mesh bed compensation for a perfect first layer every time.
  • Moving the Z min endstop to the top frame to be used as a Z max endstop for power loss recovery homing.
  • Adding a buck converter to provide 12v power for accessories like LED lights and fans, while still using the 24v power supply for motors and heaters.
  • Swapping the loud stock 24v fans for quieter 12v Noctua fans.
  • Adding a 12v LED light strip to the frame and hotend illuminate the bed.
  • Adding a PanelDue 5i to replace the stock 12864 display with rotary encoder.

Other guides in this series:

Steps found in this guide:

    • You'll need some tools and printed parts as well as the upgrade hardware before getting started.

    • For tools you'll need the bag of tools that came with the Ender 3, a multimeter, crimping tool, wire cutter, wire stripper, pliers, and soldering iron.

    • For printed parts you'll need a case for the buck converter, the new hotend shroud to mount the BLTouch and replacement fans, and a mount and case for the PanelDue 5i.

    • Buck Converter Case - 40mm Fan Guard - PanelDue 5i Case and Mount - HeroMe Ender 3 Hotend Mount for BLTouch - Ender 3 Filament Guide

    • For the upgrade hardware you'll need a TR8*2 lead screw and nut, a BLTouch probe, an LM2596 buck converter module, two Noctua 40mm fans, a 12v 5015 blower fan, 12v LED strip light tape, lengths of wire, various M3 and M4 nuts and bolts for mounting.

  1. The stock Ender 3 lead screw is a standard TR8*8 which is a 4 start screw with a 8mm lead. Meaning that every rotation produces 8mm of travel. When coupled with a 1.8 degree/200 step motor, the full step resolution is 0.04mm, which is not ideal for layer height selection since the layer height must be a multiple of 0.04mm. The simplest way to overcome this limitation is to swap the lead screw and nut for one with a finer pitch. In this case, a single start 2mm pitch/lead. Meaning that every rotation produces 2mm of travel. Using the same stock motor we now get 0.01mm full step resolution, and layer height selection is virtually unlimited. All you need is a 400mm long single start TR8*2 lead screw with 2mm lead and 2mm pitch plus a matching 2mm pitch nut. These can be easily found online at the usual places for very little money.
    • The stock Ender 3 lead screw is a standard TR8*8 which is a 4 start screw with a 8mm lead. Meaning that every rotation produces 8mm of travel. When coupled with a 1.8 degree/200 step motor, the full step resolution is 0.04mm, which is not ideal for layer height selection since the layer height must be a multiple of 0.04mm.

    • The simplest way to overcome this limitation is to swap the lead screw and nut for one with a finer pitch. In this case, a single start 2mm pitch/lead. Meaning that every rotation produces 2mm of travel. Using the same stock motor we now get 0.01mm full step resolution, and layer height selection is virtually unlimited.

    • All you need is a 400mm long single start TR8*2 lead screw with 2mm lead and 2mm pitch plus a matching 2mm pitch nut. These can be easily found online at the usual places for very little money.

    • The second photo shows the difference in pitch angle between the 8mm and 2mm. The flatter angle results in much lower starting resistance, and much greater resistance to falling when the motor is deenergized.

    • The final photo is a screen capture from the Prusa Calculators page showing the step size for a TR8*8 lead screw with 1.8 degree motor. Note the incompatible layer height.

    • The next few steps will cover installation.

  2. The stock lead screw nut is cut down on two sides to give it clearance beside the motor on the mount when using the stock extruder setup. Most nuts found online are circular with 4 bolt holes. We need to cut down one of the sides to allow it to fit. Gently clamp the nut in a vise and use a hacksaw to carefully trim off one of the sides of the nut with a bolt hole.
    • The stock lead screw nut is cut down on two sides to give it clearance beside the motor on the mount when using the stock extruder setup.

    • Most nuts found online are circular with 4 bolt holes. We need to cut down one of the sides to allow it to fit.

    • Gently clamp the nut in a vise and use a hacksaw to carefully trim off one of the sides of the nut with a bolt hole.

    • Be careful not to clamp the nut too tightly or you may deform it which will make it unusable.

    • This may not be an issue if you've already swapped to a direct drive extruder that removes the motor from the X axis/Z axis mount.

  3. The stock lead screw nut has threads in the bolt hole. The replacement lead screw nut does not. You can use the stock bolts, but will need to add 2 M3 Nylock nuts to secure it. You will need to remove the 2 split washers used in the stock installation in order for the stock bolts to be long enough to be secured by the Nylock nuts.
    • The stock lead screw nut has threads in the bolt hole. The replacement lead screw nut does not.

    • You can use the stock bolts, but will need to add 2 M3 Nylock nuts to secure it.

    • You will need to remove the 2 split washers used in the stock installation in order for the stock bolts to be long enough to be secured by the Nylock nuts.

    • The new lead screw will need to be lubricated before it can be used. In this case white lithium grease is used since it is a good medium weight, does not drip like light oil, and it will not dry out.

    • I like to place a few small blobs of the grease along the length of the lead screw and then jog the axis up and down to work it in.

    • The small bead of grease that accumulates at the nut will act as a self lubricating seal during normal use.

    • Not that the filament path goes right next to the lead screw. If you're worried about getting grease on the filament consider printing a filament guide such as this one:

    • Ender 3 Filament Guide

  4. Now that the lead screw lead has changed, the Z steps per mm value must be changed from the stock 400 to our new value of 1600. Z_steps_per_mm = (motor_steps_per_rev * driver_microstep) / screw_lead (200*16)/2 = 1600
    • Now that the lead screw lead has changed, the Z steps per mm value must be changed from the stock 400 to our new value of 1600.

    • Z_steps_per_mm = (motor_steps_per_rev * driver_microstep) / screw_lead

    • (200*16)/2 = 1600

    • When connected to the DWC, go to the File Management > System tab. Edit config.g. Find the M92 entry under the ; Drives heading. Change M92 Z400 to M92 Z1600. Save and restart the board.

    • Failure to update the steps per mm will result in less movement of the Z axis than requested since it will only be sending 400 steps assuming it will move it 1mm rather than the 1600 per mm required.

    • Next we can change the baby stepping value to match our new step resolution. Go to the Settings > Machine Specific tab and find the Babystep amount (mm) entry box. Update it to reflect the new 0.01mm step resolution.

    • In your slicer you can now choose any layer height that is a multiple of 0.01mm, and since slicers only use 2 decimal places for the layer height, your layer height resolution choices are now only limited by the nozzle size.

  5. The stock Ender 3 uses a simple endstop switch in the Z min position for homing the Z axis. The mount for the switch is adjustable by sliding it up and down the frame. Unfortunately, the Ender 3 bed will often by cupped and cause a dip in the center. When leveling the bed at the corners it may prevent the nozzle from touching the bed at the center. Removing the Z min endstop mount entirely will allow you to move the nozzle all the way down. Since we're about to install a BLTouch anyway, we may as well remove it. However, rather than just remove it entirely, we can move it to the top of the frame and use it as a Z max endstop which is useful for resuming after a power loss, since it will be impossible to use the probe to rehome the Z axis while a print object is still on the bed.
    • The stock Ender 3 uses a simple endstop switch in the Z min position for homing the Z axis. The mount for the switch is adjustable by sliding it up and down the frame. Unfortunately, the Ender 3 bed will often by cupped and cause a dip in the center. When leveling the bed at the corners it may prevent the nozzle from touching the bed at the center.

    • Removing the Z min endstop mount entirely will allow you to move the nozzle all the way down. Since we're about to install a BLTouch anyway, we may as well remove it.

    • However, rather than just remove it entirely, we can move it to the top of the frame and use it as a Z max endstop which is useful for resuming after a power loss, since it will be impossible to use the probe to rehome the Z axis while a print object is still on the bed.

    • Note the orientation of endstop mount as installed at the top of the frame. The switch will be triggered when the X axis extruder arm reaches the top. This may limit the amount of Z axis travel, but due to the bowden tube, and wiring harness, this is really the maximum viable travel anyway.

    • You'll need to extend the endstop wiring. I was able to tuck the wire into the frame extrusion underneath the wheel. I used a small piece of electrical tape to hold it in place. The other end of the wire extender plugs into the stock Z endstop wiring.

    • In my case I had a length of wire used for optical endstops that matched the plugs of the Ender 3. If you don't have something similar you may need to cut the plugs and re-crimp new ones.

    • Next we will change the config.g and homez.g to reflect the new endstop position.

  6. In config.g we must change the M574 command under ; Endstops from M574 Z1 to M574 Z2. Z1 being the low end of travel. Z2 being the high end. We will dedicate homez.g to homing to Zmax. We will leave homeall.g for using the Z probe. The homeall changes will be described later when we get to the BLTouch.
    • In config.g we must change the M574 command under ; Endstops from M574 Z1 to M574 Z2. Z1 being the low end of travel. Z2 being the high end.

    • We will dedicate homez.g to homing to Zmax. We will leave homeall.g for using the Z probe. The homeall changes will be described later when we get to the BLTouch.

    • In homez.g the direction of the homing move will need to flip from negative to positive. From G1 S1 Z-300 F600 to G1 S1 Z300 F600. Same goes for the back off move and the second homing pass.

    • Note the use of M913 to reduce the motor currents during homing which should cause the motors to stall rather than cause damage if they were to strike something.

    • With the endstop wired up and the configuration changed you can now test the new Z max homing behaviour. First use the Settings > Machine Specific tab > Endstops display to check that the endstop status changes when you trigger the switch by hand. If nothing changes when pressed, check the wiring.

    • Next, manually move the Z axis so that the nozzle is far from the bed by rotating the lead screw by hand with the power off. Then use the Home Z button. The X gantry should start to raise. Trigger the endstop by hand to ensure the movement stops. It should stop, back off a bit, and go up again. Click the endstop a second time by hand.

    • If the gantry lowers, or the endstop doesn't halt movement, cut the power and recheck the config.

  7. Now that homing to Z max works correctly, we need to measure the new length of travel for the Z axis and enter that value as the axis maxima in the M208 command in config.g so that when you home to Z max it sets the correct distance from the bed.
    • Now that homing to Z max works correctly, we need to measure the new length of travel for the Z axis and enter that value as the axis maxima in the M208 command in config.g so that when you home to Z max it sets the correct distance from the bed.

    • First, heat the bed and nozzle to normal printing temperature. This will cause the bed to warp and deform just like it would during a normal print and cause the hotend to lengthen slightly. Remove filament if any is loaded and clean the nozzle tip.

    • Next, move the print head to the center of the bed and lower the nozzle until it's just touching the surface. Now send G92 Z0.

    • Now that we've established Z0 we must measure the distance to the Z max endstop. Send G1 S3 Z300 F600. This will send the X axis gantry up to the top of the frame and stop when the endstop is hit. And when the endstop is hit, it will set the M208 Z maxima value to the resulting distance it took to get to the endstop.

    • Now send M208 to see what the Z axis maxima was set to. Edit config.g and alter the M208 Z value to match the newly measured value.

    • Note that whenever you level the bed, or even when the bed is heated up, the position of Z0 at the bed surface in relation to the position of the Zmax endstop, can change. This is the downside of an endstop at the high end of travel.

    • We can use a macro to automate the measurement routine and use M500 to save the results to config-override.g and then have M501 at the end of config.g to load the saved values. If you've already used this guide to PID tune your heaters, you probably use M500 and M501 already.

    • Using the macro shown in the image, the new M208 Z maxima is as follows: M208 Axis limits X0.0:235.0, Y0.0:235.0, Z-0.5:228.2, which is about 1mm less than there was originally estimated. See here for a copyable text version of the macro.

  8. The stock Ender 3 fans are very loud. Replacing them with quieter 24v fans can prove difficult due to limited selection. In order to take advantage of the wider selection of quiet 12v fans, a buck converter can be used to drop the 24v supply voltage to 12v for just the fan headers using the V_Fan pin on the Duet board. See here for more detailed Fan Documentation We will be using a simple LM2596 module for a buck converter. There are several styles and versions. The most simple have an adjustment pot to reduce the output voltage. The more advanced have an LCD showing the input and output voltage.
    • The stock Ender 3 fans are very loud. Replacing them with quieter 24v fans can prove difficult due to limited selection. In order to take advantage of the wider selection of quiet 12v fans, a buck converter can be used to drop the 24v supply voltage to 12v for just the fan headers using the V_Fan pin on the Duet board.

    • See here for more detailed Fan Documentation

    • We will be using a simple LM2596 module for a buck converter. There are several styles and versions. The most simple have an adjustment pot to reduce the output voltage. The more advanced have an LCD showing the input and output voltage.

    • Here is a Simple case for safely mounting and enclosing an LM2596 to a vslot extrusion.

    • The LM2596 input + and - will be connected to the power supply + and - and the output + will be connected to the V_Fan_A pin on the Maestro. The LM2596 output - will not be connected at all.

    • The V_Fan pin is connected to the positive fan pins. The Duet switches the fan PWM signal on the negative side.

  9. The input wires for the LM2596 will piggyback on the main VIN screw down terminals on the Duet. This will provide it with VIN without needing to expose the PSU terminals. By stripping ~1 inch of wire you should be able to wrap the lead around the screw and then down on top of the main spade terminal coming from the PSU. Wrap the bare wire around the screw in the same direction that the screw will the tightened.
    • The input wires for the LM2596 will piggyback on the main VIN screw down terminals on the Duet. This will provide it with VIN without needing to expose the PSU terminals.

    • By stripping ~1 inch of wire you should be able to wrap the lead around the screw and then down on top of the main spade terminal coming from the PSU.

    • Wrap the bare wire around the screw in the same direction that the screw will the tightened.

    • In a less cramped case you may be able to use a second spade terminal, but the Ender 3 Pro case requires the spade terminals be bent upwards to fit.

    • I've used a piece of electrical tape to hold the thinner gauge wire for the LM2596 to the larger gauge wire coming from the PSU.

    • The length of the wire used only needs to be ~200mm since the LM2596 will be mounted on the underside of the center cross member of the frame on the opposite side of the electronics enclosure.

  10. With the Input side of the LM2596 connected, power on the printer and use a multimeter set to DC voltage mode to tune the output. Connect the multimeter leads to the + and - outputs and turn the adjustment pot on the LM2596 until the readout is 12v.
    • With the Input side of the LM2596 connected, power on the printer and use a multimeter set to DC voltage mode to tune the output.

    • Connect the multimeter leads to the + and - outputs and turn the adjustment pot on the LM2596 until the readout is 12v.

    • In the image the red wire is 24v + input, the black wire is 24v - return, and the yellow wire is 12v +. There is no wire for 12v negative as it is not required.

    • On the LM2596 side, I have soldered Dupont terminal pegs with a 90 degree bend to the input and output side. This will allow the use of female dupont terminals on the wires so they can be disconnected in the future if need be.

    • You can see the Dupont connectors on the input side. Unfortunately, the Dupont plugs are non-locking and are prone to disconnecting if tugged. So ensure that there is enough slack in the wires and that they are secured immobile to the frame.

    • Alternatively you could use a locking connector or solder the wire ends directly to the module.

  11. Once the input side is connected and the module installed on the frame, the output side 12v + connection wire (yellow) can be run back into the case and connected to the V_Fan_A terminal. Note again that only the positive side of the output terminals is connected. The 12v - output is not required. Once again a Dupont female connector is used on both ends of the wire since it can be securely pushed onto the V_Fan pin.
    • Once the input side is connected and the module installed on the frame, the output side 12v + connection wire (yellow) can be run back into the case and connected to the V_Fan_A terminal.

    • Note again that only the positive side of the output terminals is connected. The 12v - output is not required.

    • Once again a Dupont female connector is used on both ends of the wire since it can be securely pushed onto the V_Fan pin.

    • You will need to remove the existing jumper that currently bridges the V_Fan pin to the VIN pin which provides the stock fans with 24v (or 5v).

    • Use tape, clips, or wrap to secure the wires coming and going from the buck converter to ensure they are held clear of the bed and won't easily be pulled loose. A disconnected wire would cause the fans to stop working.

  12. Now that we have a 12v supply for our fans, we can start swapping them over, starting with the electronics enclosure. The replacement fan is a Noctua NF-A4x10. This is a 40mm x 40mm x 10mm fan capable of pushing a rated 4.8 CFM at a mere 18db. This same fan will be used for the hotend as well and is the same fan used on the Prusa MK3. The fan comes with a convenient way of splicing the fan to an existing connector which Noctua calls Omnijoin. This uses 3M Scotchlok terminals that create a physical and electrical butt splice connection between two pieces of wire.
    • Now that we have a 12v supply for our fans, we can start swapping them over, starting with the electronics enclosure.

    • The replacement fan is a Noctua NF-A4x10. This is a 40mm x 40mm x 10mm fan capable of pushing a rated 4.8 CFM at a mere 18db. This same fan will be used for the hotend as well and is the same fan used on the Prusa MK3.

    • The fan comes with a convenient way of splicing the fan to an existing connector which Noctua calls Omnijoin. This uses 3M Scotchlok terminals that create a physical and electrical butt splice connection between two pieces of wire.

    • Simply use the included plug on one end, and snip the existing fan wire for the other end. Match black to black in one Scotchlok connector, and red to red in the other. Use plier to push down the button and lock them in place.

    • If you are not using Noctua fans and don't have the Scotchlok connectors, you can simply snip the ends and resplice new plugs or use a soldered butt joint to extend the wires of your fans.

    • The fan orientation in the first image has the fan blowing into the enclosure. Unfortunately, the grates on the enclosure greatly reduce the amount of airflow for the Noctua fans lower speed. Therefore the fan was flipped to draw air out of the enclosure. In order to keep wires clear of the blades a printed 40mm Fan Guard was added.

    • Alternatively, you could use a hand file to remove sections of the grates from the case plate to clear the path for the fan blades. Just be sure nothing is likely to enter the blades. Consider adding a less restrictive grate.

  13. Now that we have a 12v supply at the fan headers, and an open Always-on fan header, we can connect a strip of 12v LEDs to shed some light on the print bed. Conveniently, the LED strip is just the right size to fit inside the trench of the V slot extrusion at the top of the frame. The wire can be tucked in along the extrusion as well behind the wheel and down to the electronics enclosure. I used small pieces of electrical tape to keep it in place.
    • Now that we have a 12v supply at the fan headers, and an open Always-on fan header, we can connect a strip of 12v LEDs to shed some light on the print bed.

    • Conveniently, the LED strip is just the right size to fit inside the trench of the V slot extrusion at the top of the frame.

    • The wire can be tucked in along the extrusion as well behind the wheel and down to the electronics enclosure. I used small pieces of electrical tape to keep it in place.

    • Make sure you note the polarity of the LED strip when you solder the wires and connect them to the right pins of the Always on fan port on the Duet.

    • In the next few steps we will be replacing the hotend shroud to add a BLTouch and replace the hotend fan and part cooling fan. Additionally we will add another short piece of LED strip to illuminate the nozzle. Both of these strips will be connected to the same always on fan terminal.

  14. The 12864 LCD and rotary encoder that comes with the Ender 3 is a functional if basic way of interacting with the printer directly without using the web interface. However, if you want more control, easier access to macros, access to a gcode console and keyboard, and don't have a computer nearby, the PanelDue makes for an excellent addition to any Duet powered printer.
    • The 12864 LCD and rotary encoder that comes with the Ender 3 is a functional if basic way of interacting with the printer directly without using the web interface.

    • However, if you want more control, easier access to macros, access to a gcode console and keyboard, and don't have a computer nearby, the PanelDue makes for an excellent addition to any Duet powered printer.

    • The case and mount chosen for the PanelDue 5i has an adjustable arm and will require some M4 hardware. It can be found here: https://www.thingiverse.com/thing:279962...

    • The PanelDue is connected via the 4-wire cable option. This doesn't allow for the PanelDue SD card slot, but it does allow for a much longer and easier to route cabling option compared to the flat 10-wire ribbon cable.

    • The wires for the PanelDue are routed down the back of the frame extrusion inside the V slot channel and down into the electronics enclosure. A few pieces of electrical tape are enough to keep it in place.

    • For more information, see the main documentation for the PanelDue.

  15. In order to use the BLTouch we need a way to mount it. There are some simple brackets available that work with the stock hotend assembly, but we also want to swap the fans and add an LED light strip, and improve the fan duct. Therefore, we'll be using the Hero Me mount which has numerous configuration options. HeroMe Ender3 Hotend Mount - I've printed the option with the BLTouch adapter, and the single 5015 fan duct. There are other alternatives for replacing the hotend shroud. You can even leave the stock shroud in place and just replace the fans. Start the disassembly by removing the 2 retaining bolts for the stock shroud and pulling it away. Be careful not to pull too hard on the hotend heater and thermistor wiring.
    • In order to use the BLTouch we need a way to mount it. There are some simple brackets available that work with the stock hotend assembly, but we also want to swap the fans and add an LED light strip, and improve the fan duct. Therefore, we'll be using the Hero Me mount which has numerous configuration options.

    • HeroMe Ender3 Hotend Mount - I've printed the option with the BLTouch adapter, and the single 5015 fan duct. There are other alternatives for replacing the hotend shroud. You can even leave the stock shroud in place and just replace the fans.

    • Start the disassembly by removing the 2 retaining bolts for the stock shroud and pulling it away. Be careful not to pull too hard on the hotend heater and thermistor wiring.

    • The hotend fan and part cooling blower can then be removed from the shroud. In our case these will be replaced and the wires can be cut as shown in the following step.

  16. We will be replacing the stock heat break fan with the same 40mm Noctua fan used for the electronics enclosure. We'll be using the same Scotchlok connectors that are included with the Noctua fan. Noctua packages spare Scotchlok connectors in case you make a mistake. But we're also going to use them to swap out the small 4010 blower fan for a larger, more powerful, but quieter 5015 blower fan from Sunon. Sunon MF50151V2-B00U-A99
    • We will be replacing the stock heat break fan with the same 40mm Noctua fan used for the electronics enclosure. We'll be using the same Scotchlok connectors that are included with the Noctua fan.

    • Noctua packages spare Scotchlok connectors in case you make a mistake. But we're also going to use them to swap out the small 4010 blower fan for a larger, more powerful, but quieter 5015 blower fan from Sunon.

    • Sunon MF50151V2-B00U-A99

    • The Scotchlok connectors allow us to reuse the existing wiring loom to connect the new fans.

    • With the Hero Me installed and the fan wires connected we can next attach the noctua fan and the BLTouch to mount.

    • The same 40mm fan guard used in the electronics enclosure was used for the hotend fan.

    • After completing the swap of the cooling shroud it would be a good idea to re-run the PID tuning process for the hotend as described in the previous calibration guide here:

    • PID Tuning Hotend Heater

  17. The BLTouch has 5 wires which need to be extended to the Maestro board. You'll need 5 lengths of wire approximately 1 meter in length. You'll need some Dupont connectors and crimps, a crimper, wire stripper, and wire cutter. You'll also need the 5 pin Molex plug connector from the Duet Maestro package for the Z probe port. A length of nylon loom can help protect the wires and match the look of the stock hotend wiring loom.
    • The BLTouch has 5 wires which need to be extended to the Maestro board.

    • You'll need 5 lengths of wire approximately 1 meter in length. You'll need some Dupont connectors and crimps, a crimper, wire stripper, and wire cutter. You'll also need the 5 pin Molex plug connector from the Duet Maestro package for the Z probe port.

    • A length of nylon loom can help protect the wires and match the look of the stock hotend wiring loom.

    • In our loom we will include an additional 2 lengths of wire to be used for a small LED strip. These two wires will be piggybacked onto the 2 wires from the LED strip used for the top frame.

  18. Using the same LED strip that went into the frame, I've cut off a group of 3 LEDs, soldered on a pair of wires, and used super glue to affix it to the bottom of the fan duct of the Hero Me. The wires for this LED strip will be wired into the same connector as the LED strip from the frame. To do this, I was able to crimp one wire and then carefully solder the second wire onto the pin. If you're careful with the solder you can still fit the crimped pin into the body.
    • Using the same LED strip that went into the frame, I've cut off a group of 3 LEDs, soldered on a pair of wires, and used super glue to affix it to the bottom of the fan duct of the Hero Me.

    • The wires for this LED strip will be wired into the same connector as the LED strip from the frame.

    • To do this, I was able to crimp one wire and then carefully solder the second wire onto the pin. If you're careful with the solder you can still fit the crimped pin into the body.

    • The LEDs are the green and blue wires plugged into the Always on fan port. The photo only shows the single wire, and not the piggybacked double wire.

    • Alternatively, you could expose a small section of the main wire and solder the piggyback wire to that, or you could use a quick splice connector to join the two wires just before the plug.

  19. The BLTouch end of the wires will have male Dupont pins, and the Duet end will have female Molex. The Duet Maestro Z Probe port can accommodate all 5 of the BLTouch wires. Note that the 2 ground wires from the BLTouch can be piggybacked to the single Z probe connector in the same way as we did with the LED wiring to the always on fan plug. On the Duet Wifi the wires must be split out between the Z Probe port and the expansion header.
    • The BLTouch end of the wires will have male Dupont pins, and the Duet end will have female Molex.

    • The Duet Maestro Z Probe port can accommodate all 5 of the BLTouch wires. Note that the 2 ground wires from the BLTouch can be piggybacked to the single Z probe connector in the same way as we did with the LED wiring to the always on fan plug.

    • On the Duet Wifi the wires must be split out between the Z Probe port and the expansion header.

    • It's a good idea to test your wires for continuity before completing the installation.

  20. I've used pieces of electrical tape to bind the wires together into a bundle to make them easier to feed into the nylon wrap. I've used velcro wrap to affix the new wiring loom to the existing hotend loom. At the Duet end, connect the BLTouch Molex KK plug to the Z Probe port.
    • I've used pieces of electrical tape to bind the wires together into a bundle to make them easier to feed into the nylon wrap.

    • I've used velcro wrap to affix the new wiring loom to the existing hotend loom.

    • At the Duet end, connect the BLTouch Molex KK plug to the Z Probe port.

    • Note that the black and blue ground wires have been joined to a single pin.

  21. The order of the BLTouch wires at the Duet end require that the two ground wires are connected to the same pin. This is the black and brown wire in the photo and matches the color of the BLTouch wiring. I used the same technique as described in the LED wiring for the hotend. A single wire is crimped to the pin, and the second wire is soldered carefully onto the pin. Note the 2 wires going into the one pin between the yellow and white wires. A piece of electrical tape was used to act as strain relief.
    • The order of the BLTouch wires at the Duet end require that the two ground wires are connected to the same pin. This is the black and brown wire in the photo and matches the color of the BLTouch wiring.

    • I used the same technique as described in the LED wiring for the hotend. A single wire is crimped to the pin, and the second wire is soldered carefully onto the pin.

    • Note the 2 wires going into the one pin between the yellow and white wires. A piece of electrical tape was used to act as strain relief.

  22. To configure the BLTouch for the Ender 3 and Duet Maestro you'll need to add the following lines to config.g. The next step will go into how you can measure your setup to find the numbers specific to your machine. For more detailed instructions, including the differences in configuration for other Duet baords, see the main documentation on Connecting a Z Probe - BLTouch.
    • To configure the BLTouch for the Ender 3 and Duet Maestro you'll need to add the following lines to config.g. The next step will go into how you can measure your setup to find the numbers specific to your machine.

    • For more detailed instructions, including the differences in configuration for other Duet baords, see the main documentation on Connecting a Z Probe - BLTouch.

    • M558 P9 H3 F120 T6000 A10 S0.003 B1 R0.5

    • M557 X5:190 Y5:215 S10

    • G31 P25 X-44 Y-17 Z2.072

    • The homeall.g file will also need to be edited to change it from using the Z Min endstop to using a Z probe.

    • The main difference is that instead of using a G1 S1 Z move towards the endstop, there is a G1 XY move to position the probe to the center of the bed, and then a G30 command to initiate the probe. In the example, there is a M558 F command before the G30 to specify a fast and then slow probe.

    • For more detailed instructions, see the main documentation on Modifying the homeall.g file to use a Z probe.

  23. According to the BLTouch instructions, the bottom of the plastic body of the BLTouch should be 8mm above the nozzle tip. With the nozzle just touching the bed surface you can use a ruler or caliper to adjust the BLTouch mount until the base is 8mm above the bed.
    • According to the BLTouch instructions, the bottom of the plastic body of the BLTouch should be 8mm above the nozzle tip.

    • With the nozzle just touching the bed surface you can use a ruler or caliper to adjust the BLTouch mount until the base is 8mm above the bed.

    • Next we will measure the distance in X and Y from the nozzle tip to the BLTouch pin.

  24. To measure the distance between nozzle tip and the probe pin, attach a piece of paper to the print bed using some tape. Now move the nozzle down until it presses into the paper and leaves a small impression. Move the printhead up and out of the way and use a marker to place a dot on where the nozzle left the impression. Make note of the current XY position shown on the LCD. In my case, X115 and Y135.
    • To measure the distance between nozzle tip and the probe pin, attach a piece of paper to the print bed using some tape.

    • Now move the nozzle down until it presses into the paper and leaves a small impression. Move the printhead up and out of the way and use a marker to place a dot on where the nozzle left the impression.

    • Make note of the current XY position shown on the LCD. In my case, X115 and Y135.

    • Now jog the X and Y axis until the probe pin is directly over the dot you made on the paper. Note the new X and Y coordinate on the LCD. In my case, Y159 and Y152.

    • If you subtract the second coordinates from the first ones you will get a difference of X-44 and Y-17.

    • These numbers will go into the G31 X and Y command in config.g

  25. The final thing that we need to measure is the trigger height of the BLTouch. This will be the G31 Z value.
    • The final thing that we need to measure is the trigger height of the BLTouch. This will be the G31 Z value.

    • For detailed instructions, see the main documentation for Testing and Calibrating a Z Probe.

    • The procedure for finding the trigger height is best described in the link above. But basically it involves moving the nozzle to just touch the bed, using G92 Z0 to reset the bed position. Moving the nozzle up 10mm, and then issuing G30 S-1 to find the trigger height, which is reported in the gcode console.

    • When the BLTouch is mounted correctly 8mm above the nozzle tip, the trigger height ends up being close to 2mm.

    • We now have all of the probe offset values for G31 to inform the firmware of the position of the probe relative to the nozzle tip.

  26. Now that the BLTouch has been installed and configured, we can use Mesh Grid Compensation to map the surface of the print bed and ensure a perfect first layer every time. To initiate the mesh compensation probing routine, either send G29 in the gcode console, or use the Compensation & Calibration drop down menu on the main dashboard page.
    • Now that the BLTouch has been installed and configured, we can use Mesh Grid Compensation to map the surface of the print bed and ensure a perfect first layer every time.

    • To initiate the mesh compensation probing routine, either send G29 in the gcode console, or use the Compensation & Calibration drop down menu on the main dashboard page.

    • For more detailed information, see the main documentation on Mesh Grid Compensation.

    • This detailed heightmap even shows the outline of a gouge from a nozzle crash incident. It also shows that the left edge curls upwards, the front left corner is really lifting, and the general shape of the bed is slightly cupped. Note that the heightmap is exaggerated compared to physical reality to highlight the surface.

    • In order to load the saved heightmap and enable mesh compensation before starting a print, you must add G29 S1 either to your slicer start gcode after the printer has been homed with G28, or to the end of homeall.g if you want it active at all times.

    • You have the option of running G29 before every print, or saving the heightmap and loading it. If the bed changes frequently (like in the case of a magnetically attached removable bed like the Ender 3) you may wish to run the mesh probe routine every time. If the bed is stable and does not change, it can save time to load it using G29 S1.

  27. Now that we have a few extra wires running into the electronics enclosure it will be a bit more difficult to close the lid. Carefully bundle the wires together ensuring there is adequate slack for strain relief. Velcro wraps or twist ties work well to tie them together. Flatten out the bundle and push it into the cutout in the frame, and carefully close the lid. We now have an upgraded Ender 3 Pro with quieter fans, better layer height options, better lighting, power loss recovery homing option, and access to mesh bed leveling.
    • Now that we have a few extra wires running into the electronics enclosure it will be a bit more difficult to close the lid.

    • Carefully bundle the wires together ensuring there is adequate slack for strain relief. Velcro wraps or twist ties work well to tie them together. Flatten out the bundle and push it into the cutout in the frame, and carefully close the lid.

    • We now have an upgraded Ender 3 Pro with quieter fans, better layer height options, better lighting, power loss recovery homing option, and access to mesh bed leveling.

    • Possible future upgrades include conversion to direct drive, or swapping the ungeared extruder and 1.8 degree motor for a geared one or at least a 0.9 degree motor. And now that the fans are quiet, the intermittent power supply fan is by far the loudest component.

  28. Everything installed and configured. Updated config files can be found here. https://github.com/x0rtrunks/Ender3DuetM... Additional upgrades not shown include adding some foam blocks as feet to dampen vibrations. The filament holder can also be moved or replaced to reduce resistance on the filament path.
    • Everything installed and configured.

    • Updated config files can be found here. https://github.com/x0rtrunks/Ender3DuetM...

    • Additional upgrades not shown include adding some foam blocks as feet to dampen vibrations. The filament holder can also be moved or replaced to reduce resistance on the filament path.

    • Future upgrades may include a geared extruder, or swapping the motor for a 0.9 degree version for more resolution. Or even switching to direct drive. The power supply fan is also a good candidate for replacement to make the printer entirely silent.

Conclusion

The Ender 3 Pro is a perfect candidate for an upgrade with the Duet Maestro. The quiet drivers and versatile expansion turn the solid foundation of the Ender 3 into a compact powerhouse of a printer.

7 other people completed this guide.

Jason Znack

Member since: 06/16/2018

3,808 Reputation

6 Guides authored

0 Comments

Add Comment

View Statistics:

Past 24 Hours: 22

Past 7 Days: 127

Past 30 Days: 476

All Time: 6,115