Welcome Guest [ Login / Register ]

Operation continues as usual during MCO. Contact us at 011-10800321 to arrange for same-day delivery within Klang Valley.
Operation continues as usual during MCO. Contact us at 011-10800321 to arrange for same-day delivery within Klang Valley.

Ender 3 V2 BLTouch Firmware Installation Guide by Smith3D.com [Updated – 1 August 2021] 1,268

BLTouch Installation

If you are using a different extension wire, please pay attention to the wire colors above.

BLTouch Mount

BLTouch Mount for Ender3 V2 Link here (Use the two screws provided by BLTouch to screw it in.)


The very first thing you should to is go into Control > Advanced and adjust Probe Offset X to -42 & Probe Y Offset -10 (Printed Mount). and Control > Store Setting.

If you are using Creality official BL-Touch set, you have to set it to Probe X Offset -44 & Probe Y Offset -6.

MountProbe X OffsetProbe Y Offset
Custom Mount V3-42-10
Creality Official Mount-44-6

Video Guide by CHEP : https://www.youtube.com/watch?v=TroPjdkSEOY (Video guide doesn’t include manual leveling, do make sure you do manual bed leveling after adjust the z offset)

Unless your system is well tuned, please use the firmware above instead of high speed. Slow Probe & 5 x 5, which is great for first time tuning.

[8th April] As for Smith3D firmware, we have depreciated our firmware & move on to Jyer firmware as it offer much better features & functionality.

For BTT Filament Sensor & Standard Filament sensor, do enable them
inside Control > Advanced > Filament Sensor/Runout Distance

If you have never change your motherboard, it’s 4.2.2 by default

For 4.2.2 5×5 (High Speed) – download here
For 4.2.7 Board 5×5 (High Speed) – download here
For more info regarding this release
For people who’s suffering random probe fails, please refer to the FAQ below for z switch port firmware.

If flashed & auto leveling doesn’t work, please reset configuration (Control > Restore Default) or try to flash again with different filename. If you are getting Black screen, do format your MicroSD Card to FAT32 and rename the firmware & try again.

Older Build (V1.2.2)

If you are facing issue on newer builds, you may try the older build

What’s BL Touch High Speed Mode?

  • The high speed mode probes multiple points without stowing the needle, making it much much faster. But also prone to crashes if your bed is severely slanted. Please make good use of Manual leveling before you try this.

For Ender 3 V2 no bootloader installation is required. Copy the firmware into your SD card and then slot it in, the printer will begin flashing once you reboot it. Do remember that you need a different filename each time you flash a new firmware eg. firmware1.1bin > firmware1.2bin, else the system will ignore it.

For user who would prefer official firmware from Creality, you may check this guide here

Some UI customizations the community has added

For Manual Leveling, please refer to CHEP guide https://www.youtube.com/watch?v=_EfWVUJjBdA

Some other features were offered compared to Stock firmware

  • Turn on and off display during printing
  • PID Autotune Menu
  • Change Filament menu
  • Adjust probe offset, filament sensor in the menu
  • __h__m Time Format Setting

And remember to add “M420 S1” in Cura!

VERY IMPORTANT Add M420 S1; after the G28 in your start G-code in the starting G-code of your cura profile. To enable leveling on every prints. As the current marlin for Ender 3 V2 is unable to make “leveling enabled” persistent after reboot. M420 S1; Enable ABL (If you are getting error for Fade Height) This line of code always appear in other printer profile such as CR10SProV2/Ender5Plus where there is BLTouch built in.

You can also add G29 for Bed Leveling before every prints

Instead of adding the M420 S1 command above. You can replace it with G29 (Place it after G28). G29 basically starts a new round of auto bed leveling , good for users who would prefer a fresh bed leveling before every prints.

Nozzle Crashing Into Bed?

Steps to produce a good leveling

  • Once you setup the Probe Offset X & Probe Offset Y, Store Setting and go to Prepare > Auto Home. Make sure your probe is directly at the center of the bed.
Picture by CHEP
  • Start with Manual leveling to make sure the bed is leveled as much as you can, by manually adjusting bed spring. This is to reduce the amount of Z compensation ABL will need to apply when printing. Please refer to CHEP’s guide for how you can level your bed with a piece of paper. The firmware has included the buttons needed for printer to go to all 4 corners + center so you don’t have to do it via a gcode print file.
  • After the bed is leveled, get a good Z-offset by using the Prepare > Z-Offset. Remember to pre-heat your nozzle while using this as any remaining material stuck on nozzle tip might interfere the result while gauging with A4 paper. This tool will Auto home and then move Z to 0 to show actual Z offset. Prepare a paper to put between nozzle and bed, then try sliding it in and out, Microstep Up/Down & adjust Z offset until you feel a little friction between paper and nozzle. Use Home Z-Axis to double confirm if the z offset is the right one.
Picture by CHEP
  • Once you got your Z offset, go to main menu and press “Leveling”. It will probe 5×5 points and save the mesh to your printer.
  • Done and start printing!
  • Again, it’s very important to heat up nozzle to 180-200 while using Z-offset (if there is PLA in nozzle) Else the Z-offset will vary a lot depending on the leftover material stuck on nozzle tip.

