Go Down

Topic: Sudden unreliability with my network-enabled Arduino project [SOLVED] (Read 10512 times) previous topic - next topic



I've created a prototype device that opens/closes my garage door and gives me the status of it (open/closed). I installed it a few months back and it worked perfectly up until last month when we had a really hot week (the hottest since I installed it). Now it's unreliable. I can 'connect' to it (Android client app I wrote) over the internet/network every time I try just fine, but when I try to send a command (again, with the Android app after it initiates a connection) to close/open the garage door, it doesn't always work.

First, here's a link to pastebin for the Arduino code:


And here's a photo of the prototype installed near my garage door opener (near the ceiling):

And here's the Fritzing image:

So basically what's happening is that sometimes after I connect I will push the appropriate button on my Android app to send a command to either close or open the garage door, and it won't do anything. Sometimes it will after the 2nd try though. Sometimes it won't. I don't understand because like I said, it worked perfectly for a couple months, and nothing that I can think of has changed. Did the heat damage something? (I live in the Bay Area, California, USA...it  got to the upper 90s (Fahrenheit) outside, and so it would've been several degrees hotter in my garage) Or is it just coincidence? What would be the most likely component(s) to be damaged if the heat did in fact damage something? I'm so new at this still I don't know what to do or where to begin troubleshooting.

My only idea is to take it down and install a resistor and LED on another pin of the Arduino and modify the Arduino code a little to turn off/on the LED when the garage door has been opened/closed by the Arduino and if that works but it doesn't actually open/close it, then I can rule out the Ethernet Shield being damaged and I'll know that the problem is with the Arduino pin, or the transistor/relay part of the circuit.

Sorry if I have too little information (or the wrong information) on here, I didn't want to put up too much, so I just put up the basics. I can post the Android code too, but I already have a lot of stuff on this post it seems like.

Oh, one strange thing though that's probably worth mentioning - regardless of whether it responds to my commands or not sent from the Android phone, it will always send the correct status of the garage door upon initial connection, and it does change as it should if the garage door's status changes (via the 'old-fashioned' push button in my garage), so it almost makes me think that it's not the Ethernet Shield. But then I think, well maybe it is the Ethernet Shield still as the garage door status commands are being sent from the Arduino to the Android, whereas my problem is sending from the Android to Arduino...I don't know. I'm a little overwhelmed.



I'd suspect the relay beginning to stick or relay contacts wearing out.
Google forum search: Use Google Advanced Search and use Http://forum.arduino.cc/index in the "site or domain:" box.


But the relay was brand-new...but I'll check into it...could the heat have made it prematurely wear out?


But the relay was brand-new...but I'll check into it...could the heat have made it prematurely wear out?

Is the relay rated for the garage door current requirements? Looks kind of small.
Google forum search: Use Google Advanced Search and use Http://forum.arduino.cc/index in the "site or domain:" box.


Ohhhhh. Didn't think of that. I'll check into that too. Thanks!


Well, i just looked at my garage door opener and it says 5 Amps. And this is the relay I'm using:


I assume that it's the contact rating (5A) that I care about? As opposed to the coil current (91mA)? If this is the case, is it still too small because it's exactly 5A and should have room for play...like 6 or 7 amps or something?

I have yet to replace it still and see if that 'fixes' it as that will take me a little more time, but I definitely want to try it today.


As opposed to the coil current (91mA)?

91mA is far too high to be driving directly from the Arduino. Are you using a transistor in between?

What is that blue stuff just above the Arduino? Looks like tape. Check all joints to make sure that they are securely soldered. Heat can cause them to work loose.


Yes there is a transistor in between (the little silver-colored circular thing directly below the relay shown in the photo). The blue stuff is like a sticky putty...don't remember what you call it. It's keeping the gray, black, and red wires inserted in the Ethernet Shield because the board is mounted horizontally, so I didn't want the wires to work themselves out or fall out. I'll check solder joints too then. Thanks.


Ok, well I finally disconnected my device that is shown in the picture and brought it in to my room to test and look further. Strangely after I removed it from the wood backer and separated the shield, and put it all back together it seemed to work just fine all day long (in my room) (this was Friday). But even though it was working fine, I still added an LED/resistor to one of the pins on the Arduino and updated the code in the sketch to turn on and off that LED whenever it received a garage door open or close command. It all seemed to work fine (including the relay happily clicking away when it should) still in my room also with it happily turning on/off that LED whenever it received a close/open command from my Android. So I installed it back up in my garage near the opener and hooked it all up, and seemed to work all day (this was yesterday).

Then this morning it worked once, then it didn't work anymore. :( And what I dreaded may happen happened - the LED never turned on/off when I would send the open or close command. According to my 'deductive skills', this means that nothing is wrong with the relay/transistor or that pin on my Arduino, correct?. Which, in turn, means that I've got something else going on such as a problem with the Ethernet Shield maybe? Now I am very overwhelmed. I don't really know how/what to troubleshoot something as complex as that shield. :(

Any help/advice would be greatly appreciated...but please remember, I'm a noob, so the more detail, the better.



But even though it was working fine, I still added an LED/resistor to one of the pins on the Arduino and updated the code in the sketch to turn on and off that LED whenever it received a garage door open or close command.

but please remember, I'm a noob, so the more detail, the better.

That works both ways. "one of the pins" is not a lot of detail, I think you'll agree.

If if works on the bench, and not in the garage, then I would suspect a wiring issue.


Touche. You got me there. I just didn't think that it would be relevant, so I didn't mention that I put the new LED on Aruino pin 8 (so ATMega pin 14).

You know, it's funny. Shortly before you replied about the possible wiring issue, I remembered that I've been having another issue with another device. I purchased the parts for an OpenSprinkler device and put it all together last year, and have had problems with it ever since - from time to time it would just 'lock up' and i couldn't ping it or anything. It's driven me nuts for a long time and have not been able to figure it out...I just figured that it's something that I did (like something I broke while soldering everything in place). And I have an VoIP IP (PoE) phone that locks up from time to time. I just chalked the phone's problem to being cheap. But what I recently realized is that all 3 of these devices (the 3rd is my problem device that I'm most currently troubleshooting) are on the same switch - a NetGear 8-port (w/4 PoE ports) switch. So I'm wondering if this switch is bad.

What I did a few minutes ago is take that switch off of my network and moved things around to plug those devices into my other switches. So far, my garage door opener device is working great. (But that's how it usually starts off)

But we'll see, and I'll definitely be posting any updates (good or bad)...


Well that sure didn't last very long. Today my device was having the same problem, right off the bat in the morning so it wasn't even that warm yet. So when I got home from work I tested the cable and it tested fine. I used an STM-8 (http://www.siemon.com/e-catalog/ECAT_GI_page.aspx?GI_ID=tt_stm-8) cable tester. All 8 conductors came back fine with continuity, and no wires were crossed or anything.

The only thing I can think of I can do next is 'modify' my circuit/device even further and wire up an FT232R breakout board (http://www.sparkfun.com/products/718) so that I can hook it up to my laptop in the garage via USB and start outputting to the serial monitor what it's receiving when I attempt to send command to open/close the door from my Android app.

Even if I do this, I wouldn't know what to do next regardless of what I find - if I find that for some reason that characters/packets/whatever are getting dropped, I wouldn't know what to do, or if it appears everything is coming through fine, wouldn't know what to do.

Am I going in the next logical direction though as far as the best thing to do to troubleshoot my problem? Or should I try something else / look elsewhere?


I brought my device into my room, am powering it with  the same power supply (9V purchased from Sparkfun) and I have it on my desk vertically, just like when it's mounted/installed in the garage. (When I did all my testing in my room prior to originally installing into my garage I had it laying flat/horizontally). Should that even matter?

It seemed to work last night flawlessly (of course this was only over the span of a few hours), but I have a feeling it's not going to give me a problem in my room. Are there any other 'variables' that I should be looking out for?


I don't know where you are, or the environment in the garage, but how hot is it in the garage where it is mounted?

Is there a specific time of day it starts to fail?

Just a thought...


I thought the same thing because I didn't start having the problem (had it installed, running successfully with no problems for a couple of months) until we had a really hot week upper 90s Fahrenheit. And I'm sure it's even hotter in my  garage.
(I live in the Bar Area, CA, USA)

However, it gives me trouble in the mornings sometimes too when it is not hot at all - maybe like around the 70s.

Go Up