ACS current sensor boards, shielding?

Is there any type of shielding product available or that can be described to magnetically shield the ACS series of current sensors?
I’ve read online that the toroid style sensors (with the feed through sensed wire) can be shielded via adding a coil, to eliminate external magnetic fields.
(see 2/3rds of the way down this page where it shows adding a ferrite ring;
For example, a Hall sensor integrated into a ferrite ring (as shown) can reduce the detection of stray fields by a factor of 100 or better
(as the external magnetic fields cancel across the ring, giving no residualmagnetic flux). This configuration also provides an improvement
in signal-to-noise ratio and drift effects of over 20 times that of a bare Hall device.
What can be done to shield this Pololu board style sensor?

Does anyone know if these are used in any significant volume by any manufacturer? Who I might be able to contact for information on how they shielded the sensor?

The only feedback I’ve had on the internet so far is just to calibrate it out at one position. While that can work for the bench, I have other concerns described below.

My testing shows that the orientation of the part as delivered by Pololu appears to be sensitive (affected by) the earth’s magnetic field. I believe I’ve ruled out any other source except perhaps body capacitance, but even for that I varied the orientation of the part to my body.
However it was moved the values read vary consistently (ie, 100% reproducible) with orientation to the earth.

The connecting cable, the processor board, and the surrounding environment (ie positional aspects about each) were varied and have no effect on the values read.

The value drifts about 14 counts when the board is rotated with respect to earth/ground in the following manner. board is level, chip side up. rotate on an axis through the center of the chip along its length (ie, raise VGO connector end while lowering sense wire end), or more loosely in a larger arc/loop. Or rotate about the orthogonal axis in the board plane. When the chip is facing down the counts are the lowest, when facing up, the highest. Rotating the board in the board plane varies the output by only a few counts.

My intended application is in an electric snowblower, and of course there is a relatively large rotating mass about 2 feet away, with small variation in speed when in operation, and a motor controller and motor nearby. I haven’t yet tested it in that environment. I will be using a 30A unit in that application, I’m currently testing with the 5A on the bench.

Thank you in advance for any advice.

Hi, Chris.

I don’t have any suggestions for shielding the sensor, but you might consider contacting the sensor manufacturer, Allegro.

Which part number are you using, and how much current does “14 counts” correspond to? How much precision does your application require?

Ultimately, I suspect that the Earth’s magnetic field and local fields from your motor are going to be dwarfed by the fields from the current passing through the sensor, and the 30A version should be affected much less than the 5A version simply due to its decreased sensitivity (the effect will be the same in terms of current, but much less in terms of counts/output voltage).

- Ben

The best shielding is “one over r squared.”

Unfortunately the application (an electric snow blower) must stay in contact with the ground/earth, so launching it into the air isn’t a solution, jwatte.


I’m currently seeing this issue on a ±5A unit. Note this is offered (I assume only?) by Pololu, versus the bare chip (ie, contacting the manufacturer). I’m looking first for an off the shelf, preferably from the vendor/manufacturer, snap/bolt/glue on solution. Allegro isn’t going to solve Pololu’s carrier-based issue, unless it happens to be a copy of a reference design and implementation they provide. Is it?

14 counts on this part is around .1A if memory serves. I’m using a MCP3208. 4096 is mapped to 0-5V, but operationally limited to the range of the sensor ±5A via 187mv/A. The exact value isn’t as important as I’m interested in minimizing error since I want to calculate energy usage (when combined with an accurate voltage estimate). So I certainly want better than up to .1A of error from position. I’ve seen commentary on the web where the part is used with 2 counts of error. That is sufficient. I can filter some noise, but I don’t want to add a sensor to detect orientation to map that random drift contribution out - a snowblower moves except when charging.

How about my other questions re: volume sales and contacting volume customers for a solution? I’m a home hobbiest and can sign a ND if necessary.

Elsewhere on the internet someone posted a reference to a Melexis sensor (non-contact) which clearly defines the requirements for shielding.


Hi, Chris.

I think you might not realize that these Allegro current sensor chips have an internal current path, which makes them different from some of these other sensors you are mentioning since they are not trying to measure a magnetic field external to the chip. That might be what jwatte was getting at with his inverse squared comment: the sensor is very close to the current-carrying element because both are inside the chip. Therefore, our carrier should not be particularly relevant since it is just making the surface-mount chips a little more accessible.

I was skeptical of your measurements, but the sensor datasheet mentions 12 G/A magnetic coupling, and I see on Wikipedia that Earth’s magnetic field can be up to 0.65G, so perhaps Earth’s magnetic field could give you 0.1A worth of interference across the worst cases. The Melexis app note you reference looks like it should be applicable to any general magnetic shielding, but we do not have any experience with that kind of thing. I do not know of anyone we could refer you to who uses these sensors in volume.

How much accuracy do you need, and have you already analyzed doing it the more typical way of measuring voltage over a known resistance? You are talking about 14 counts on a 12-bit range, which is about 0.3%. The sensor itself only claims 1.5% accuracy, and even decent meters don’t get much better than 1% for current sensing accuracy. I think doing much better than 0.1A resolution and an accuracy within a few counts (where a count is 0.1A) over ±30A might get expensive.

- Jan

Yes – the current being measured is very close to the actual detector inside the chip. Any other source of magnetic field is likely so far away that the r-squared proportion makes it insignificant.

If you really need to compensate for Earth’s magnetic field, mount a 3-DOF compass sensor somewhere on your device, ideally away from main current paths (one-over-r-squared again) and use that as a measurement of Earth’s field, and subtract the dot product between that and how you know the current sensor is oriented, for a compensated value.

Thank you for your time responding to my post.

I only have data on the ±5A unit. According to your web page it has 187mv/A, with a ±5A rating, so that is 1.87V peak-peak. If I have the 12-bit set to 0-5V as described that is about 1532 counts peak-peak. The 14 counts is drift of 1% of range just from orientation, not 0.3%. I do not know what the effect is on the ±30A. I’m not expecting 0.1A on a 30A unit.

Is my part good? Has customer support at Pololu duplicated the effect? I only have one ±5A unit on hand.

I was testing this Pololu unit as it saves space on my project and places the sensor at a desired measurement location. I have a breadboarded V-F circuit that can sample off a shunt, but I would also need an isolated power supply for that too (space-wise, I have that breadboarded too). And I have 3 currents to sample. Using the off-board current sensor with a MCP3208 fits well and allows for temps and other inputs. I was just surprised to find the orientation drift and the lack of a shield product for the Pololu form-factor. Assuming you have some volume in these parts, if others were interested would Pololu bring something to market that would work directly with your board? Assuming you can duplicate the effect and it isn’t a defect of some sort in my unit’s PCB or something.


We put a unit on a meter and got about 10mV of variation just from changing the orientation, so that seems pretty in line with what you are seeing.

The 12G/A is a common spec for both the ±5A and ±30A versions, so this orientation sensitivity should be less of a factor on the higher-current version.

- Jan

Yesterday I tried the same test, as reported previously, on a 30A sensor and found an orientation drift of up to 5 counts, similar to but smaller magnitude than the 5A unit.

I have yet to test it in the blowers area to see what additional noise is picked up without a shield. I will test it against a control.

Thanks for running a meter test and confirming the error.