After several discussions on the topic of GPS yaw, direct UART communication between the uBlox boards seems to be one of the biggest stumbling blocks I’ve seen so far.
It is imperative that the rover and moving base communicate directly with one another, with the moving base providing RTK injects directly to the rover using the boards’ built in UART 2 ports. The flight controllers do not provide enough bandwidth/processing time for those injects to be passed through the controller successfully and at a high enough rate to support GPS yaw.
My ugly solution is pictured here. I wasn’t sure if it was going to be permanent (or even if it would work), so I soldered some female headers onto the UART 2 (TX2/RX2) pins of each board, and then secured jumper wires with some hot snot. They are the green and white wires pictured.
You simply connect TX2 from one board to RX2 of the other, and vice versa. ArduPilot’s GPS autoconfiguration should take care of the rest, so there should be no need to use uCenter to configure the ports directly.
If you’re using ArduSimple boards, also take note of the red jumper from IOREF to 3v3. The CubeOrange that I’m using and many other flight controller variants use 3.3V logic for serial communication, and that jumper is what provides the UART voltage reference on the ArduSimple board.