Compile error 1.1.9.1+Ender 3+BLTouch+E3D V6

I am trying to upgrade local university Ender 3 with v 1.1.3 board, with a BLTouch and E3D Hotend. Using Marlin 1.1.9.1 to allow SD card use, and enable safety features. First time I have worked with any of this, have never even used a 3D printer. Basically, the error says I have not defined my SEERVO0 pin. I thought this was done by selecting the board type. Any help, please?

____Compile Error
Arduino: 1.8.12 (Linux), Board: “Sanguino, ATmega1284 or ATmega1284P (16 MHz)”

In file included from sketch/MarlinConfig.h:32:0,
from sketch/G26_Mesh_Validation_Tool.cpp:27:
sketch/Configuration_adv.h:415:0: warning: “BLTOUCH_DELAY” redefined
#define BLTOUCH_DELAY 500

In file included from sketch/MarlinConfig.h:32:0,
from sketch/I2CPositionEncoder.cpp:31:
sketch/Configuration_adv.h:415:0: warning: “BLTOUCH_DELAY” redefined
#define BLTOUCH_DELAY 500

In file included from sketch/MarlinConfig.h:32:0,
from sketch/Sd2Card.cpp:29:
sketch/Configuration_adv.h:415:0: warning: “BLTOUCH_DELAY” redefined
#define BLTOUCH_DELAY 500

In file included from sketch/MarlinConfig.h:32:0,
from sketch/M100_Free_Mem_Chk.cpp:49:
sketch/Configuration_adv.h:415:0: warning: “BLTOUCH_DELAY” redefined
#define BLTOUCH_DELAY 500

In file included from sketch/MarlinConfig.h:30:0,
from sketch/I2CPositionEncoder.cpp:31:
sketch/Conditionals_LCD.h:476:0: note: this is the location of the previous definition
#define BLTOUCH_DELAY 375

In file included from sketch/MarlinConfig.h:30:0,
from sketch/Sd2Card.cpp:29:
sketch/Conditionals_LCD.h:476:0: note: this is the location of the previous definition
#define BLTOUCH_DELAY 375

In file included from sketch/MarlinConfig.h:32:0,
from sketch/MarlinSerial.cpp:36:
sketch/Configuration_adv.h:415:0: warning: “BLTOUCH_DELAY” redefined
#define BLTOUCH_DELAY 500

In file included from sketch/MarlinConfig.h:30:0,
from sketch/M100_Free_Mem_Chk.cpp:49:
sketch/Conditionals_LCD.h:476:0: note: this is the location of the previous definition
#define BLTOUCH_DELAY 375

In file included from sketch/MarlinConfig.h:30:0,
from sketch/MarlinSerial.cpp:36:
sketch/Conditionals_LCD.h:476:0: note: this is the location of the previous definition
#define BLTOUCH_DELAY 375

In file included from sketch/MarlinConfig.h:32:0,
from sketch/Max7219_Debug_LEDs.cpp:38:
sketch/Configuration_adv.h:415:0: warning: “BLTOUCH_DELAY” redefined
#define BLTOUCH_DELAY 500

In file included from sketch/MarlinConfig.h:30:0,
from sketch/Max7219_Debug_LEDs.cpp:38:
sketch/Conditionals_LCD.h:476:0: note: this is the location of the previous definition
#define BLTOUCH_DELAY 375

In file included from sketch/MarlinConfig.h:30:0,
from sketch/G26_Mesh_Validation_Tool.cpp:27:
sketch/Conditionals_LCD.h:476:0: note: this is the location of the previous definition
#define BLTOUCH_DELAY 375

In file included from sketch/MarlinConfig.h:32:0,
from sketch/Marlin.h:35,
from sketch/Marlin_main.cpp:258:
sketch/Configuration_adv.h:415:0: warning: “BLTOUCH_DELAY” redefined
#define BLTOUCH_DELAY 500

In file included from sketch/MarlinConfig.h:30:0,
from sketch/Marlin.h:35,
from sketch/Marlin_main.cpp:258:
sketch/Conditionals_LCD.h:476:0: note: this is the location of the previous definition
#define BLTOUCH_DELAY 375

