Aiming at the low measurement accuracy of magnetometer, a high stability constant current source circuit is developed to drive indium arsenide Hall sensor, designs a self stabilizing zero preamplifier to pick up the magnetic field signal, and uses a low-noise circuit structure to adaptively adjust the signal amplification to make the magnetic field signal reach the highest signal-to-noise ratio. After analog-to-digital conversion with high-linearity ADC, the least square method is used to correct the nonlinearity caused by the hall sensor, so as to improve the accuracy of the magnetometer in the whole range. Through verification and test, the accuracy of the magnetometer is better than 0.5% within the measuring range of 3T, which meets the requirements of high-precision magnetic field measurement in industrial production.