I have a ACS712 module that I am connecting to my Arduino Uno to read the current spike when my door bells rings (and then trigger some events in my "sketch").

In my country doorbells use the ~115 VAC at ~60Hz. So, I just opened the doorbell and connected the ACS712 module in series.

I do not know how much amperage my doorbell draws, but it is hardly the 30A supposedly supported by the module.

At this point I am not connecting the OUT pin to the Arduino, only VCC and GND to the +5V and GND of the Arduino Uno. (I am also tried connecting the OUT pin to A2 in the Arduino).

What happens is that as soon as I ring the doorbell the Arduino hangs up. Sometimes I even have to physically unplug the Arduino to get it back to life.

It doesn't necessarily happens in the first bell, but it does not survive 3 rings in a row.

The ACS712 chip is supposed to provide 2.1 kVRMS of isolation... it doesn't seem likely that the "kickback" from the bell would be 2100 VAC... so I cannot imagine how/why my Arduino is hanging up, when it is supposed to be completely isolated from the AC (that's the whole point of the Hall Effect current sensor).

I added some capacitors to the VCC/GND pins with no luck.

So... any ideas on 1) how to protect the Arduino from hanging up?, 2) what is making the Arduino hang up?.

  • 1
    Your second link to the reference sheet points to the downloads folder on your PC - we can't see there :) – AMADANON Inc. Jun 15 '15 at 1:30
  • How are you powering the Arduino? And what is the voltage (measure with a multimeter between VCC and GND) when the doorbell is pressed? If it drops much below 5v, the arduino may decide there is not enough power and shut down, to be reenabled when the power comes back. – AMADANON Inc. Jun 15 '15 at 1:35
  • 1) Powering Arduino: USB port of laptop to be able to monitor what is going on. 2) VCC voltage: I haven't been able to measure it (due physical layout, and also because the doorbell doesn't last even 1 second), also: why would the voltage change? the module is supposed to isolate the the two circuits. I'll try to measure it (again) anyways. – rufo Jun 15 '15 at 14:12
  • 1
    The module will isolate the doorbell, but the module will also use some power to do the measuring. I have had issues in the past where running a motor, which draws a high current, from a battery, caused the voltage to drop down too low for the Arduino to keep running. Some USB ports have over-current protection on them, resulting in the same effect. – AMADANON Inc. Jun 15 '15 at 23:23

There are two probable solutions to your problem:

  1. The ACS712 is a hall effect based sensor and also door bells have a solenoid attracting a hammer to hit the bell. Try and place the sensor away from the bell, this could avoid any possible magnetic interference. (This is less likely to happen but there is a fair amount of chance)

  2. May be, there is a problem with the code OR the laptops USB. Connect the Arduino to the sensor and the OUT pin to an analog input. Run the following code:

  void setup()
  void loop()

If this doesn't work, probably there's a problem with the sensor or the connections.

Give me more details about your connections, code and post a picture of your project for more help.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.