Arduino Circuit Lifespan?

Hi, This is a curiosity question; How long can one expect an Arduino based circuit to operate maintenance free? This is, of course, given any battery/power concerns.

What's the longest you have had a stand alone project operate glitch free?

The aspect I'm considering is as an art installation. A set it and forget it type of proposal. I know this is hard to judge from many perspectives, but barring an industrialized construction method, what kind of lifespan could one expect from a simple, well built, code running circuit?

Thanks for you thoughts, Gary

Sorry, but the answer is: It depends.

The pure semiconductor components, like the microcontroller and other chips can live and run for 20 - 30 years without any problem, provided that they aren't destroyed by some event. Such event could be electrical discharge (ESD), or overvoltages from nearby switching devices or other transients like from lightning. So if your installation is well protected from these events the semiconductors won't be the problem. Exception: Permanent storage devices, like EEPROMs, or Flash have a limited number of write cycles (see datasheets). But this is only relevant of you are regularly writing to such storage devices in your application.

Another thing are electrolytic capacitors, which are aging. Their lifespan mainly depends on their environmental temperature. A rule of thumb says that each +10°C halfs their lifespan. So depending on the environmental temperature they can live from 2-3 years (hot environment) up to 10-15 years (cool environment).

The third critical aspect are connectors. The contacts of connectors tend to corrode. In combination with mechanical vibration this can lead to loose contacts over some time. Therefore good (expensive) connectors have gold plated contacts. Arduinos however have very cheap connectors.

So, to avoid troubles the environment should be free of mechanical shock and vibration with low temperature as well as low humidity. Connections to the Arduino board should be short. If longer cables are needed the inputs and outputs should be protected against overvoltages or even better, electrically isolated (optocoupler, relay...).

Hope this helps Wusaweki

put another way, your circuit should last as long as any other electronicical things on the market. barring issues with lead free solder failures, and heating and cooling solder cracking, an issue with any electronical things. y

you should be able to expect as many years out of your project as any commercial things. clocks, TV sets, etc

Hi and Thanks! for the quick replies. This is as I suspected. I guess then, more to my concern/uncertainty is the code itself. So with the expectancy of component failure aside, the Arduino running the code, one shouldn't expect anything less of it? The code should be expected to execute without incident until an internal or external component failure. As with any normal laptop, iphone, coffee maker...

Code runs, or code fails initially, period.

And thank you @Wasaweki, I had not considered IC plug-in corrosion. Might be best to solder it to the pc board. Or treat it with some dielectric silicone? I tend to make all my other connections would be with failure in mind already.

In the case I'm considering though, an 'art' environment is generally one of the best of protected areas. Temperature and humidity controlled. Generally free of bad handling.

I wonder too, would a bit of grounded shielding not be a good idea. Probably over kill, but you may guess, I like to consider the possibilities.

Thank you too, @dave-in-the-nj. Gary

gwn3000: Code runs, or code fails initially, period.

Depends on the code. You have to be careful to correctly handle every possible state. For example, you can write code that fails when millis() flips back from 4 billion to zero. That is a bit under 50 days.

Yes, printed circuit boards last longer than jumper wires and are easier to replicate in case of expanding the installation or installing in multiple locations. The most crucial thing is always the code. Other things have longer life spans than long code written by beginners. I can write a short code to blink LED patterns and expect it to run as long as the electronics are still working. If I start adding in logic and other stuff, that confidence goes straight down. Nothing lasts unless tested and retested. Deal with unexpected things gracefully in your code. Don't assume optimal conditions like arduino folks always do.

For the code. Of course, as Jobi-Wan and liudr already mentioned, systematic errors in the code itself can also lead to unexpected faults of the installation. A simple loop that only reads some inputs (from sensors), does some logic and writes back the results to the outputs (actors) normally is no big deal. But more complex software, where you need interrupts, timers or even dynamic memory allocation needs much more carefulness. It can contain errors that only arise very seldom or after long time so that they will not be detected during test phase. So better keep the code simple and stupid and forgo these methods whenever possible.

Hi,

Also look at "Arduino Watchdog" .

IF your code stops running for ??? reasons, Watchdog can restart it.

AND look carefully at your Setup / Startup code. Make sure it can recover and restart if the power goes off in various points in your code...

in other words, it can take our an hour to mess up one solder connection. but the code can repeat an error over 100,000 times a minute !

what many folks do is to post their idea and ask how to get it down others figure how they want to do it, then ask for help getting it done the way they think. some others, make very poor assumptions and write horrible code, then only as a very specific question, usually one that is unanswerable.

I would offer that if you told us what you wanted to do, spin a mobile or light some street lights in a painting or some such, we could help you keep your choices more on the side of long life and zero maintenance.

May I suggest the weakest link will be your power supply to the Arduino? I just replaced a 12 volt, 5 amp supply for my Arduino/Peltier solder paste storage box. Keeps cold, except for Monday-Friday at 7am when it heats the solder paste tube for use.

The Chinese/Ebay supply lasted about a year of pretty continuous use. Then one of the electrolytic capacitors in the supply developed a bulge and shorted and took out the fuse. Hope the new supply does better!

Paul

I have had 12 prominis running at my fencing club since Jan 2011. They get powered on & off 3-4 times a week from one central power strip. Each has its own wallwart. They run 2 hours at a time generally, sometimes longer. No code issues yet. Being on full time would be even easier on them. Temperature range varies from 55F in the winter to as has as 94F in the summer (and probably hotter unpowered, we don't fence when it gets that hot (no AC there).

Paul_KD7HB: May I suggest the weakest link will be your power supply to the Arduino?

And, more specifically, any electrolytic capacitors.