Ender 3 Pro Firmware for Mesh Bed Leveling, PID Tuning, CR Touch 4.2.2 Board
There are many different options for Firmware. I installed the first three of these at different times, and had to build Marlin and TH3D from source myself.
Frankly I think building firmware is one of the worst parts of 3D Printing, if printing is your ultimate goal. It's a hassle, and constantly changing the values and getting it to work right, then updating it when new code is released, reconfiguring and building it on your computer
IF you are into writing code, and if you really want to learn every single possible option (though be warned, that includes options that could damage your printer!) then you can certainly compile it yourself.
That said, nobody seems to be building Ender 3 Pro optimized firmware. So I went ahead and did it - focusing specifically on this printer, with or without CR Touch. You can check it out here - Ender 3 Pro Optimized version of Marlin Firmware
What If I Do Want to Build My Own Firmware?
Here's a short discussion of your options. The firmware page I linked above is essentially option #2 taken care of for you
- Creality Marlin - This is the firmware that comes on your printer, and occasionally gets updated. It is already built, but has very limited options enabled. It is available at https://www.creality.com/download. It is a bit of work to navigate the site. It seems to be based on an older version of Marlin with many features disabled.
- Marlin from Source - See https://github.com/MarlinFirmware/Marlin. I would not recommend using this just yet. It is straightforward to install a new firmware if someone provides you the pre-built file (as discussed in this firmware install guide), but building and configuring Marlin on your computer is a fairly involved project - whether you are currently a software engineer or not.
- TH3D Firmware from Source - TH3D is a customized version of Marlin with easier configuration file. https://www.th3dstudio.com/hc/downloads/unified-2-firmware/creality/creality-ender-3-3-pro-ender-5-5-pro-firmware-v4-2-x-board/. The build process is similar to Marlin above. One issue is I started with this firmware, but then switched to Marlin since it has more use in the community and is updated more often. While it is close, some options were different in the config, so you'll have to be aware of that if you also end up switching to Marlin.
- Jyers Marlin - I have read good things about this firmware for the Ender 3 V2, but have found little about it running on Ender 3 Pro. My understanding is that the code is the same as Marlin, but the configuration has been tuned to unlock a number of options for the Ender 3 V2. https://github.com/Jyers
- Klipper - this is a whole other animal. I haven't installed this myself, but I am in Klipper groups on Facebook. It is supposed to provide better performance, however requires an external micro computer like a raspberry pi and additional tuning. It is changing rapidly so for now I don't intend to try to keep this page updated with info on it
So with all that said, if you just want to install a firmware optimized for the Ender 3 Pro, you can check it out here - Ender 3 Pro Optimized version of Marlin Firmware