A self-correcting current transformer, comprising: a sensor coil of wire wound about a core , the leads of said sensor coil being connected to output terminals , said sensor coil being configured as a secondary coil having a number of turns, the core having a primary current carrying wire as a primary coil, the number of turns of the sensor coil being less than a target number of turns, to cause a secondary current induced in the sensor coil from current in the primary current carrying wire, to be greater than a target secondary current corresponding to the target number of turns, the target secondary current being the required secondary current for a known primary current; a measurement circuit electrically connected to the leads of the sensor coil, the measurement circuit being configured to sample the secondary current induced in the sensor coil as a measure of primary current in the primary current carrying wire, the measurement circuit being configured to determine an error signal based on calibration data generated during a calibration phase and stored in a memory of the measurement circuit, representing for a measured sequence of secondary current values how much greater said sampled secondary current values are than the target secondary current values; said target secondary current values being the required secondary current values for a sequence of known primary current values, and the measurement circuit being configured to output the error signal; and a current sink circuit electrically connected to the leads of the sensor coil, the current sink circuit being configured to receive the error signal from the measurement circuit and to shunt an amount of current between the leads of the sensor coil to reduce a magnitude of the secondary current output at the output terminals to match the target secondary current. a sensor coil of wire wound about a core , the leads of said sensor coil being connected to output terminals , said sensor coil being configured as a secondary coil having a number of turns, the core having a primary current carrying wire as a primary coil, the number of turns of the sensor coil being less than a target number of turns, to cause a secondary current induced in the sensor coil from current in the primary current carrying wire, to be greater than a target secondary current corresponding to the target number of turns, the target secondary current being the required secondary current for a known primary current; a measurement circuit electrically connected to the leads of the sensor coil, the measurement circuit being configured to sample the secondary current induced in the sensor coil as a measure of primary current in the primary current carrying wire, the measurement circuit being configured to determine an error signal based on calibration data generated during a calibration phase and stored in a memory of the measurement circuit, representing for a measured sequence of secondary current values how much greater said sampled secondary current values are than the target secondary current values; said target secondary current values being the required secondary current values for a sequence of known primary current values, and the measurement circuit being configured to output the error signal; and a current sink circuit electrically connected to the leads of the sensor coil, the current sink circuit being configured to receive the error signal from the measurement circuit and to shunt an amount of current between the leads of the sensor coil to reduce a magnitude of the secondary current output at the output terminals to match the target secondary current. <EOS>