While I can’t compare and contrast too many flight controllers, I used a PX4 FMUv5 controller when I first got started. It was adequate, and I don’t think a GPS-for-yaw mower needs much more. However, I upgraded to a Cube Orange and have been very pleased. I make significant use of onboard Lua scripting, and I can’t help but think the faster processor helps with GPS-for-yaw as well. @ktrussell used a Kakute controller up until recently, and he has likewise found that the Cube Orange is a good upgrade.
I used a Holybro plug-and-play GPS module for proof of concept. It was non-RTK capable, and as such, nearly useless for mowing applications. It did, however, prove that I was on the right track.
I then upgraded to a single Here2 M8P based module with an M8P base station. No matter how I configured things, I could never maintain an RTK Fixed solution (almost always RTK Float). Also, several combinations of magnetometers proved equally disadvantaged on a large steel rover with a combustion engine and spinning blades. I did some decent mowing with that setup, but it never achieved the kind of accuracy I really wanted.
The next step was a pair of simpleRTK2B Zed-F9P boards and a foray into GPS-for-yaw. I was on the bleeding edge when it came to practical use of GPS-for-yaw, which induced a lot of frustration, but I was able to finally reduce the magnetometer errors (and eventually completely eliminate them as the firmware matured). I REALLY like those boards and continue to use them today.
After I upgraded to F9Ps on the mower, I was still using an M8P base station, and RTK Float was still my usual mode of operation. As soon as I upgraded the base station to yet another simpleRTK2B board, everything really started to click, and the mower maintained RTK Fixed almost continuously.
For the price and the ease of integration into the ArduPilot ecosystem, I highly recommend the Cube Orange with Zed-F9P-based boards for all GPS needs in a mowing application. At a minimum, it’s a proven combination, and there’s a lot to be said for not reinventing the wheel (as tempting as it is sometimes!).