What if you are not getting an accurate Z Offset from the Tool? (Live Adjust Z Offset)

Sometimes moving the Z axis up and down bit by bit might cause a little slippages, which makes the Z-Offset gauging with A4 paper inaccurate.

Picture by CHEP

If you want a better gauging result. We recommend user to adjust Z Offset via Tune during printing


Z-axis won’t budge

Pay attention to the wiring color, some wires are inverted. If you are using 3rd party wiring, most probably the last two orange and yellow are inverted. You have to manually revert it back using a tweezer.

Black Screen of Death after flashed

Please follow this reddit link for full guide on how to do a proper flash
In summary
– Use newly formated sd card, with only bin file
– Rename bin file
– Unplug & reconnect power cord

Bltouch probe not centered / change probe offset

adjust Control > Advanced > Probe Offset X & Probe Offset Y

Manual Leveled & still printing in mid air or nozzle hitting the bed

Use slow probe 5×5 firmware to see if the situation is improving, if not check if your M420/G29 is added inside the start of gcode. Use either G29 or M420. Remember to save setting after leveled.

Sometimes Probe doesn’t finish during leveling

Solution 1:
Some users has issue with the bltouch port. the trigger signal or ground is not attached properly. Connect the two pin to the z switch stop & flash the firmware below.

Download 2.0.x.17 ZSwitchStop 5×5 Fast Smith3d Marlin Firmware

Solution 2:
Try connect via Pronterface and check what’s the error code returned.

Summary (this reddit link explained in detail)
– Make sure bed not totally out of level, probe may out of reach or nozzle hit the bed first
– Check if your bed is badly warped
– Check if your bltouch pin is bent
– Check the XY axis wheel tension
– Check the Z axis for binding

Solution 3:
There is a resistor fix for this, you can solder a resistor and use the bltouch port.

Setting is not saved

Remember to click “Control > Store Setting” everytime you setup completed. Check if eeprom is deleted in SD Card.

OctoPrint Settings

Power Lose Recovery doesn’t work

Power Lose Recovery only works when it reached certain layer. check your SD card if there is a PLR file exist. PLR determine if to display the Resume Printing message.

Motor making noises and freeze during print.

This will happen if you just flashed the firmware & does not reset the configuration. Just turn off and on your printer will do, restore default setting. Another possible issue is the dupont connectors on the motherboard loosen, do hot glue the connectors in place or upgrade it to 5 pin JST connector.

Sometimes UI/ print progress bar does not reflect to the latest

Known marlin bug. Restart, press back, will do.

Can I use 3DTouch or BLTouch older than v3.1?

May not compatible, this firmware is optimized for BLTouch v3.1.

Where can I get the source code? How to compile?

Github Repository is here.

If you are having issue compiling your own marlin, remember to set default_envs = STM32F103RET6_creality in platform.ini

How to donate?

Please donate to Marlin Firmware & https://www.paypal.com/paypalme/jyers. Without them, there will be no great firmware for Ender 3 V2

What happens If I don’t want a BLTouch anymore?