In file included from sketch/MarlinConfig.h:42:0,
from sketch/Sd2Card.cpp:29:
SanityCheck.h:808:8: error: #error “SERVO0_PIN must be defined for your servo or BLTOUCH probe.”
#error “SERVO0_PIN must be defined for your servo or BLTOUCH probe.”
^~~~~
In file included from sketch/MarlinConfig.h:42:0,
from sketch/MarlinSerial.cpp:36:
SanityCheck.h:808:8: error: #error “SERVO0_PIN must be defined for your servo or BLTOUCH probe.”
#error “SERVO0_PIN must be defined for your servo or BLTOUCH probe.”
^~~~~
In file included from sketch/MarlinConfig.h:42:0,
from sketch/Max7219_Debug_LEDs.cpp:38:
SanityCheck.h:808:8: error: #error “SERVO0_PIN must be defined for your servo or BLTOUCH probe.”
#error “SERVO0_PIN must be defined for your servo or BLTOUCH probe.”
^~~~~
In file included from sketch/MarlinConfig.h:42:0,
from sketch/G26_Mesh_Validation_Tool.cpp:27:
SanityCheck.h:808:8: error: #error “SERVO0_PIN must be defined for your servo or BLTOUCH probe.”
#error “SERVO0_PIN must be defined for your servo or BLTOUCH probe.”
^~~~~
In file included from sketch/MarlinConfig.h:42:0,
from sketch/I2CPositionEncoder.cpp:31:
SanityCheck.h:808:8: error: #error “SERVO0_PIN must be defined for your servo or BLTOUCH probe.”
#error “SERVO0_PIN must be defined for your servo or BLTOUCH probe.”
^~~~~
In file included from sketch/MarlinConfig.h:42:0,
from sketch/M100_Free_Mem_Chk.cpp:49:
SanityCheck.h:808:8: error: #error “SERVO0_PIN must be defined for your servo or BLTOUCH probe.”
#error “SERVO0_PIN must be defined for your servo or BLTOUCH probe.”
^~~~~
In file included from sketch/MarlinConfig.h:42:0,
from sketch/Marlin.h:35,
from sketch/Marlin_main.cpp:258:
SanityCheck.h:808:8: error: #error “SERVO0_PIN must be defined for your servo or BLTOUCH probe.”
#error “SERVO0_PIN must be defined for your servo or BLTOUCH probe.”
^~~~~
In file included from sketch/MarlinConfig.h:32:0,
from sketch/SdBaseFile.cpp:30:
sketch/Configuration_adv.h:415:0: warning: “BLTOUCH_DELAY” redefined
#define BLTOUCH_DELAY 500

In file included from sketch/MarlinConfig.h:30:0,
from sketch/SdBaseFile.cpp:30:
sketch/Conditionals_LCD.h:476:0: note: this is the location of the previous definition
#define BLTOUCH_DELAY 375

In file included from sketch/MarlinConfig.h:42:0,
from sketch/SdBaseFile.cpp:30:
SanityCheck.h:808:8: error: #error “SERVO0_PIN must be defined for your servo or BLTOUCH probe.”
#error “SERVO0_PIN must be defined for your servo or BLTOUCH probe.”
^~~~~
sketch/Marlin_main.cpp: In function ‘void servo_init()’:
Marlin_main.cpp:981:5: error: ‘STOW_Z_SERVO’ was not declared in this scope
STOW_Z_SERVO();
^~~~~~~~~~~~
sketch/Marlin_main.cpp: In function ‘bool bltouch_command(BLTCommand, const millis_t&)’:
Marlin_main.cpp:2092:7: error: ‘MOVE_SERVO’ was not declared in this scope
MOVE_SERVO(Z_PROBE_SERVO_NR, cmd);
^~~~~~~~~~
sketch/Marlin_main.cpp:2092:7: note: suggested alternative: ‘NUM_SERVOS’
MOVE_SERVO(Z_PROBE_SERVO_NR, cmd);
^~~~~~~~~~
NUM_SERVOS
exit status 1
#error “SERVO0_PIN must be defined for your servo or BLTOUCH probe.”

This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.

So, decided to start anew. To verify compiler (Arduino IDE 1.8.12), I started with the vanilla example files for the Ender 3, and compile them. It worked, with a file size of 232,026 bytes. I ten enabled #define BLTOUCH, and got the error about SERVO0 PIN not being defined. I then added #define SERVO0_PIN 23, using pin 23 based on a schematic showing Z_STOP being pin 23, and it then compiled again and got a hex file with a size of 359,987 bytes.

I would like to verify pin 23 is correct for SERVO0 before I try this file. If it works, I will then start enabling safetys one at a time until I get more errors, or not. Once that is done, I will move on to the E3D V6.

OK, I’m doing it the hard way. The online sources are too contradictory, so I traced out the motherboard and Creality adapter board manually and tied it to the ATMEGA1284P and BLTouch pin-outs from the data sheets.

Turns out the adapter board is high-jacking the Beeper, pin 33. Why, with so many unused pins? The BLTouch sheet I got from their site gives some options. A2 goes to EXT-A2 on the motherboard, which just has a 100u cap installed from pin 1 to 2. I am going to remove the cap, place a connector (as was designed), and plug the BLTouch in there. It is a perfect match: VCC, GND and SIG. That will place SERVO0 on pin 35, and leave the Beeper intact. That is, if I am understanding all of this correctly with the poor or second-hand documentation I am having to use.