Bed leveling problem My start G-code:
M92 E128 ; Set E steps to 124 DEFAULT 130
M500 ; Store Settings
G28 X0 Y0 Z0; home all axes
G92 X-3.0 Y-12.0 Z-1.599; set home offsets
G1 X0 Y0 Z0.2 F3000 ; get ready to prime
G92 E0 ; reset extrusion distance
G1 X160 E15 F600 ; prime nozzle
G1 X180 F5000 ; quick wipe

Is used on a Creality CR 10 S5 with upgrades:

whambam systems print bed
micro swiss direct drive print head
BLTouch   (doesn't function correctly)


Auto home (nozzle is off the bed and too low, Z -3.99)
(When printing Start I used G92 X-3.0 Y-12.0 Z-1.599; to correct this in Cura 4.8
Raise the Z axis to 2.8
Did 4 corners and adjusted the screws at each corner
Everything is supposedly level at 2.8

Nope its not.
It is not level and the 3D print isn't right.
After months of messing with the screws I decided to get a BLTouch because everyone seems to do that.
I got it almost right but clearly in parts the nozzle is too close and generates small lumps or too high and gets stringy. The instructions have a broken download link.
So I finally get my BLTouch. (x2)
Attaching it wasn't a problem, but nightmares with the firmware.
So I had a 1.1.6 I got from the Creality web site and uploaded.
All the cables attached correctly, including disconnecting the Z axis limit switch and attachment of the BLTouch. Calibrated the BLTouch height screw.
Fire it up, and try to level it.

Goes to the center
Spins the Z axis downwards and never stops

Next up, reconnected the Z axis limit switch and not connect that part of the BLTouch.

This time it seems to level it, but via limit switch and not bed level.

At least I get numbers indicating some kind of level starting at the far right 4.96 with a high of 5.15 on the left front corner.  However, the limit switch triggers at -3.99 so actually the numbers should probably be lower.
Downloaded a new firmware, trying to level, Z axis motor spins upwards out of control
Download a different firmware, Similar to the 2nd last attempt, accept it forgot how to print correctly and only uses 250-500 on both the X and Y axis.  Also I don't think its printing what I wanted, It isn't the correct shape at all.
I tried 2 different BLTouch sensors.  Both had same results.
Any ideas about getting a good firmware?
Any ideas how to get BLTouch working correctly so I can level it that way?
Until it triggers the Z axis at bed level it probably won't work correctly.

I figured out later that the black and white wires needed to be reversed. So the bed leveling system is working, apart from the fact it isn't yet level.
However, the BLTouch firmware is mucking this up. It only wants to print from X, Y 250 to 500. So 75 % is unusable.
How do I fix this.  I spent hours tweaking the screws and still don't have great results.
To address the firmware problems, Download a fresh edition of Marlin 2.0.x and configure the Configuration.h and Configuration_adv.h yourself. Others' configurations are expecting fully stock parts, and will not be compatible with your system.
Your main problem seems to be in your Probe Z-Offset. To get good level, you need to calculate how far above the bed the nozzle is when the probe triggers. The BLTouch height screw is NOT for Z offset adjustment, and the Z-offset needs to be set with M851 in Marlin. See https://marlinfw.org/docs/gcode/M851.html for more detail on how to do this.
Additionally, the Z-MIN switch should not be connected when using the BLTouch, as it IS the new Z-MIN sensor.