You may revert your firmware to the official non-BLTouch firmware downloadable via this link – https://www.creality.com/download/32


  1. scrap my last. It is kind of working. albeit in reverse. If it has no filament it thinks it has. When you put filament in it thinks there is none. But getting nearer now.

    1. All working now. Happy owner with a nice little Biqu filament sensor doing exactly what it should. Again to you guys doing this stuff, big thanks

  2. Firmware. great. BL touch working perfectly. BIQU (simple limit switch type) filament runout sensor not working at all. Enabled in advanced menu and saved settings, But all that happens is the Light goes out when the filament runs out, but thats all, printer just carries on regardless. Anybody have a solution? It would be a nice option to have it working. Ender 3v2 on a 4.2.2 board if it helps any

  3. Hi, how does this firmware compare to the mriscoc firmware?

  4. Hallo,
    könntet ihr bitte eine Aktuelle configuration.h für die Smith3D-E3V2-2.0.x.14 bereitstellen.
    Ich möchte die Bauhöhe in der Firmware ändern, leider meckert VS Code rum das die config zu alt ist.


    1. We have moved to Jyers https://github.com/Jyers/Marlin/

      Do get it ya

  5. Firmware blows up when homing anything except the Y dimension.

    Running version E3V2-BLTouch-3×3-v4.2.2-v1.3.5 on a new Ender3 V2.

    Steps to reproduce:
    1. Prepare
    2. Homing
    3. Home X
    Firmware blows up with message: “Printer Kill Reason: Homing Failed Restart Required”

    Same result for homing Z or homing all.

    I’ve now cycled power perhaps 15 times dealing with this issue alone. This is not fun.


    1. check your wiring and motherboard if it’s 4.2.2

      For futher discussion please do open a thread in https://github.com/Jyers/Marlin/discussions

      1. Thanks! Will do!!


  6. Also:

    I have an issue with the Filament sensor setting.

    My sensor is operating backwards: meaning that if I select this option, I get a run out message where it thinks there is no filament loaded (not detected). If I remove the filament, or physically unplug the wire from the sensor, it works fine.

    Anyone else experience this & if so, how did you resolve this so the sensor works properly?

  7. I’m also having a problem with the auto bed leveling not working, or at least doesn’t seem to be applying the mesh to the print. I’ve added the M420 S1; after the G28 but doesn’t seem to affect the print. I am using PrusaSlicer-2.3.0+win64.

    Is there any documentation on the Mesh viewer, or a better explanation what the numbers and colors mean?

    1. figured out that red represents a negative number, Green represents a positive one. Now all I have to figure out is how ‘far out’ can the numbers be before the auto bed leveling doesn’t work.

      On the far right side (5×5) of my mesh diagram, the entire row is green (even after repeated manual leveling) of almost + 1.0

      I bought a new glass plate for my bed thinking the original glass was warped, but I’m getting the same results with the new glass as well.

      Any ideas why this is happening or ways around this would be greatly appreciated.

    2. Hi. I have that same problem. In which slot the mes is saved add it to the line of code.
      e.g it was saved in slot 0 for me. M420 S1 L0

  8. When you return to the main screen after the load filament option, everything disappears, it is necessary to turn the printer off and on again.
    Can you fix this problem?

  9. True live babystepping has been crippled with Jyers build. we miss the Smith 3D firmware as it is superior to all the others. Menus have been made 2 deep making it necessary for extra click to get somewhere fast. While many bells ans whistle features have been added and Jyers solved the LCD update issues… the base firmware Smith developed is still spot on and pretty much flawless.

  10. Hi,
    I tired the “2.0.x.17 ZSwitchStop 5×5 Fast Smith3d Marlin Firmware” as I was having issues with the main firmware. I can get this firmware to work but I can’t get OctoPi to connect to the serial port.
    I have also tried “E3V2-BLTouch-3×3-v4.2.2-v1.3.5” and I can connect Octopi with this firmware but can’t get the BLTouch to work as it doesn’t function connected to the BLtouch port.
    Is there a version that will work with Octopi that is compiled to the Z-stop port?

  11. Very good post. I absolutely love this website.
    Continue the good work!

  12. So, I tried to install this firmware, but it didn’t work for me. All I got to see was a black screen (left it on for an hour to make sure it didn’t just take longer 😛 ).

    I also tried formatting the micro sd card and giving the firmware file another name. None of that helped… Does anyone have an idea what could fix this issue?

    1. nvm, got it working… forgot to try to have only one file on the sd …

  13. I’m having this issue with the later firmware versions where the z-axis just won’t go down when it homes. It’ll home the x and y axes and then when it goes to home the z-axis, it goes up a bit, extends the BLTouch probe, and then instead of going down it just repeatedly extends and retracts the probe and then says homing was completed. Anybody know what the issue is here? Thanks.

    1. Nevermind I fixed it. Turns out I needed to have the black and white wires from the BLTouch sensor plugged into the same port as the other 3 wires from the sensor. I had them plugged into the z-axis stop from the old firmware version I was running.

  14. Hi. Will this also work with the CR Touch on the v4.2.2 (Ender 5 Pro)? Thanks.

  15. I actually had to revert back to 1.3.2 to get the ABL and the home Z axis to work again.

  16. Hey will you release your config and advanced config files please? I like your setup but need to make a few changes. Need higher temp 315 etc…

    1. it’s available inside jyer github ya

  17. Hi,
    this firmware has many nice features and I was happy for that untill I find out, that my leveling is not working.
    I tried firmware 4.2.2 3×3 and 5×5 HS. I tried add G29 after G28. I tried create new mesh and then add M420 S1 after G28. In mesh viewer I see nice mesh (I believe with correct values). Everythink is without problem untill my print begins. Mesh is not applied during printing. I tried flash firmware fewtimes, I tried reset settings. Still same problem, z-axis does not work to fix level…only one correct point is in the middle where I set z-offset. Has anyone similar issue? Could someone help me? Thank you very much.

    1. I have the same issue

      1. Check if you have added wrongly. if M420 S1 doesn’t work, means the command in gcode cannot be read. try G29

    2. im having exactly the same issue as you are. annoying as i cant seem to find a fix

    3. Did you find a fix for this? I’m having the same issues

  18. I only get a 3×3 mesh with V1.3.5
    How can I change to a 5×5 mesh?

  19. Hello, I wanna say thank you for releasing this firmware for us. I’ve been using it for a while and it works great. I’m planning on upgrading my thermistor and move to a direct drive. I need to select the correct thermistor in the Marlin firmware, is there a guide you can point me to to help me edit this in your firmware? Thanks.

  20. Hey man, I am having a slight problem with bed leveling. Here is the story, I 3d print myself a new direct drive extruder, I make sure the home offset and the probe offset are perfectly in the middle, the manual tuning 0-0 spot is perfectly where it should be but when i try to do the auto bed leveling the 0-0 spot is almost off the left side of bed on the x axis and on the y axis it is too far away from its spot

    TLDR ; Home offset perfectly in middle, Probe offset perfectly in middle, Manual Tuning is perfect in its spot, Auto Bed leveling is not perfect/wonky

Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Select your currency
MYR Malaysian ringgit