Electric motor starter causing Electron to receive false readings?


First time poster and Electron NOOB. I am trying to make a device to detect contacts closing in a float switch in a lift station and have it send a text message to multiple phones. I have an Electron mounted in a screw terminal breakout board from NCD. It works great on the bench (of course). My problems started when I put it in the field. First, some information about the lift station:

  • The control cabinet has a three phase, 100 amp, 208 feeder and a small transformer to pick off control voltage (120V), various controls, timers and alarms, and a GFCI receptacle.

  • The control cabinet has two NEMA size 2 magnetic starters. They alternate in use as needed. If an emergency happens (the highest float switch turns on), both starters pull in. There are several float switches, but only the highest one indicates an emergency. The other float switches pull in the motor starters as the fluid levels rise.

Basically I set a pin (D5) to INPUT_PULLUP and monitor it to see if it goes to ground. If so, it sends a txt.
I have a separate relay that closes a contact (grounds D5) when the highest float switch turns on. I have small power supply plugged into the GFCI and a battery for backup. All this works. My problem is that I get false alerts when either started pulls in.
Things I’ve tried so far:

  • Move the relay and electron to another weather proof box outside the control cabinet - No help
  • Put a ferrite core on the power supple cable - No help
  • Plug the power supply into a separate power source - No help
  • Run with just the battery - I received far less false alerts

Now I have the relay and electron in its own weather proof (metal) enclosure and disconnected the relay and power supply. It will STILL send txt messages out when either of the motor starters pulls in. This is without any power going to the relay that would ground D5! I can manually pull in the motor starters (relay still disconnected) and the electron will send a txt. It seems to me that the motor starters being pulled in is causing some type of EMI or something. I cannot seem to mitigate it.

Any thoughts would be appreciated.

Welcome to the forum @beachelec,
I don’t know the answer to your problems… but I can share my experience with Sewage Pump Stations.

I use the NCD Split-core CT boards & Particle Electrons:

  • You can measure the wet-well diameter and the distance between the Lead and Off floats.
    That allows the Electron to calculate effluent flow rates in GPM for each pump.

  • You can track influent flow rate (Fill Times) to demonstrate the impact of wet weather patterns, and even see the diurnal flow pattern every day.

  • You can track the total run-times for each pump.

  • You know that the station is in Lag Mode when AMPs are measured for both pumps at the same time.
    I usually add (1) additional High Water Float, just for my Device. That way I’m not actually connected to the existing Controls.

  • You can also identify problems with the pumps since you are logging the Running Amps of both pumps individually. As you know, Amps decrease if you move less water, so a clogged pump will draw less amps than it normally does, etc. If Amps increase for both pumps, it’s likely that the force main has ruptured.

With the simple CT board, you can gather tons of useful information about a pump station.
The main reason I like this approach is: you could smash the Electron/CT board with a hammer and know that it wont influence the Operation of the existing Control Panel in any way.

But- If you want to stick with what you have, you could try a long de-bounce.
When the Electron’s D5 gets pulled to Ground, don’t do anything just yet.
Wait a few seconds and check D5 again. If it’s still at Ground, then send the notification.

1 Like

Have you tried it with a stronger external pull-up?

How long are the wires on the D5 loop? (twisted together?)

Tried an RC circuit to filter it?


Thank you very much for your ideas and advice. I have thought about the monitoring the motors as well, but was trying to keep it simple as I learn more. I really like the long de-bounce idea. At first, I was checking for a high state. After I received so many false signals, I thought that checking for a ground would be less prone to EMI (if that is my problem).

Thank you very much again! I will let you know how it works

1 Like

Thanks for you time and advice! I think that would help. I will let you know.

1 Like

If you dont want to use the CT’s, you probably should go with @kenmacd advice.
Since you are monitoring Dry-Contacts, your interference is likely the effects of the large inrush currents from starting 3-phase motors. Your wires are antennas.

The safest bet is to protect the Electron from the possible Transient Voltage on your “antenna” wires, verse my suggestion of a software de-bounce :wink:.

Question to all: Would using a shielded cable to the Dry-Contacts (only grounded at Electron) mitigate this situation ?

1 Like

You will need to have a filtered power supply as you demonstrated with using a battery power supply. Suggest you power the electron off a LiPo battery and charge the battery through the electron. The other issue you no doubt have is that your ground plane is likely to move when the starters kick in. Using a battery supply will help with this. Any TTL digital signals should go through an opto-coupler or have a zener diode to protect the electron pin from over voltage and a small resistor in series to limit any spike current. I have had a lot of issues in the past with EMC from AC cables running near to signal wires. You should use shielded cable (woven wire is best) grounded at the electron end and make sure to keep signal wires away from AC cables especially high current ones. There are many good documents about how to avoid interference in signal cables. Depending upon your need for fast or slow reaction - a software based debounce with a long on period will give you a reliable signal.


Here’s a link that might prove helpful.

The folks at NCD are super helpful along with having great products!


A drain wire is never a bad idea when you’re looking at noise on the lines. It may be dry contacts, but there is logic at the end reading the state of the pin.


To all: First, thank you very much for the suggestions, advice and help. I would have gotten back sooner, but since the problem is erratic I wanted to make sure I posted correct info.

I added more resistance in the pull-up and still continued to have problems, but they seemed to not occur as often.

Finally I put a 4 second de-bounce in the code, got rid of my 120v coil relay (it was pulled in by a float switch) and used a set of contacts on a control relay in the control panel instead. I wired it with a shielded cable instead of the #12 THHN I was using before. It has run for a week with no false alerts.

I cannot be sure which corrected the problem. When I get more time, I will experiment and post my findings. Thanks again for all of the great advice. I love this place!



Stronger pull-ups would require lower resistance tho'


I misunderstood. I thought the idea was to increase the resistance to prevent weaker pulses from being detected.

@beachelec, a lower resistance allows more current to flow, reducing the affect of parasitic capacitance and inductance in the wires and thus the affect of stray RF signals. It is one of many ways to address the problem.


I got it. I misunderstood. I thought the idea was to increase the resistance to prevent weaker induced signals from passing.