Close

On Chip Pull Up Resistors Not Enough

A project log for WeMo Garage Door Opener

Connect a Belkin WeMo device to your garage door to allow open/close remotely, tracking door status, and integration with IFTTT

cdhcdh 09/16/2014 at 01:220 Comments

After adding the small capacitors on the long transmission wires with the reed switches, the stability of the Arduino was much better. Instead of freezing/hanging once a day, the frequency was now once every few weeks. But it still happened. So I put some more capacitors on the long wires but this time closer to the Arduino I/O pins instead of the ones I initially put on the reed switches. This caused other issues and made the Arduino not able to sense door status properly. Then I had the realization that it was not RFI interference anymore and that the likely culprit was the pull_up resistors I was using on-chip on the Arduino must be very big and not pulling up very "hard". So I changed the Arduino code to eliminate using those on PIN 4 and 6 (the reed switch I/O ports) and instead soldered in some roughly 350 ohm resistors between the I/O port and +5V (pull ups). I think this will pull up much harder and likely keep the 5V (ON) logic in place solidly when the reed switches are open (N/C). Time will tell, but I am thinking this is the last improvement :-)

Discussions