Upgrading printer controller
If you own a Raspberry Pi , you may first want to try Klipper firmware. This firmware does the heavy lifting on the RPi itself and sends commands to the printer board via USB. 

My Ender 3 pro works much better with this firmware.