19. How to Upgrade Ender3 firmware for BLTouch3.1?
After assembling the Ender3 (Board v 1.1.4) for the first time, I checked the firmware. It was version 1.1.6.2.

After a while, I decided to install a bootloader and then install the unified firmware version from TH3D. Please refer to this post on how to do that for details.
Recently, I bought BLTouch since I was done with Manual bed leveling (Amazon, Creality). Not that manual bed leveling is impossible to do. It is just that the leveling task is highly repetitive and boring. That is precisely the kind of problem which can be handled better by machines. Hence, BLTouch.
Even though BLTouch is supported by TH3D, I thought I will install the official firmware from Creality and then set up BLTouch on it. I must confess, it was not easy until I figure out the correct steps and the correct version of the firmware. I did lots of mistakes and wasted time not because of lack of documentation but because of following incorrect steps unfortunately from the Official Creality youtube channel.
Here are the questions that needed answers:
Where to download the firmware? Source code compilation or precompiled source code in the form of .hex file? Windows machine or Mac machine? Vanilla Marlin or TH3D? Arduino method or ISP method? Firmware from Creality Github, Creality website link 1 pointing Creality Google drive link1, or Creality website link 2 pointing to Creality Google drive link2? Ender-3Marlin1.1.6BLTouch.hex or Marlin.cpp.hex?
The good thing is that I learned a few more things in this misguided journey and I would like to share the gist of my learnings with you.
Below are the steps:
- Install boot loader in case you have not done it yet. Here is an excellent reference.
- Use Windows machine as we are using ‘progisp.exe’ to flash the firmware
- Download the Ender 3 firmware from this link. I got it from the download link provided in the Creality BL Touch product page.
- Make sure you have the application installed in Windows to un-archive .zip folders and .rar folders
- Once you are done with the above steps connect the USB-ISP Programmer device that came with BLTouch to the Windows machine. Please refer to this video on hardware dis-assembly, firmware update. The video is for Ender3 Pro, however, most of it is applicable to Ender3 too. A word of caution: Please make sure to read this post completely before proceeding with the steps in the below video.
The Final Result



I used this STL for testing.
Additional Info:
- You may need to bend the Pinboard A’s pin as shown below:

- Even after bending it will be difficult to close the top lid in Ender3 as the corner of the fan touch the display cable. One solution is to print a spacer like this after installing BLTouch. This will need longer screws to fix.

- It may not be easy to unplug the display cable or the Z-axis cable as they are fixed using hot glue. Be extra careful.
- Once the firmware is updated and the BLTouch cables are not connected, you will hear a continuous beep. The beep will stop when you connect the BLTocuh cables.
What not to do?
- Pay close attention to the steps provided in the video while flashing the firmware.
- DO NOT refer to the any of the readme.txt or .doc or .ppts in the unzipped folders. Especially ‘isp flash the firmware(English).pptx’. For example, slide 8 in this ppt instructs us to modify the 3 fuse bits and then hit the ‘Read’ button while it is actually ‘Write’. The same mistake has been shown in the BLTouch Installation on Ender video by Creality.
- DO NOT refer to the Creality Video ‘Creality BL Touch Auto Bed Leveling Sensor Installation Tutorial’ for the firmware update on Ender3. Refer to that if you need help with hardware disassembly.
- While flashing, select the correct hex file — ‘Ender-3Marlin1.1.6BLTouch.hex’. By mistake, I selected ‘Marlin.cpp.hex’ which was in the same folder of ‘progisp.exe’ and I ended up installing a version that was compiled in 2016.

References:
Vanilla Marlin Firmware configured for Ender 3 + BLTouch
Installing a BLTouch on an Ender 3 Pro
ENDER 3 BLTOUCH 3.1 INSTALL AND UPGRADE GUIDE. Instructions on how to upgrade your sensor to bltouch
Creality BLtouch Ender 3 upgrade kit — Step by step guide with fixes
Creality BL Touch Auto Bed Leveling Sensor Installation Tutorial
New way to configure the BLTouch on the Ender 3 in 10 minutes or less
How to Install Bootloader & Creality Firmware on Ender 3 & Ender 3 Pro
How to Install Creality BL Touch Auto Bed Leveling Sensor Tutorial (Ender-3 Pro Upgrade Setup)