First up was getting the angle calibration working. This involved using six-phase control and measuring the reading from the Hall sensors, then linearly interpolating between the angles.
Once the angle sensing was working it is then possible to run the motor. It works well, if a little noisily.
Assembling up the 3 linear Hall effect sensors for testing the motor controller.
Finally the motor is running, the firmware still has a long way to go though.