Adjusting duty cycle for BLDC operation

MarkT:
A few observations:

Thank you for your suggestions. If I could take them each in turn.
I'm planning to use a small motor at around 30-50V to start with and then work up in motor size and power but I' building the control unit to be able to handle 400V and also, perhaps more importantly, the inductive spikes that will inevitably be encountered.

1.3M resistors: When it comes to using the 400V DC for the motor, what high voltage values are you suggesting and do they need to be >1W rating?

Caps on the analogue inputs to the Arduino (A2, A3): In the 10-100nF range?

500V FETs: It has been suggested that I place a 10uF non-electrolytic cap across the whole 400V DC supply to help soak up any spikes and, as the attached circuit shows (with some of your suggestions included in grey) there is already a Schottky diode across each FET to divert the spikes away. Will all these be useful?

Gate resistors: Would reducing them to 22R be an alternative? Otherwise, I can clamp the voltage with some 15V BZX85s

Decoupling and over-current protection: I'm not sure what decoupling the 400V supply would look like in terms of circuit and components. Similarly with the current sensing but if necessary I can revisit those ideas in the future.

Thanks

Jules