Your schematic is posted in a too low resolutioin and I won't bother looking at it closely.
A few things I can say though:
If you want to build your SMPS properly and do the algorithms in software, then put a decent MOSfet driver chip between the uC and the FET.
There are also a multitude of SMPS supplys available from Ali / Ebay / Banggood / China / Etc nowadays for low prices.
It's hard to beat those with a home built design.
For example take the USD 25 DPS5005, which delivers up to 50V and 5A.
It's also got an STM32 in it, and if you want to toy with software you can have a look at the opendps project, which is on github as an alternative firmware for this thing.