I got into configuring marlin firmware for my specific printer recently; due to its widely supported amount of boards, I can easily modify the newest version of marlin for my printer. At first, I was going to go with the original Marlin as a base but decided to work with Jyers Marlin, a modified version for the Ender 3 V2, which I don’t have. But I have very similar hardware as in the Ender 3 V2 in my Ender 3, the only difference being a different LCD type and a filament sensor. Thanks to marlin’s extensive documentation on their website, both are extremely easy to configure.
Once I could change the filament sensor and LCD type (post on that here,) I then ran into a slightly different issue. For some reason, the board that PlatformIO was not set correctly, and I had to change the default environment from STM32F103RET6_creality to STM32F103RE_creality, which fixed that issue. Another issue I had was a setting called FAN_SOFT_PWM, which needed to be enabled, and after some searching in the configuration file, I was able to find it, and enable it. After a couple of minor issues (Platform IO core bug, which was later resolved), I successfully compiled the code in VS Code with PlatformIO.
I published my fork on Github here: https://github.com/BillyDaBones/Ender-3_Upgraded_Jyers_marlin/releases
(please note: I am not a programmer, especially with Marlin configuration, use the firmware at your own risk.)