Is compass calibration needed when swapping compass?

If I buy 10 GPS/Compass units (say the M8N here http://www.proficnc.com/system-kits/76-gps-module.html) and I calibrate once. If I swap one unit for another (same set of 10), do I have to redo a compass calibration?

Yes. And I need 20 characters.

What’s the logic behind having to redo the calibration given the exact same hardware module?

It seems like it shouldn’t be a big deal in a hobby application, but with industrial (i.e. larger volumes) or large heavy vehicles, having to calibrate is a nightmare.

By the way, in the case of the 3DR Solo, how is it being done? They can’t be possibly calibrate every single unit before it’s shipped.

For Solo, every single vehicle was fully calibrated then test flown before packing

Yes this must be carried out for each vehicle

What’s an order of magnitude for the number of units that went through that process?

@proficnc: Also, how many compasses does the Pixhawk2.1 have? Your website says “3 x magnetometer” but I was always assuming this meant mag X, Y and Z? Now my Mission Planner is seeing 3 compasses. Config is PH2.1 with Here-GPS.

More specifically, here are the 3 COMPASS_DEV_IDs I see, and their decoded description (https://raw.githubusercontent.com/ArduPilot/ardupilot/master/Tools/scripts/decode_devid.py)

COMPASS_DEV_ID decoded devid
723977 DEVTYPE_ICM20948
131874 DEVTYPE_LSM303D
263178 DEVTYPE_AK8963

Disconnecting the Here-GPS from the PH2.1 makes the 723977 line disappear and we’re left with the other two. This seems to suggest PH2.1 has two compasses? This document only talks about the LSM303D: http://www.hex.aero/wp-content/uploads/2016/07/DRS_Pixhawk-2-17th-march-2016.pdf

ArduPilot doesn’t enable the third compass internally.

Yes there are three