Bltouch wiring to Creality 4.2.7 main board (Ender 5 Pro)

I’m in the process of replacing 1.1.5 board in my Ender 5 Pro with the 4.2.7 board. I had a Bltouch connected to the old board which connected to the 1.1.5 board with a three pin connector that went to a pin 27 board that piggy backed onto the screen port and a two pin connector that went to the x axis limit switch port.

I “corrected” the wiring of the cable I already had to conform to this post on reddit as my old cable was wrong.

The new 4.2.7 has a 5 pin port for the Bltouch on the main board. My question is which connection option to use(3/2 or 5). In some reading, people who create their own firmware mention some setting you make to determine Bltouch pin assignments before compiling . I don’t know what they are as I have never tried to create my own firmware.

I found a already compiled firmware on Creality Cloud named

Ender-5 Pro HW-4.2.7 SW-V1/4/1_BLTouch-TMC2225

dated 2022-03-25 which contains a .bin file but no notes that would tell me which cabling option to use.

I’m a little apprehensive because of several “magic smoke” comments about mother boards being “fried” because of wiring mistakes. I was hoping some members might be able to offer some insight on this choice or at least reassure me that if I try either one or the other (3/2 or 5) first first I won’t damage the new board.

Regards Tom

SOLVED – I finally came to the conclusion that I would have to compile the firmware myself because none of the precompiled firmwares I found worked, mainly because you don’t know what choices they made when the compiled it.
I believe the relevant choice in my case (how to connect the 3/2 bltouch wiring harness to the mother board) was #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN (see note below).
I have included my notes for compiling the firmware in case it helps someone else.
I really, really like Baby Stepping.

Compiling Marlin for Creality Ender 5 Pro

Changes to Configuration files (Configuration.h and Configuration.adv.h.)

#define BLTOUCH

#define AUTO_BED_LEVELING_BILINEAR

#define RESTORE_LEVELING_AFTER_G28

#define NOZZLE_TO_PROBE_OFFSET { -44, -9 }

#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

I believe this variable is the one that allows you to use the two pin

connector in the z limit switch socket on the mother board. The three

pin connector then goes to the 5 pin socket on the mother board.

Make sure that the three pin connector goes to the correct three pins

in the 5 pin socket.

Once compiled and loaded into my printer gave me a working BLTOUCH. Note that

you will need to know whether you have a 512k or a 256k board to determine which

environment to use when you compile.

If your CPU says RET6 on the line after STM32F103 it is a 512k board.

If your CPU says RCT6 on the line after STM32F103 it is a 236k board.

I also made the following changes

#define GRID_MAX_POINTS_X 5 //(changes from a 3x3 grid to a 5x5 grid)

I don’t level before every print, only once in a while, remembering to

store settings to EEPROM after leveling and including a M420 S1

in you start code after G28 this may not be necessary if you enable

#define RESTORE_LEVELING_AFTER_G28 in the config.

BABYSTEPPING

#define BABYSTEPPING

#define BABYSTEP_MILLIMETER_UNITS

#define BABYSTEP_MULTIPLICTOR_Z0.01 //(default is 1 change to 0.01)

#define BABYSTEP_ZPROBE_OFFSET //(updates Z probe offset automatically)

#define BABYSTEP_ALWAYS_AVAILABLE

I can’t remember if I enabled Z_SAFE_HOMING or if this was enabled

by default but it should be enabled.