Hi Bruce,
Sorry I haven't gotten to your email yet. I don't have a good recommendation for a uBlox 8 series receiver with external antenna. Most manufacturers include only a patch antenna and expect the receiver to be remote mounted. Another Teensy Backpack customer (AllanGH on the forum) has this breakout:
https://www.sgbotic.com/index.php?dispatch=products.view&product_id=2386
It looks like it would work well and has an external antenna, but I have no first hand experience with it. Similarly, CSG Shop (
https://www.csgshop.com) has some boards that look promising (external antenna and breakout to 0.1" headers for power, ground, and UART) like this one:
https://www.csgshop.com/product.php?id_product=187
They tend to be more expensive and I don't have first hand experience with their 8 series boards. Any uBlox 8 series board should be compatible with my uBlox library:
https://github.com/bolderflight/UBLOX
PPS isn't currently used in the 15 state EKF - the GNSS data is applied as a measurement update to the current IMU data at the timestep when new GNSS data is detected. Any propagation delay in the GNSS receiver or the communications interface leads to some error and needing to use a higher uncertainty value (i.e. covariance) for the GNSS measurements. I've thought of using the PPS signal to apply the measurement update to the corresponding set of IMU data, which should remove this source of error, but I haven't gotten around to it yet and I'm not sure that it would make a noticeable difference on the filter output given the inaccuracy of the GNSS position measurements anyway. I think this may become more important when the newer dual band GNSS receivers become available - we're expecting dm levels of accuracy and at that point, taking care of the propagation delay might be worthwhile. But at this point there's so much uncertainty in the GNSS position measurements that I don't think it would make a difference.
Stability with the EKF 15 state INS filter is quite good if there is motion. Both filters (AHRS and INS) need motion for their estimations to work properly. For very low dynamic environments, something like a tilt compass would be more appropriate. The AHRS suffers due to its reliance on magnetometers, their susceptibility to noise, and the poor resolution of the MPU-9250 magnetometers. The 15 state INS filter here does not use magnetometers for heading. I don't think adding an extra layer of obfuscation through the tindie board would help, it wouldn't be able to run the INS filter presented here, so you'd be trying to cobble together the attitude estimate from the tindie board with the position and inertial velocity estimate from the INS. You would be estimating accelerometer and gyro corrections, but wouldn't have a method of applying those back to the tindie board to generate a better attitude solution. I think it's a good product for what it is - a low cost attitude solution, but it would be more accurate to have the 15 state INS filter estimate all of the states, including orientation, rather than that board.
Brian